迈向智能数据可视化分析:更加交互、知识指导
图片来源:作者根据网络图片修改
作者简介
骆昱宇,2020年清华大学研究生特等奖学金获得者,计算机系数据库实验室2018级硕士生,师从李国良教授,研究方向为大数据管理与智能数据可视化分析。研发的智能数据可视化分析系统DeepEye已经吸引了全球30余个国家/地区用户的访问,以第一作者身份在数据库和数据挖掘领域顶级国际会议/期刊发表6篇论文。曾获得钟士模奖学金、研究生国家奖学金、华为奖学金、DASFAA 2019最佳论文奖、Big Data Mining and Analytics期刊优秀论文奖等。本文将介绍他在数据可视化分析方面的成果,相关成果已经发表在数据库和数据挖掘领域顶级会议和期刊SIGMOD、VLDB、ICDE和IEEE TKDE上。
导读
数据时代的一个典型特征就是数据驱动的科学决策,科学研究和商业应用已经在不同领域证明了数据的利用价值。然而数据本身并没有价值,只有从数据中挖掘出有用的信息并加以有效地利用,数据的价值才能得到充分的体现。数据可视化作为解构复杂信息的有效手段之一,能将繁杂且晦涩难懂的数据以可视化图表的形式直观地呈现给用户,被誉为大数据应用分析和商业智能领域的最后一公里,也是数据智能时代的显著标志之一。
随着新技术、新场景和新应用的出现,数据可视化分析将朝着自动化、智能化、高质量和高可靠以及低门槛和低耗时的方向发展。本文结合实例,介绍了数据可视化分析的发展及应用前景,并展望智能数据可视化分析系统的研究。
本文总字数6641,阅读约20分钟。
与本文相关研究的主要学术贡献
大数据时代,数据分析的瓶颈已经从“如何处理大规模的数据”转变到“如何从大规模的数据中快速地进行知识发现”。数据可视化作为解构复杂信息的有效手段之一,被誉为大数据应用分析和商业智能领域的最后一公里,也是数据智能的显著标志之一。然而,数据可视化是有门槛的,即没有技术背景的用户难以高效且高质量地进行数据可视化分析。现阶段主流的数据可视化分析系统需要用户参与数据可视化分析的全生命周期,包括数据准备、数据转换、数据可视化以及数据分析结果归纳等阶段,对用户的数据分析技能要求较高,需要用户与系统进行频繁的交互,导致数据分析和知识发现的效率不高。
针对上述背景,我们的研究基于人工智能和大数据分析技术,致力于研究智能数据可视化分析,通过研发智能数据可视化分析系统,帮助用户高效地参与数据可视化分析生命周期中的数据准备、清洗、可视化以及分析结果归纳等环节,降低人力参与成本,优化数据分析的人机协作模式和提高数据分析的质量和效率。
1.数据可视化是什么?
数据可视化(Data Visualization),顾名思义由“数据”和“可视化”组成,作为一种表达信息的媒介,是数据可视化分析(Data Visual Analysis)中的重要一环。通俗地说,数据可视化需要解决两个问题:
① 我们需要什么样的数据用于可视化?
② 对于这些数据,我们应该以什么样的方式进行可视化表达?
图1 数据可视化概念
从先后关系上来看,数据可视化是以数据为基础,以可视化为呈现方式,用户通过理解可视化传递的信息进而分析和挖掘数据中蕴含的规律和知识。
从数据可视化分析的工作流来看,数据可视化是其中的一个环节。如下图所示,用户在进行数据可视化分析的时候,通常需要从数据源通过抽取、清洗和转换等数据操作,获得用于分析的数据表,然后对数据表中的数据进行可视化,得到可视化结果,最后用户通过观察可视化结果得出分析结论,用户可能在上述的交互环节中,发现存在的问题,并可以选择重复上述过程。
图2 数据可视化分析工作流
2.数据可视化分析做什么?
近年来,随着大数据、数字政府、商业智能和智慧城市等概念的兴起,数据可视化逐渐崭露头角,扮演着越来越重要的角色。数据可视化作为一种数据分析技术,已成为数据智能系统不可或缺的部分,常常以可视化仪表盘的形式展现一个或者多个可视化结果(如热力图、柱状图等)。用户可直接对这些结果进行查看、搜索、过滤和联动等交互操作,进一步对底层的数据进行探索和分析。下面视频是一个新冠肺炎疫情数据可视化仪表盘的示例,首先在世界地图上可视化出人口的分布情况(人口密度越高,区域用红色表示),每个地区新冠肺炎的病例报告(由饼状图表示,绿色代表康复,灰色代表死亡,红色代表现存确诊),左边则是一个数据表格,下方折线图表示当前选定区域的确诊病例变化曲线。
图3 COVID-19数据可视化仪表盘
聚焦数据科学领域,数据可视化分析师最重要的技能就是将数据转化成对于非专业人士来说清晰、形象且易理解的信息的能力。在数据科学领域,依据不同的目标和难度,数据可视化分析可以大体分为以下几个类型,如图4所示:描述性分析 (Descriptive Analysis)、诊断性分析(Diagnostic Analysis)、预测性分析(Predictive Analysis)和指导性分析(Prescriptive Analysis)。目前在成熟的数据可视化分析软件如Microsoft PowerBI和Tableau等,对描述性分析的支持做得很好,能部分支持其它三类的分析。
图4 数据分析的四大类别
# 描述性分析
描述性分析是这四类分析形式中最常见的,分析师通过对数据进行分析,总结数据中蕴含的规律。例如,学校分析学生的成绩数据,通过可视化散点图的形式分析学生不同课程成绩之间的相关性,可以得出类似“微积分成绩好的同学,线性代数的得分也高”的“描述性结论”。
# 诊断性分析
诊断性分析则通常是在描述性分析的结论之上,分析师深入到数据中,探索得出该结论的根本原因。
# 预测性分析
预测性分析可以用来说明未来可能发生的事情,它结合预测算法进行未来可能发生的情况的预测。例如,根据学生的往期的数学考试成绩,预测其下一次的数学成绩。
#指导性分析
指导性分析则是基于上述的三类分析,通过智能算法和可视化分析等手段做优化决策,来帮助用户决定应该采取何种措施以便让事情朝更有利的方向发展。指导性分析作为先进的分析方法,它除了依赖历史数据,还需要融合许多外部的信息和知识并利用先进的智能算法。
描述性分析是数据可视化分析系统中最常见的分析模式,也是用户进行其余三类分析的基础之一。
3.交互式数据可视化分析
交互式数据可视化分析依赖数据分析师与可视化系统进行交互,如图2所示,通常需要数据分析师参与数据分析的每一个环节。交互式数据可视化分析具有对数据分析技能要求高、数据分析周期长、数据分析质量与分析师高度相关等特点。常见的交互式数据可视化分析系统有Tableau、Microsoft PowerBI,普通用户也常用Microsoft Excel进行简单的数据可视化展示。上述这几类数据可视化分析软件可以让普通用户在接受一定培训的基础上,进行数据的交互式分析,一些公司也在培训相关业务部分的员工掌握使用这类数据可视化分析软件的能力以及培养数据驱动的决策思维。
图5 Tableau数据可视化软件
具有一定编程基础和数据分析背景的用户也常用Python或R语言进行数据分析和可视化任务。常见基于Python语言的数据可视化库有Matplotlib和Seaborn等。
4.从交互式可视化分析到自动可视化分析
随着硬件计算能力的提升,大数据分析的瓶颈已经从“如何处理大规模的数据”转变到“如何从大规模的数据中快速地进行知识发现”。此外,交互式数据分析的实时性和敏捷性也难以应对日益复杂的业务和海量的数据,许多没有数据分析技能的一线业务人员也难以挖掘数据蕴含的规律。因此,数据可视化分析的自动化成为了一个必然的选择。
自动数据可视化分析是指,给定一个数据集,自动数据可视化分析系统会自动地挖掘和推荐该数据集中有意义的可视化分析结果,并将这些结果排序之后推荐给用户。用户只需浏览数据可视化结果推荐列表,即可对数据集的进行可视化分析。自动数据可视化分析系统将交互式数据分析的每个步骤“自动化”起来,大大地降低数据分析的门槛和提高数据分析的效率。
学术界近几年也关注到了自动数据可视化分析,并产出了一些系统原型。例如DeepEye[1]、SeeDB[2]和Zenvisage[3]等。
以DeepEye为例,其系统架构图如图6所示。DeepEye系统主要解决了如何自动地从“数据驱动”的角度推荐给用户“好的”可视化结果。首先,DeepEye基于线下收集的一些数据可视化案例作为训练数据,基于机器学习,分别训练了分类模型和排序模型。在系统运行的时候,用户指定需要进行数据可视化分析的数据集,DeepEye首先枚举大量可能“有意义”的数据可视化结果作为候选集,然后通过预先训练好的分类模型筛选出“有意义”的可视化结果。在排序环节,DeepEye基于Learning-to-Rank排序模型对“有意义”的可视化结果进行排序,最后将排序之后的结果推荐给用户。有了DeepEye系统,用户只需要负责数据集的准备工作,无须关心和掌握如何对数据集进行可视化的技能,即可通过浏览DeepEye推荐的可视化结果进行数据探索和分析工作,大大地降低了数据分析的门槛和提高了数据分析的效率。
当给定的数据集属于特定领域或预先训练的排序模型表现不佳的情况下,DeepEye系统也支持引入领域的规则,进行数据可视化结果的推荐。领域专家可以为系统指定若干专家规则,DeepEye系统通过将这些专家规则编码成偏序关系(Partial Order),最后基于偏序的有向图模型进行可视化结果的排序和推荐工作。
图6 自动数据可视化系统(DeepEye)架构图
DeepEye系统前端如图7所示。用户可以在下图区域①中上传数据集,并进行数据筛选等操作。数据集上传成功之后,DeepEye系统会自动地分析和推荐该数据集中有意义的可视化结果,用户可浏览区域③中的可视化结果推荐列表进行数据分析。
图7 自动数据可视化系统(DeepEye)前端概览
DeepEye在线服务地址:http://deepeye.tech
5.基于自然语言交互的可视化分析
图8 插图—自然语言处理、数据可视化
自动数据可视化分析系统可以从“数据驱动”的角度推荐一个数据集中“有意义”的可视化结果。用户通过浏览这些推荐的可视化结果可以进行数据分析或者找到他们“想要”的可视化结果。有些情况下,尽管自动数据可视化分析系统推荐的可视化结果从“数据驱动”的角度来看是“好的”,但却不一定是用户“想要”的。因此,如何推荐给用户“想要”的且是“好的”可视化结果,也成为了大家关注的热点之一。
如何知道一个数据可视化分析结果是用户“想要”的呢?毫无疑问,我们需要用户“告诉”可视化分析系统,而最简单的方式就是通过自然语言进行交互。在互联网时代,使用自然语言与系统进行交互是非常普遍的。例如,我们在搜索引擎中输入“清华大学官网”,搜索引擎会返回“清华大学官网”的网页链接。同样地,我们是否能让普通用户使用自然语言来表达他们的可视化分析意图呢?当普通用户“问”可视化系统“请问首都机场2020年11月30日的航班延误随时间的变化情况”,我们系统是否能返回一个折线图用于表示当天各时刻的航班延误情况呢?答案是肯定的。
图9 基于自然语言交互的数据可视化分析
近段时间,工业界(Tableau Ask Data,Microsoft PowerBI,ThoughtSpot)和学术界[4-8]都在研究如何将自然语言接口整合到数据可视化系统中,让普通用户可以通过自然语言进行“数据可视化查询”。
如下动图所示,Tableau提供的Ask Data功能,可以让用户通过自然语言进行数据集的交互式分析,来获取数据洞察。通过自然语言接口,可以降低非专业用户进行数据可视化分析的门槛,提高数据到知识转换的效率,推动企业普及数据驱动决策的模式。
图10 Tableau Ask Data使用示例
除Tableau之外,利用DeepEye[4]也可以实现类似功能,通过目前提供的简单的自然语言接口,用户通过输入自然语言关键词(例如,航班延误的折线图),DeepEye基于简单的关键词匹配算法将对应的可视化结果推荐给用户。如图7所示,用户在区域②中输入“show me a bar chart about departure delay”,DeepEye系统在区域③中将与航班出发延误(Departure Delay)相关的柱状图(Bar Chart)推荐给用户。
NL4DV [5] 是一个基于自然语言交互进行可视化分析的工具包。当用户指定了用于分析的数据集和给定一个自然语言问题。如下图所示,用户给定“Show debt and earnings for different types of colleges”,NL4DV首先对该自然语言进行分词,得到一系列的符号或者词组(如debt, earnings)。然后进一步将这些符号或者词组与数据集中的数据列名进行匹配,推理出用户想分析哪些数据列。接下来则是根据用户给定的自然语言问题进行分析任务的推理以确实是哪一类型的分析,最后将对应的可视化结果推荐给用户。下图基于NL4DV实现的一个案例,用户在搜索框中输入自然语言问题,系统将分析结果在下方呈现给用户。
图11 NL4DV应用于Vega-Lite编辑器
NL4DV还支持具有Python编程语言的专业用户在Jupyter Notebook环境下使用。
图12 NL4DV在Jupyter Notebook环境下使用截图
尽管数据可视化软件供应商和研究人员已经开始探索如何通过数据可视化结果来回答用户的自然语言问题,但这项研究和应用仍处于起步阶段。上述介绍的基于自然语言进行数据可视化分析研究工作,几乎都是基于自然语言处理中的句法分析技术,通过预先定义规则解析等方式将用户输入的自然语言问题“翻译”成计算机能理解的“编程语言”。这样基于规则解析等方式对用户自然语言问题进行理解,会使用户输入自然语言问题的灵活性大打折扣。另一方面,基于深度学习的自然语言处理技术在很多任务(如文本分类)拥有可以媲美人类的能力。然而,目前还没有一项工作将基于深度学习的自然语言处理技术应用到这个领域,这其中的一项挑战就是缺少基于自然语言交互的可视化分析的基准数据集,使得无法训练将自然语言问题翻译成可视化结果的深度学习模型。
6.迈向智能数据可视化分析
数据可视化将晦涩难懂的数据以图形化的方式直观呈现给用户,可以更好地帮助用户理解数据中蕴含的规律和知识。在大数据时代,数据可视化得到了充分的重视,发展劲头迅猛,已经广泛应用于各行各业。随着新技术、新场景和新应用的出现,数据可视化分析将朝着自动化、智能化、高质量和高可靠以及低门槛和低耗时的方向发展。
图13 智能数据可视化分析系统工作示意图
上文提到的自动数据可视化分析和基于自然语言交互的可视化分析仅仅是迈向智能数据可视化分析的第一步。未来,以下几个方面的研究将会大大地提高数据可视化分析的智能程度(笔者仅列举两个方面)。
01 更加智能的交互方式
a)基于自然语言和语音输入等文字和语音媒介进行数据可视化分析可以大大地降低数据可视化分析的门槛。让普通用户在不掌握分析技能和分析工具使用的情况下,通过大家都熟知的自然语言进与系统交互,将数据分析中用户意图理解、繁杂的数据处理和可视化部分交给智能算法去解决。尽管目前的技术还难以让智能算法达到媲美专业分析师的水平,但基于自然语言的可视化分析技术已经大大地降低了分析门槛,减少分析时间和保证一定的分析质量,可以推动数据可视化分析的全民化。相信人工智能技术的进步,会进一步提高基于自然语言的可视化分析接口的可用性、可靠性和灵活性。
b) 虚拟现实技术可以让用户在模拟的环境中进行沉浸式的交互。将虚拟现实技术与数据可视化分析结合,可以将数据在三维空间中实现可视化。分析师通过与空间中的数据进行交互,可以直接“操纵”数据,观察数据特征、进行数据转换、完成交互式数据分析。同时也提供了多人协作进行数据可视化分析的场景。
图14 虚拟现实技术
02 知识指导的智能数据分析
目前的自动数据可视化系统从“数据驱动”的角度去推荐“有意义”的可视化分析结果给用户。为了让可视化分析变得更加智能,除了数据驱动,我们还需要考虑如何将“知识”引入到可视化分析的流程中,去指导数据可视化分析系统结合“知识”进行智能数据可视化分析。知识指导的智能数据分析一方面可以丰富数据的维度,例如,给定我们首都机场到各个城市的航班数据,我们一方面可以基于已有的“知识”知道各个城市所属的省份和GDP等信息,用于丰富数据分析的维度。另一方面可以进行更加复杂的数据分析操作,例如,如果当前分析结论是京沪之间的航班较少,我们基于已有的“知识”可以推理告知分析师可能是由于京沪高铁竞争导致的。总体而言,知识指导的智能数据分析会大幅度地提高可视化分析的质量。如何将知识库(Knowledge Base)与可视化分析流程结合起来,也是一个研究方向之一;此外,人类还拥有对知识和方法举一反三的能力,数据分析中用到的分析模型和知识在不同的数据、场景和分析目标下也是不同的,如何自适应上述情况也是值得研究。
结 语
随着人工智能和大数据分析等技术的不断发展,数据可视化系统将会变得更加智能和简单易用。智能数据可视化分析系统将会降低用户在数据获取、清洗、可视化分析和分析结论表达等阶段的人力参与成本,让非专业用户也可以高效地通过智能数据可视化分析系统快速地进行高质量的数据理解和知识发现,进而实现数据和知识驱动的科学决策。
参考文献
[1] Luo, Y, Qin X, Tang N, et al. "Deepeye: Towards automatic data visualization." In 2018 IEEE 34th International Conference on Data Engineering (ICDE), pp. 101-112. IEEE, 2018.
[2] Vartak M, Madden S, Parameswaran A, et al. "SeeDB: supporting visual analytics with data-driven recommendations." In Proceedings of the VLDB Endowment 8, no. 13. 2015.
[3] Siddiqui, T, Lee J, Kim A, et al. "Fast-Forwarding to Desired Visualizations with Zenvisage." In CIDR. 2017.
[4] Luo Y, Qin X, Tang N, et al. Deepeye: Creating good data visualizations by keyword search. In Proceedings of the 2018 International Conference on Management of Data, pp. 1733-1736. 2018
[5] Narechania A, Srinivasan A, and Stasko J. NL4DV: A toolkit for generating analytic specifications for data visualization from natural language queries. In IEEE Transactions on Visualization and Computer Graphics. 2020.
[6] Gao T, Dontcheva M, Adar E, et al. Datatone: Managing ambiguity in natural language interfaces for data visualization. In Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology, pp. 489-500. 2015.
[7] Setlur V, Battersby SE, Tory M, et al. Eviza: A natural language interface for visual analysis. In Proceedings of the 29th Annual Symposium on User Interface Software and Technology, pp. 365-377. 2016.
[8] Setlur V, Tory M, and Djalali A. Inferencing underspecified natural language utterances in visual analysis. In Proceedings of the 24th International Conference on Intelligent User Interfaces, pp. 40–51. ACM, 2019.
文稿|骆昱宇
编辑|赵若时 高松龄 刘睿超
李艳文 邱雨浩 周圣钧
审核|赵 鑫 张可人