机器阅读理解:算法与实践
上QQ阅读APP看书,第一时间看更新

1.1 机器阅读理解任务

学者C. Snow于2002年发表的一篇论文C. Snow.《Reading for understanding: Toward an R&D program in reading comprehension》. 2002.中将阅读理解定义为“通过交互从书面文字中提取与构造文章语义的过程”。而机器阅读理解的目标是利用人工智能技术,使计算机具有和人类一样理解文章的能力。图1-1所示为机器阅读理解的一个样例。示例中,机器阅读理解模型需要用文章中的一段原文来回答问题。

图1-1 机器阅读理解任务样例朱晨光,《机器阅读理解:如何让计算机读懂文章》,中国计算机学会通讯,2019。

1.1.1 机器阅读理解模型

机器阅读理解模型的输入为文章和问题文本,输出为最终的回答。为了完成任务,模型需要深度分析文章语义以及文章和问题之间的联系,然后根据文章中的内容作出准确回答。当前,绝大多数机器阅读理解算法均采用深度学习模型,利用深度神经网络进行建模与优化。深度学习的特点是,模型能根据训练集上预测的准确度直接优化参数,不断提高模型性能,从而达到很好的效果。机器阅读理解所涉及的深度学习架构的概念、原理和实现将在第3章中介绍。

由于深度学习需要在数值空间处理信息,因此阅读理解模型首先要对文章和问题进行数字化表示,形成文本编码。常见的方法是词向量(word vector):将文本分成若干单词,然后用一串数字(即一个向量)表示一个单词(见表1-1)。常用的中英文分词与词向量生成算法将在第2章中介绍。

表1-1 文本的数字化表示:分词与词向量

接下来,机器阅读理解模型会对这些数字化编码进行各种操作,获得上下文信息以及文章和问题之间的语义关联,从而获取有关答案的线索。一般而言,基于深度学习的机器阅读理解模型的架构分为3个部分:

❏ 编码层对文章和问题进行单词编码,并完成上下文语义分析;

❏ 交互层处理文章和问题之间的关联信息,找出文章中与问题相关的线索;

❏ 输出层将之前处理的信息按照任务要求生成答案。

本书第4章将详细介绍上述网络层的具体架构与求解方式。不同的机器阅读理解模型通常是上述3个部分中使用不同的模块与连接方式。但无论哪种阅读理解模型,其训练过程都依赖于人工标注的数据,如大量文章-问题-答案的三元组。1.5节将介绍当前使用最广泛的阅读理解数据集。

但是,生成这些标注数据需要花费大量的时间和人力。因此,近年来自然语言处理界提出了预训练+微调模式:在大量无标注文本数据上训练大规模模型,然后在少量具体任务的标注数据(如阅读理解)上进行微调。这种模式取得了很好的效果,也有效缓解了标注数据缺乏的问题。预训练模型的原理及其在机器阅读理解上的使用方式将在第6章介绍。

1.1.2 机器阅读理解的应用

随着各行各业文本数据的大量产生,传统的人工处理方式因为处理速度慢、开销巨大等因素成为产业发展的瓶颈。因此,能自动处理分析文本数据并从中抽取语义知识的机器阅读理解技术逐渐受到人们的青睐。

例如,传统的搜索引擎只能返回与用户查询相关的文档,而阅读理解模型可以在文档中精确定位问题的答案,从而提高用户体验。在客户服务中,利用机器阅读理解在产品文档中找到与用户描述问题相关的部分并给出详细解决方案,可以大大提高客服效率。在智能医疗领域,阅读理解模型能根据患者症状描述自动查阅大量病历和医学论文,找到可能的病因并输出诊疗方案。在语言教育方面,可以利用阅读理解模型批改学生的作文并给出改进意见,随时随地帮助学生提高作文水平。本书将在第8章介绍更多机器阅读理解的应用领域。

可以看出,凡是需要自动处理和分析大量文本内容的场景下,机器阅读理解都可以帮助节省大量人力和时间。在很多领域中,如果阅读理解模型的质量没有达到完全替代人类的水平,可采用与人工结合的方式,利用计算机处理简单高频的问题,从而达到降低成本的作用。因此,机器阅读理解成为当前人工智能研究中最前沿、最热门的方向之一。