基于自然语言的可视化构建方法(Towards Natural Language-Based Visualization Authoring)

为了让用户更快更好地熟悉和使用复杂的系统,可以使用自然语言代替传统的用户交互界面。这一类交互界面被称为自然语言界面(Nature Language Interface),并已经被广泛地在各类可视分析系统中使用。相比之下,很少有工作将这一技术应用在构建可视化的系统中。事实上,无论是分析导向的系统还是构建导向的系统,在工作流程上有极大的相似之处。下图展示对比了将自然语言处理技术应用在两类系统中的具体流程。

带有自然语言界面的分析导向系统和构造导向系统的工作流程对比

可以看出,两类系统工作流程的主要区别在于对输入的自然语言命令进行处理,以及可视化系统对于处理结果的响应方式。前者分析自然语言命令后,提取出分析需求,并进一步针对需求构造可视化;后者则从命令中提取编辑动作,完成数据到可视化元素的映射,并对已有的可视化进行更新修改。

本文中,作者首先进行了预实验,以分析用户在构造可视化系统时可能拥有的意图。实验结果表明,用户倾向于采用自顶向下的工作流程,首先生成图表,随后修改其中的编码方式,最后细化各类细节设定。此外,作者发现用户更加希望系统能够实时地给出反馈;更有可视化构建经验的用户,往往给出的命令也更加简单明确。最后,在涉及到具体的命令表达中,用户会使用数据标签、指代词,以及程度副词等。这些都是自然语言分析系统需要考虑在内的事情。

作者最终采用三元组刻画用户的操作命令,三个关键词分别包含了用户期望的操作(operations),操作的对象(objects),以及操作所需要的参数(parameters)。自然语言处理系统需要将用户输入的自然语言转化成为操作命令,一条语句可能对应于一个或是多个三元组。

操作命令解析示例

具体来说,自然语言处理模块主要分为三个步骤。首先,通过数据项识别算法对输入的语句进行分词处理。随后,通过多标签分类器,对分词进行标记,区分它们的属性。在这一步中,句子中指代实际数据项的单词也会被识别出来。第三步,系统将根据提取出来的参数或是对象,生成对应的操作三元组,完成从输入的自然语言到输出的交互操作的转化。

自然语言处理模块

作者同样实现了一个原型系统。用户可以在左边的输入框中输入自然语言命令,系统会实时地在右边的图表框中生成可视化。随着用户不断地加入新的命令,图表也会随着用户的指令发生变化。

系统效果展示(https://microsoft.github.io/VisTalk/

参考文献:

[1] Y. Wang et al., “Towards Natural Language-Based Visualization Authoring,” in IEEE Transactions on Visualization and Computer Graphics, vol. 29, no. 1, pp. 1222-1232, Jan. 2023, doi: 10.1109/TVCG.2022.3209357.

评论关闭。