Text-to-Viz: 自然语言生成信息图方法

sdq
Explore, Think, Create
4 min readNov 27, 2019
Text-to-Viz 生成结果

与之前介绍的DataShot不同,Text-to-Viz[1]不直接从数据中生成可视化,而是通过自然语言的文字描述来生成对应的信息图(Infographic)。该方法需要理解用户输入的文本,提炼出正确的信息用于可视化,并确保最终的信息图中的元素搭配和谐一致。该方法可分为两个核心步骤,分别为语义解析阶段和视觉生成阶段。

语义解析阶段:在前期调研阶段发现,信息图中大约45.7%的信息图展现的是占比的信息,所以该方法将生成任务限定在生成面向占比的信息图上。方法收集了10万个幻灯片中5562条陈述句,用于理解人们的日常用语中如何描述此类信息,整理发现可以将句子内容划分为如图1中的实体类型,分别为修饰(Modifier)、数值(Number)、整体(Whole)、和部分(Part)。通过800个手工标注的句子在CNN+CRF模型上进行训练,用于识别句子中对应的实体信息。

图1 描述文本中的实体类型

视觉生成阶段:视觉生成需要考虑四个维度,分别是布局、描述、图形、颜色。需要对于这四个维度进行组合形成最终的信息图。(1)布局部分方法提供了默认的20种布局方式,如图2所示是其中的一种布局模版与实现形式。(2)描述文本基于从用户输入中提取的实体和生成的语法树进行组合,针对不同布局来产生不同长度文本。(3)图形的选择上基于超过100个已经用文本进行标注过的icon,通过词向量空间来对输入句子寻找合适的图形。(4)颜色的搭配也同样基于已经标注好关键词的色彩模版,同样使用word2vec的方法来寻找合适的颜色搭配。在后续的组合过程中,需要针对每种布局、文本、图形进行整体空间上的UI优化。

图2 布局的模版与实现

对于最终的一系列生成结果,方法会从语义层面、视觉层面和信息层面进行打分,其中语义层面为word2vec的分数要求接近原始句子的语义信息,视觉层面则要求内容占空间的比例高,信息层面则要求停用词尽量少。

最终生成的结果示例如图3所示,以下四张信息图均是由“超过20%的智能手机用户是社交媒体的用户”通过Text-to-viz方法自动生成。该方法可以生成优质的信息图,适用于实际的商业与个人应用。

图3 Text-to-Viz生成结果示例

制作一个有效且美观的数据可视化往往需要跨专业领域的技能,尤其是需要同时具备数据分析能力和平面设计能力,而这对于一个没有专业训练的普通用户来说是比较困难的。Text-to-Viz和之前提到的DataShot等前沿的技术研究均通过自动化的方法从数据洞察和设计美学两个方面去帮助用户生成可视化,降低用户制作可视化的门槛,并有效提高生产效率。

[1] Cui, Weiwei, Xiaoyu Zhang, Yun Wang, He Huang, Bei Chen, Lei Fang, Haidong Zhang, Jian-Guan Lou, and Dongmei Zhang. “Text-to-Viz: Automatic Generation of Infographics from Proportion-Related Natural Language Statements.” IEEE transactions on visualization and computer graphics (2019).

--

--