智能数据分析技术,解锁Excel“对话”新功能
软妹按:微软在 Ignite 2019 大会上展示了 Excel 中的一项新功能——只需向 Excel 提出一个问题,它就能自动理解,进行智能数据分析,并通过可视化图表的方式将结果呈现在你的眼前。这个超实用功能背后的技术支撑,来自微软亚洲研究院数据、知识、智能组。为了降低大数据时代的数据分析门槛,微软亚洲研究院对对话式数据分析技术开展了多年的研究,致力于为数据分析工具赋予人工智能技术与自然语言理解能力,使更多用户能以更自然、更高效、学习成本更低的方式进行数据分析。
图1:对话式数据分析的研究问题
跨领域应用
对话式数据分析应用需要面向各行各业的用户,不同领域的用户都会进行针对性的提问,模型事先无法获取这些领域专业知识,因此需要具备跨领域工作的能力。
鲁棒性
对话式数据分析场景下,用户的自然语言表达形式多样,甚至语法错误也很常见,例如,很多用户养成了搜索引擎的关键词使用习惯,导致输入问句只包含关键词,语法结构不够完整。基于规则的传统方法不够灵活,维护难度大,没有办法覆盖到各种语言现象,使得模型的容错能力较差。一个实际的应用产品应当能够处理自然语言表达的多样性。
可解释性
投入应用的产品需要具备可解释性,既让普通用户能够理解模型给出的结果,也要对开发人员来说可调试(easy to debug)。然而对于一般的端到端的神经网络模型来说,解释错误原因以及调试模型都非常困难,这为神经网络模型在真实产品中的应用造成了很大的障碍。
多语言扩展
作为一个全球性公司,全球化能力是模型设计中的一个重要的考虑因素,模型需要支持多语言及其变种。如何快速且低成本地将对话式数据分析中的算法和模型推广到不同的语言,是一个巨大的挑战。
针对以上挑战,微软亚洲研究院的研究员们开展了一系列的研究工作:
一. 表格实体识别(schema linking):基于自然语言交互的数据分析算法的最大难点,是识别自然语言中提到的列名、表格名、以及单元格值。为了解决这个问题,研究员们提出了一种基于多任务的学习框架,同时解决表格实体识别和语义解析问题,详细内容请参考论文 Data-anonymous Encoding for Text-to-SQL Generation, (EMNLP’19)。
二.设计中间的语言表示(intermediate representation):计算机可执行语言(例如 SQL 语句)往往与数据的存储方式有关,而用户的自然语言是基于语义的,因此,可执行语言和自然语言之间存在着不匹配的问题,给语义解析,尤其是复杂问题的解析带来了困难。为了减少不匹配问题,研究员们提出,需要设计一种中间语言,先将自然语言转换成中间语言,再将中间语言转换到目标语言。我们设计的方法在耶鲁大学发布的 Text-to-SQL 的比赛中,目前位列排行榜第一。详细内容请参考论文Towards Complex Text-to-SQL in Cross-domain Database, (ACL’19)。
图2:微软亚洲研究院提出的算法目前在耶鲁语义分析与 Text-to-SQL 挑战赛中位列第一
三.通过表格知识挖掘,提升自然语言理解的准确性:用户输入可能包含了隐含指示表格中某个实体的形容词、动词、量词和名词,因此表格知识理解就尤为重要。表格知识包括识别表格中的人名、地名、单位,也包括识别表格相关的形容词、动词等,详细内容请参考论文 Leveraging Adjective-Noun Phrasing Knowledge for Comparison Relation Prediction in Text-to-SQL, (EMNLP’19)。
四.渐进式数据分析:在对话式数据分析中,用户常常使用指代或省略使问题更加简洁和连贯,针对用户提出的上下文相关的问题,研究员们提出了一种新的Split-and-Recombine语义解析算法框架,详细内容请参考论文 FANDA: A Novel Approach to Perform Follow-up Query Analysis, (AAAI’19), A Split-and-Recombine Approach for Follow-up Query Analysis, (EMNLP’19).
作为人们日常办公最重要的工具之一,Excel 功能强大而多样,但许多用户对 Excel 的使用停留在基础的表格制作与存储上,数据分析功能仍然具备一定的专业门槛。
基于数据智能领域丰富的研究成果,微软亚洲研究院开发了一个智能数据分析算法 AnnaParser,来提高 Excel 的智能数据分析能力。为了解决新表格实体识别的问题,AnnaParser 首先引入了一个数据抽象模块(data abstraction)来识别自然语言中与表格相关的部分,比如表名、列名、表格值,然后将这些词汇替换成相应的符号输入语义解析模块,使模型与表格不相关,提升了模型对不同表格的泛化能力。同时,为了实现领域知识的匹配,在实体识别阶段,AnnaParser 还引入了一个知识理解(knowledge understanding)模块,挖掘每个表格背后隐含的知识,表示成知识卡片(knowledge frame),提升实体识别的准确率。
在语义解析阶段,AnnaParser 将语义规则和深度学习算法结合起来,构建了一个自底向上(bottom-up)的解析框架来生成树形的逻辑表达。最后,将逻辑表达式转换为可执行的语言,例如 SQL 等。这个框架可以充分发挥语义逻辑的知识推理能力和深度神经网络的映射学习能力,拥有以下几个优点:首先,与传统的完全基于规则的方法相比,它具有良好的语言灵活性和泛化能力;其次,与端到端的神经网络模型相比,它具有良好的可解释性,容易进行系统调试和渐进调优,并且能够高效地利用通用知识和领域知识;再次,因为语义规则是语言无关的,而且深度神经网络无需进行复杂的特征工程,它具备良好的多语言扩展能力,大大降低了多语言支持的成本。
经过微软亚洲研究院与 Excel 团队的通力合作,AnnaParser 算法已经进入到 Excel 的“Ideas”预览版中。今后,你只要向 Excel 提出一个问题,Excel 就可以通过可视化图表的方式将智能数据分析结果呈现在你的眼前。AnnaParser 将让更多用户能够轻松、高效、零门槛地利用 Excel 进行数据分析,洞见各行各业数据中蕴藏的独特价值。
图3:对话式数据分析已进入 Excel 中的 Ideas 预览版功能