机器阅读理解(英文Machine Reading Comprehension,简称MRC)是近期自然语言处理领域的研究热点之一,更是人工智能在处理和理解人类语言进程中的一个长期目标。得益于深度学习技术和大规模标注数据集的发展,用端到端的神经网络来解决阅读理解任务取得了长足的进步。
人类可以轻而易举地阅读理解自己的母语,而机器却难于阅读理解自然语言。要想让机器阅读理解自然语言,就需要把自然语言转化成它可以用来读取、存储、计算的数值形式。当若干自然语言被转换为数值之后,机器通过在这些数值之上的一系列运算来确定它们之间的关系,再根据一个全集之中个体之间的相互关系,来确定某个个体在整体(全集)中的位置。
机器阅读理解是一种利用算法使计算机理解文章语义并回答相关问题的技术。由于文章和问题均采用自然语言的形式,因此机器阅读理解属于自然语言处理的范畴,也是其中最新、最热门的课题之一。近年来,随着机器学习(Machine Learning),特别是深度学习的飞速发展,机器阅读理解研究有了长足的进步,并在实际应用中崭露头角。
随着机器阅读理解技术的发展,阅读理解任务也在不断升级。从早期的“完形填空形式”,发展到基于维基百科的“单文档阅读理解”,如以斯坦福大学设计的SQuAD 为数据集的任务;并进一步升级至基于web(网页)数据的“多文档阅读理解”,这一形式的典型代表是以微软公司MS-MARCO、百度公司DuReader 为数据集的任务。
目前,针对不同的阅读理解任务,研究人员已经设计出多种模型,并取得初步成效。然而在多文档阅读理解任务中,由于与问题相关的文档很多,带来的歧义也更多,由此可能最终导致阅读理解模型定位错误的答案。面对这些问题,人类的思考模式通常为:先找到多个候选答案,通过对比多个候选答案的内容,选出最终答案,由此来找到准确率最高的答案。
早期的阅读理解模型大多基于检索技术,即根据问题在文章中进行搜索,找到相关的语句作为答案。但是,信息检索主要依赖关键词匹配,而在很多情况下,单纯依靠问题和文章片段的文字匹配找到的答案与问题并不相关。随着深度学习的发展,机器阅读理解进入了神经网络时代。相关技术的进步给模型的效率和质量都带来了很大的提升,使机器阅读理解模型的准确率不断提高。
基于深度学习的机器阅读理解模型虽然构造各异,但是经过多年的实践和探索,逐渐形成了稳定的框架结构。机器阅读理解模型的输入为文章和问题。因此,首先要对这两部分进行数字化编码,变成可以被计算机处理的信息单元。在编码的过程中,模型需要保留原有语句在文章中的语义。我们把模型中进行编码的模块称为编码层。
接下来,由于文章和问题之间存在相关性,模型需要建立文章和问题之间的联系。这可以通过自然语言处理中的注意力机制加以解决。在这个过程中,阅读理解模型将文章和问题的语义结合在一起进行考量,进一步加深模型对于两者各自的理解。我们将这个模块称为交互层。
经过交互层,模型建立起文章和问题之间的语义联系,就可以预测问题的答案。完成预测功能的模块称为输出层;由于机器阅读理解任务的答案有多种类型,因此输出层的具体形式需要和任务的答案类型相关联。这可以通过自然语言处理技术来寻找答案,并加以解决。
自然语言处理是实现机器和人机交互愿景的重要技术基石,机器阅读理解则可被视为自然语言处理领域皇冠上的明珠之一。机器阅读理解将让知识获取不受人脑的限制;但对于机器阅读理解的“能理解会思考”的终极目标来说,现在还只是万里长征的开始。
有关专家认为,端到端的深度神经网络可以更好地发现自然语言处理中的一些潜在特征,从而提高机器阅读理解的准确率。对自然语言的更深层次的归纳总结、知识引用、推理归因以及知识图谱和迁移学习,将是机器阅读理解的未来发展方向。
作为人工智能技术的重要分支,机器阅读理解将越来越多地应用于各行业。正如国际知名学者周海中教授曾经预言:“随着科技进步,人工智能时代即将到来;届时,人工智能技术将广泛应用到各学科领域,会产生意想不到的效果。”
本文转载自51CTO,本文一切观点和机器智能技术圈子无关。原文链接
在线免费体验百种AI能力:【点此跳转】