雷锋网按:今年是微软亚洲研究院(MSRA)20周年,站在这个大节点上,MSRA副院长张冬梅以及她的团队写了这篇有关数据智能的文章,对该领域的发展和未来进行梳理。本文贡献者:崔为玮,韩石,林庆维,楼建光,徐勇,张冬梅,张海东,朱斌。本文由雷锋网首发。
我们正处于大数据和数字化转型的时代:数据无处不在;运用数据驱动的思想和策略在实践中逐渐成为共识;数据的价值已在科学研究和工商业的不同领域得到充分展现。然而,如果无法从数据中提取出知识和信息并加以有效利用,数据本身并不能驱动和引领数字化转型取得成功。如何让数据发挥它最大的价值?“数据智能”(Data Intelligence) 应运而生。
数据智能是一个跨学科的研究领域,它结合大规模数据处理、数据挖掘、机器学习、人机交互、可视化等多种技术,从数据中提炼、发掘、获取有揭示性和可操作性的信息,从而为人们在基于数据制定决策或执行任务时提供有效的智能支持。
如果将数据视为一种新的“石油”,那么数据智能就是“炼油厂”。数据智能通过分析数据获得价值,将原始数据加工为信息和知识,进而转化为决策或行动,已成为推动数字化转型不可或缺的关键技术。数据智能的重要性越来越凸显,并在近年来取得快速发展。
数据智能技术赋予我们探求数据空间中未知部分的能力,在不同领域里蕴育出巨大的机会。众多基于互联网的新型业务,包括搜索引擎、电子商务以及社交媒体应用等,从本质上就是建立和运作在数据智能的基础之上。
数据智能技术正在重塑传统的商业分析或商业智能领域。根据Gartner的调研,一种新的 “增强分析”的分析模式正在颠覆旧有方式,预计在几年内将成为商业智能系统采购的主导驱动力。这种“增强分析”模式正是由数据智能技术赋能,提供了自然语言查询和叙述、增强的数据准备、自动的高级分析、基于可视化的数据探索等多种核心能力。
那么,数据智能领域的技术进展如何?未来,数据智能的研究又有哪些热点?
数据智能相关的核心技术大致可以分为数据平台技术、数据整理技术、数据分析技术、数据交互技术、数据交互技术、数据可视化技术等部分。与传统意义上的数据处理、数据分析相比,数据智能面临很多新挑战、新问题。在解决这些问题和挑战的过程中,各种技术创新层出不穷。
为了支持大规模的数据处理与分析任务,全新的数据存储系统需要能够容纳和支持高效数据吞吐、高可伸缩性和高容错性。传统的数据库OLTP面向交易型需求而设计,无法满足大数据统计分析类的查询需求和应用。当前的大数据系统更加强调读写效率、数据容量以及系统的可扩展性。具体来说,将数据分割成块,并将每块复制多份后分散到不同物理机器上存储,用冗余的数据块来防止因个别机器损坏对数据完整性的影响。数据的冗余保存不但提高了系统的可靠性,同时也可以提高了系统在数据读取时的并发性能。另外,为降低成本,现代的大数据系统运行在价格相对低廉的普通服务器上;这些机器通过高速网络连接,实现高效的数据传输。
处理和分析大数据涉及大量的计算,催生了很多分布式NoSQL数据处理系统。在计算模型上,MapReduce的推出给大数据并行处理带来了革命性的影响。在MapReduce基础上进一步提出了新的计算模型Spark。Spark充分利用在内存中计算的优势,并且大大优化了原来MapReduce中Shuffle所带来的效率问题。经过几年的发展,Spark已经替代MapReduce成为业界最为重要的大数据处理框架,并且发展了非常丰富的应用生态。
此外,基于流 (Streaming) 的计算模型被开发出来以支持不断变化和更新的大数据应用。在流计算模型中,为了达到更实时的更新,每到达一个数据事件的时候就进行一次处理。Spark Streaming、Storm、Flink都是比较流行的流计算平台。
在支持对大数据进行在线交互式的查询和分析方面,来自不同领域的技术正在快速融合,共同构建更加实时高效的大数据交互查询平台。以ElasticSearch为代表的一类技术,借鉴搜索系统的索引构架和技术,对大规模非结构化和半结构化数据进行分块、索引来支持快速查询。以Spark Kylin为代表的另一类技术则将传统的数据立方体技术推广到大数据领域,通过将预先计算的部分数据立方体缓存起来,大大提高了运行时的查询速度。
随着技术的发展,对数据进行高语义级别的自动分析变得越来越重要。自动分析技术往往需要频繁计算在不同查询条件下的聚合结果,一个分析查询可能涉及成百上千次简单的聚合查询。这就对查询性能提出了更高的要求。为了解决这个问题,同时也考虑到大数据分析中绝大多数任务对数据的完整性不太敏感这一特点,学术界又提出了BlinkDB、BigIN4等技术和系统,希望利用通过采样或者预计算得到的部分数据来对用户的查询结果进行估计,从而达到快速计算的目的。其中BlinkDB试图利用分层采用的方法来减少估计的误差,而BigIN4则试图通过贝叶斯估计方法来优化用户查询的估计误差。
为了降低数据分析的门槛,使用自然语言作为交互方式显然是一个理想方案,可以极大地方便普通用户快速、有效地进行数据探索与数据分析。近年来,随着自然语言处理和人工智能技术的快速进步,使用自然语言来查询和分析数据变得更加可能。
自然语言数据分析要解决的最重要的问题是语义解析。语义解析技术是将自然语言直接转化成可以执行的程序 (例如 SQL语句)。基于关系数据库/数据表的语义解析技术是解决自然语言交互式查询的重要途径。早期主要采用基于模式匹配的方法,后来出现了基于语法分析与语义分析的第二代方法。
近年来,随着深度学习技术的发展,涌现出了一系列的端到端的语义解析模型。一般的端到端模型采用sequence-to-sequence的方法,将自然语言进行序列编码,然后逐步生成SQL语句,但是这种方法的缺点是容易产生不正确的或者不可执行的SQL语句。因此,在端到端的方法的基础上会融合各种知识来减少搜索空间,增加约束,包括嵌入SQL语法知识,引入表格信息,甚至是引入外部的知识库,比如WordNet。
数据分析是数据智能中最核心的部分,大致可以分为描述性分析、诊断性分析、预测性分析、指导性分析等四个类别,每个类别基于数据回答不同的问题,难度越来越大,所能带来的价值越来越高,所使用的技术也越来越复杂。数据智能分析工具的发展经历了如下四个重要的阶段和层次。
阶段1:数据智能专家深入学习和了解特定领域的问题,构建端到端 (end-to-end)的分析流程和平台,以特定领域的数据分析师为主要用户,以解决特定领域的专业问题为主要任务。
阶段2:数据智能专家通过对各个领域的深刻总结,提炼出在不同领域的任务中所共同依赖的一些必要的需求单元,比如分布差异分析、主驱动因素分析、预测分析等等。把各个需求单元对应的数据智能技术以积木块搭建的形式组成一个分析平台,提供给各个领域使用。用户按照自己分析任务的需求,可以在分析流程中选择相应的技术模块。
阶段3:进一步发挥机器的“智能”性,在分析任务的各个环节,通过主动提供相关洞察 (Insight) 的形式,为用户的下一步决策或行动提供信息充足的引导性建议,从而更大程度地提高人类智能与机器智能的互补,完成更高效的协作。
阶段4:在前三个阶段中,数据的处理、特征的选取、模型的设计以及参数的优化等等核心环节严重依赖于机器学习专家的知识和技能。随着机器学习理论的进一步发展,Auto ML技术开始出现并发展起来,其核心是基于对已有机器学习成果的总结,将上述重要环节进行系统化的抽象,并结合不断快速发展的计算机处理能力,使其逐渐自动化,从而进一步降低数据智能模块的开发门槛,拓宽对长尾任务的支持,推动人类智能和机器智能的进一步融合,也使不同领域的普通用户以自助方式按需定制针对具体任务的数据智能模块变得可能。
如何有效整理、融合如此多样且繁杂的数据对于数据智能领域非常重要。数据融合的相关技术在整体上需要解决以下关键问题。
首先,在机器从数据中获取智能之前,机器能够正确地读懂各种各样的数据。对于机器友好的数据是类似关系数据库的结构化数据。然而,现实世界里存在着大量的非结构化数据,比如自然语言的文本;还有介于两者之间的半结构化数据,比如电子表格。目前机器还很难理解这些非结构化的方面,需要将数据处理成对机器友好的结构化数据,机器才能发挥其特长,从数据中获取智能。非结构化数据、尤其是半结构化数据向结构化数据的转化,是实现数据智能不可或缺的先决任务。
其次,数据并不是孤立的,数据智能需要充分利用数据之间存在的关联,把其他数据源或数据集所涵盖的信息传递并整合过来,可以为数据分析任务提供更丰富的信息和角度。
最后,数据并不是完美的,提前检测并修复数据中存在的缺失或错误,是保障数据智能得出正确结论的重要环节。
数据可视化本质上是为了感知和沟通数据而存在的,涉及到不同的领域,诸如人机交互、图形设计、心理学等。在当前大数据盛行的时代,数据可视化逐渐崭露头角,扮演着越来越重要的角色。
可视化技术用于分析,已成为数据智能系统不可或缺的部分。这些技术通常会集成在一个图形界面上,展示一个或多个可视化视图。用户直接在这些视图上进行搜索、挑选、过滤等交互操作,对数据进行探索和分析。可视化工具进一步趋于简单化、大众化,使一些高阶的分析变得更加简单。一些高级的可视化设计,如 Word Cloud、Treemap、Parallel Coordinates、Flowmap、ThemeRiver等,也逐步成为主流。
在决策过程中,可视化也发挥着重要的作用,它能将信息展示得更准确、更丰富、更容易理解,从而极大提高人与人之间的沟通效率。可视化叙事 (visual storytelling) 研究如何将可视化用于信息的展示和交流。 当今主流的数据分析平台,例如Power BI、Tableau、Qlik等,都提供了可视化叙事的模式。可视化叙事的研究目前还处在一个比较早期的阶段,人们还在探索它的各个方面,例如修饰形式、叙事方式、交互手段、上下文、记忆性等。如何评估一个可视化叙事也有待进一步研究。
近年来,随着数据隐私问题成为关注的焦点,以及相关数据保护的立法 (比如GDPR) 开始实施,研究人员开始积极探索保护隐私的数据分析技术,即在保护数据隐私的情况下,对数据进行管理和处理。
一个方向是提供可信计算环境去执行敏感操作。用户的数据始终是加密的,只有在可信计算的环境中才会解密及处理。
另一个方向是直接对加密数据进行处理得到想要的结果,因为数据没有解密,隐私得到了保证。选择性加密技术早已广泛应用于多媒体内容保护,但很难扩展到其他类型的数据。另一种适用性更广的方法是同态加密,它允许对密文进行某些同态操作,例如加法和/或乘法,使得密文下的运算结果在解密后与对明文执行相应操作的结果一致。
数据智能研究契合当今大数据时代各领域、各行业从数据中挖掘、实现价值,进行数字化转型的迫切需要,因而在近年来得到了充分重视,发展迅速。随着数据智能在更多领域的落地和发展,新的应用和场景、新的问题和挑战将进一步激发和驱动数字智能研究保持强劲的发展势头,迈向更高的层次。展望未来,数据智能技术将朝着更自动、更智能、更可靠、更普适、更高效的方向继续发展。
为了更加智能地分析数据,需要对数据有更加丰富的语义理解。与知识图谱 (Knowledge Base) 不同,虽然数据分析中最常用的关系数据模型也是对实体和关系的建模,但是关系数据模型的建模是为查询和存储性能而优化的,往往丢失了大量语义信息。如何引入领域知识和常识型知识对于更好地理解数据至关重要。
如何从表格数据和其他容易获得的文本数据 (如web网页) 中自动获取语义信息来增强和丰富表格数据是一个需要研究的重要方向。比如,确定表格中行或列的实体类型 (包括人名、地名、机构名等命名实体以及时间、地址、货币等数据类型)。表格往往不具有文本中的丰富的上下文信息,因此表格中的实体识别不同于其他自然语言处理任务中的实体识别,十分具有挑战性。除了处理实体识别外,数据表格中实体关系的挖掘和分析也至关重要。充分挖掘实体之间的关联关系可以完成一些实体类型的推荐和回答数据分析的问题。
人类对知识和方法能够举一反三,触类旁通。具体到数据分析领域,分析中用到的知识和模型需要在不同数据对象和分析任务之间共享和迁移。在机器学习领域,已经有很多相关工作,也提出了一些方法,比如迁移学习、多任务学习、预学习模型等等。要实现这个“举一反三”的目标,除了需要深入研究具体的机器学习算法,也需要从模型和知识的框架体系来思考,研究适合数据分析领域的通用知识和模型的原语体系,以及知识和模型的迁移共享的统一框架。
由于训练数据的缺乏,人工智能、深度学习等技术在数据智能领域的进一步应用遇到了很大的困难。正如ImageNet数据对于计算机视觉领域的研究起到了显著的推动作用一样,数据智能领域的研究也亟需建立起一整套公用的大规模、高质量的训练数据集和基准测试数据集。一旦有了丰富的训练数据,数据智能领域的很多研究,诸如自动分析、自然语言交互、可视化推荐等等,将会取得突破性的进展。
用户将不再满足于仅仅依赖黑盒式的智能、端到端地作用于整个任务,而需要更细粒度的、有针对性的、更透明的数据智能。例如,数据智能用于财务审计系统中,准确推荐最有风险的交易记录进行优先审查,以达到在最小化系统风险的前提下,最大化审计效率。在这类系统的研发中,需要构建可理解性强的模型。在推荐高风险交易记录的同时,尽量提供系统是依据哪部分信息、通过怎样的逻辑判断这是一条高风险交易的相关依据。这与过去通常使用的黑盒技术路线有了明显的变化,将成为今后技术发展的一个趋势。
现有人工智能技术从本质上依然只是被动服从人类设定的既定逻辑然后自动地运行,归根到底还是无法突破人类传授的学习框架,没有创造力。因此在可预见的未来,数据智能将依然无法摆脱人与机器协作的模式,需要全面地总结人类在数据分析方面的智能和经验,便于转化为机器算法,系统化地集成到已有的智能系统当中。
数据分析的核心目标之一便是指导行动,无论分析得有多好,如果不采取行动,那么分析的价值就不会得到实质的体现,这就是指导性分析的重要价值所在。
例如,根据详尽的分析,数据智能预测某品牌在接下来一个季度的销量会下滑10%。如果分析任务结束于此,那么数据智能并没有尽到全部的责任,人还需要根据后续分析结合自己的经验去搞清楚怎样才能减轻甚至避免潜在的销量下滑。相应的指导性分析可以是,如果想保持下季度销量不下滑,应该采取怎样的行动。指导性分析的结果可以是把某一类子产品的产量减少20%,同时把另两类子产品的产量各增加10%等等。
现在的数据智能技术在给出指导性分析的同时,并没有具备足够解释性的模型,无法提供充足的依据,从而不足以让人类用户充分信任自动推荐的结果。提供具有更好解释性的指导性分析是一个趋势。
通过从立法、技术、到用户参与等全方位的共同努力,隐私保护将被进一步纳入到未来的数据分析中。从技术层面, 应该确保个人数据由数据主体控制如何收集、管理、处理和共享,并在整个生命周期得到保护,同时应开发并部署保护隐私的数据处理技术,以便在保护隐私的前提下,数据得以处理并获得想要的结果。
智能代理 (Intelligent Agent) 技术与数据分析技术的融合是一个重要的方向。在不久的将来,智能的数据分析助手能够帮助人类更加高效地分析和利用数据。
这些数据分析智能助手通过自然语言对话的方式与人交流数据分析的任务和结果,理解分析的背景和上下文,可以完成人类交给的特定数据分析任务 (根据分析的语义层级不同,可分为基本分析命令和高级数据挖掘任务),也可以把具有商业价值的数据事实推荐给相关人类用户 (比如自动从数据中挖掘到的数据洞察),并对某些数据事件做出智能判断和适当的反应 (比如自动对数据中需要注意的变化进行提示和警报)。这样的智能体还具有一定的学习能力,能够通过与人类分析师的对话交流积累特定领域的知识,从而能够更加具有针对性和更加智能地进行自动数据分析。
随着各种沟通工具的兴起和普及,协作化的可视分析会成为热点。不同于传统的面对面、小规模的协作,新的协作分析往往是异步的和大规模的,人们在不同的时间和地点,使用不同的设备,对同一个数据进行可视分析。在此过程中,如何协调人们的协作?如何避免重复性的工作?如何保证不同人在不同的显示终端上看到的数据是一致的?如何共享各种信息?如何搭建一个高效的协作平台?这些都是需要解决的技术挑战。
在更长远的将来,我们相信可视化终将变得透明。就像文字和语音一样,广泛渗透到我们的日常生活中。为此需要有三个方面的技术储备:
首先,可视化视图必须能够被快速地生产和消费。目前,多数可视化视图的生成还是离不开人的参与,但是在人工智能的帮助下,未来在人工智能的帮助下,可视化视图将能被大规模和精确地生成,从而大大降低可视化创作的开销。
其次,要进行交互方式的变革。传统的基于键盘、鼠标的交互模式不是最自然的方式,各种人类更习惯的方式 (例如手势、笔纸、触控等) 需要慢慢演化成更成熟的交互手段。
最后,需要显示设备的普及。显示设备终将被集成到人的生活中去,无论是穿戴式的、手持的,还是出现在人们日常生活的物品表面上的。只有当显示设备无处不在的时候,可视化才能真正变成一种沟通的基本方式。