为多维数据集创建图表(表格)是销售、人力资源、投资、工程、科研、教育等许多领域的常见应用。为了执行常规分析和发现见解,人们花费大量时间构建不同类型的图表来展示不同的观点。这个过程通常需要数据分析方面的专业知识和广泛的知识储备来创建适当的图表。
有没有可能通过智能的方式来创建图表呢?近日,由微软研究院、北京大学和清华大学共同发表了一篇论文,文中提出的新型图表推荐框架 Table2Charts 可以高效地解决创建图表问题。
论文地址:https://arxiv.org/pdf/2008.11015.pdf
人们通常会创建不同类型的图表来研究多维数据集。但是,要构建一个能够推荐常用组成图表的智能助手,通常面临着多方言统一、数据不平衡和开放词汇这些根本性问题。
因此,该论文提出了 Table2Charts 框架,该框架可以从大量的(表,图表)对语料库中学习通用模式。此外,基于具有复制机制和启发式搜索的深度 Q-learning,Table2Charts 可进行表到序列的生成,其中每个序列都遵循图表模板。
在具有 196000 个表和 306000 个图表的大型电子表格语料库中,该研究展示了 Table2Charts 可以学习表字段的共享表示,这样不同图表类型的任务就可以相互增强。
该论文的主要贡献如下:
该论文提出了 Table2Charts 框架,该框架可以构建图表合成助手。它能够学习共享表的表示形式,以便在所有图表类型的推荐任务中获得更好的性能和效率,这是通过在图表类型之间的统一操作空间上定义图表模板来实现的;
对于涉及从表中选择数据字段以填充模板的结构化预测问题(生成分析操作序列),该论文设计了具有复制机制的深度 Q 值网络(Deep Q-value Network, DQN)。DQN 的编码器部分学习表表示,而解码器部分学习序列生成;
首次构建并大规模评估能够从人类智慧中学习的端到端图表推荐系统。
方法
在 Table2Charts 中,该论文设计了一种编码器 - 解码器 DQN 结构,它所具有的复制机制可用来填充图表模板。由于模板规则生成序列的曝光偏差较大,因此研究者在进行集束搜索时采用搜索采样技术进行训练。
此外,为了解决数据不平衡问题并相互提高不同图表类型之间的性能,研究者将主要的图表类型混合在一起进行训练以获得混合模型。
混合编码器部分是共享表表示形式,它将被传输到每个单一类型任务以进行解码器调整。混合编码器 - 解码器也可直接用于多类型任务。
DQN 的模型架构如下图 3 所示:
混合训练和迁移学习
该论文设计的 DQN 具有编码器 - 解码器框架,其中编码器计算表字段的表示嵌入,而解码器使用给定的表示进行序列生成。基本思想为:表表示编码器应该在一个多类型和六个单类型任务之间共享,以暴露于不同且丰富的表字段样本,并减少部署任务模型的内存占用和推理时间。
为了学习共享表表示编码器并获取特定任务的解码器,该论文提出了一个混合与迁移范式,该范式包含以下两个阶段:
混合训练:将所有主要图表类型混合在一起并训练一个 DQN 模型。混合编码器将被迁移至下一阶段,而整个混合 DQN 将用于多类型推荐任务;
迁移学习:从上一阶段获取混合编码器,并冻结其参数。然后,对于每个单一类型的任务,共享编码器仅用图表类型的数据训练新的解码器部分。
在单独训练(Lone Training)中,只使用图表类型的数据为每个单一类型的任务训练整个 DQN。与之相比,Table2Charts 中的混合迁移范式具有以下两个优点:
更好的内存占用和推理速度,因为现在所有任务的 DQN 模型共享一个相同的表表示编码器,而单独训练仍然需要为每个任务保留表表示编码器,并导致更多的编码器计算;
编码器暴露的样本远远超过每种图表类型所能提供的样本。这不仅可以更好地学习和泛化表的表示形式,而且还解决了数据不平衡的问题,因此仅解码器部分(与较大的编码器部分相比较小)需要针对较小的图表类型进行调整。
实验
图表语料库
本研究中的图表语料库包含 39139 个(12.8%)线状、93614 个(30.5%)条状、149747 个(48.8%)Series、20921(6.8%)个饼图、2237(0.7%)个区域和 1244(0.4%)个雷达图。
在过滤掉重复表、超大表(>128 个字段)、空图表(未选择字段)和过于复杂的图表(y 轴字段数 > 4 个)并对每个表模式的表(由表的字段名和字段类型组成)进行下采样后,306902 个图表中保留 196255 个,共有 131119 个不同的表模式。这些模式(及其表和图表)按 7:1:2 的比例分配给训练、验证和测试。
对单一类型推荐任务的评估
评价结果如表 1 所示。混合和迁移范式(Transfer)通常比单独训练 (Lone) 和仅混合模式(Mixed) 效果更好。特别地,Transfer 的评价标准 R@1 超过了其他两种方法。
在较小的图表类型上,增强效果清晰可见,召回率提升了约 12%。数据不平衡的问题得到了解决,因为较小图表类型的有限数据仅用于训练小的解码器部分,而无需担心编码器部分。
探索表表示
该实验从验证集中随机选择 3039 个表(包含 20000 个字段),通过 t-SNE 进行可视化,用来理解共享表表示编码器生成的嵌入如何工作。
在下图 4a 中,每个点代表一个字段,颜色代表其字段类型。在图中,我们可以清楚地看到通过嵌入学得的字段类型信息。例如,日期时间字段和年份字段很接近。一种可能的解释是,它们都经常在序列图中用作 x 轴,因此具有相似的表示形式。