机器阅读理解是自然语言处理的一个子任务,回答这一类的问题需要对文本的深层次含义进行理解建模。该任务属于高级别抽象的认知任务,传统方法还是依靠一些特征工程的手段去对文本语义的一部分做出归纳。深度学习技术在这个领域虽然也有一些工作提出,但是由于受到训练集大小的限制,现阶段取得的成果并不具备优势。就目前的研究成果来看,机器阅读理解的研究未来有三方面值得关注。
第一,首先从统计的角度分析,现有针对问答系统的深度学习技术(如记忆网络、神经图灵机、关注模型)都是需要大量数据才能很好的训练的,如果把阅读理解过程当成一个非常复杂的函数,这个函数实现从文本(函数自变量)到知识(函数因变量)的映射,由于映射过程复杂,值域定义域非常之大,所以想通过数据对这个函数进行拟合(深度神经网络的训练过程),则需要大量数据才能完成。而由于阅读理解包含高度抽象的推理过程,相对于低抽象(语言模型等)过程数据自动获取难度较大,因而人工构造一些庞大的数据集,又非常困难。但是,现有的其他自然语言处理资源很多(如知识库、情感分析数据集、关系分类数据集等),每一部分都包括了不同的语言学现象,如何利用现有的含有不同语义特征的语言学资源来帮助完成阅读理解任务,使现有的神经网络方法能够很好的展现其能力,是未来阅读理解研究的一个重要方向。
第二,从逻辑的角度来看,对过程进行建模如果从统计的角度则需要大数据,而通过逻辑的角度则是一条条规则。现有基于 Lamada 表达式和一阶谓词逻辑的 semantic parsing 方法展现出了很强的推理能力。但是这些规则的构造非常困难,而且领域适应性太差。如何依靠数据对规则进行建模是一个非常期待的研究方向。现在的马尔可夫逻辑网,概率软逻辑在这一方面展现了很好的性能,但是由于这些工作的基本单元还是符号规则,因而应用性还是不高。如何将最基本的规则单元从符号转换到连续数值空间,使之有更强的鲁棒性和数据驱动性则是一个亟待解决的问题。虽然现有一些方法能够将逻辑规则单元转化成张量表达,但是由于对张量的不同操作(内积、外积)等和实际的逻辑操作(析取、合取、并)等有所差别,所以在这一方面推进还很有挑战。
第三,现有的深度学习方法往往着重于句子整体的语义(因而叫做黑盒模型),实行端对端的训练,这样的方式虽然简单,但是可解释性太差,内部机制(除去统计角度)还难以理解。那么,我们是不是可以把阅读理解“推理”任务拆分开来,把整个文本理解过程当作很多更为细粒度的语义分析过程的集合,然后对每一个子部分进行建模。最后将这些子过程有机(同步、异步、时间先后)结合在一起,组成最后的理解过程,是不是会有更好的效果和更好的解释性。并且依靠深度学习技术,建模过程会相对简单,这一问题还有待研究。
本文对于机器阅读理解任务,以及目前的一些代表性的方法进行了简要综述。随着近些年来人工智能的发展,人们不仅仅满足于计算机能够帮助我们实现计算、统计,还希望计算机能够帮助我们实现推理;不仅仅希望计算机能够“听”我们,更希望它们能够“懂”我们。近一段时间,大型互联网公司都着重在人工智能上加大力度投入研究,Facebook 成立了人工智能实验室,谷歌研制的阿尔法狗也战胜了人类围棋冠军。机器阅读理解虽然现阶段属于自然语言处理的一个子任务,但是它却是机器人工智能的一个很好的体现。回答选择题是表象,理解文本是内在。相信随着越来越多研究人员投入到自然语言理解领域,机器阅读理解也将迎来更大的发展。