机器阅读理解:如何让计算机读懂文章

机器阅读理解:如何让计算机读懂文章

20192月,中国计算机学会通讯第15卷第2期发表了微软公司朱晨光的一篇文章,《机器阅读理解:如何让计算机读懂文章》,该文章通过对自然语言处理中的机器阅读理解任务和模型求解两大模块的解释为我们介绍了当前解决机器阅读理解问题的总体步骤,并在文章最后提到了机器阅读理解当前在无监督学习,推理能力,文本表示等三个课题的挑战

一、机器阅读理解任务

从人类的角度来看,是否理解一篇文章最直接的判断方式就是进行问答考核,即给定文章和与之相关的问题,评判阅读者给出的答案是否正确。最简单的一个例子就是搜索引擎根据输入词找到相关文档并给出精确答案。而这个搜索引擎的例子就体现了搜索引擎作为机器理解了输入的关键词的意思并给出答案。而这个目标称为机器阅读理解任务。

图1.百度搜索引擎根据关键词机器阅读理解给出相关答案

朱晨光在文章中将机器阅读理解任务根据给定语料,答案形式,问答形式分别分类为单段落问答、多段落问答,段落中连续片段、多项选择,单轮问答、有上下文的多轮问答等形式。如图,

图2.机器阅读理解任务的分类

根据给定语料分类:

①单段落问答:给定一个段落,对段落相关问题,算法需在段落中找到对应 答案。

②多段落问答:给定一个大的语料库,对一个问题,算法需要检索到答案段 落,再进行问答。

根据答案形式分类:

①段落中连续片段:答案一定是段落中一段连续的文本,模型需要给出答案 在段落中的起止位置。

②多项选择:答案为给定若干备选项,算法需要选出一个或多个正确答案。

根据问答形式分类:

①单轮问答:不同轮的问题和答案相互独立。

②多轮问答:邻近轮的问答之间存在相关性,算法给出答案需要考虑上下文。 

二、模型求解

文章为我们简要介绍了端到端深度学习模型,并将阅读理解模型分为三个核心模块进行讲解,而端到端深度学习模型这也是现在应用较为广泛的机器阅读理解算法。

端到端深度学习模型:输入为原始的段落和问题文本,中间是可以求导优化的网络模型,而输出即为答案。

阅读理解模型三大核心模块:

①对段落/问题进行有上下文的语义分析。

②计算段落的不同片段与问题之间的相关度。

③根据相关度进行答案生成。 

上下文的语义分析:

阅读理解模型首先需要对输入文本分词处理后,将每个词转化成词向量进行分析,而固定长度的词向量在不同语境中可能有不一样的语义,因此要结合上下文计算出当前词的语义。文章中为我们提到了一种在词向量上采用循环神经网络(RNN),通过信息流动获得每个词在上下文中的向量表示的通用办法。

 

计算段落片段与问题相关度:

在机器阅读理解任务中提到的问题会与段落相关,因此对段落的语义分析还要将问题的理解纳入考量。一种常见于做英语阅读理解的方法,即用一个比特位来表示它是否在问题中出现。而使用注意力机制可以在深度学习中得到更好的效果,文章为我们介绍了一种基于内积的注意力机制算法

 

答案生成:

多项选择类型:通过神经网络中的线性变换层生成每个选项的概率并使用交叉熵求导优化。

段落片段类型:用段落位置作答案开始结束的概率来统计出最大概率的答案区间。文章里介绍了第二个算法,用于段落片段类型答案生成。

 

三、当前机器阅读理解的挑战

文章最后为我们提到了当今机器学习模型仍远没有达到人类理解文本的精确程度。虽然在深度学习领域有充足的进步,但离人类水平还有很大差距,真正的智能阅读理解上依然是个巨大挑战,在加强模型的深度理解能力上,作者为我们介绍了3个方向。

无监督学习:让阅读理解模型尽可能脱离对人工标注数据的依赖,实现更自主性,自动化的模型学习。

推理能力:在阅读理解模型里实现人类特有的归纳推理能力,即让模型体现出有自主方向的联想能力。

文本表示:在自然语言处理中关于词向量和句向量已有大量研究,常见以TF-IDF延伸出来,而现在需要在段落和长文本上研究出更好的向量表示方法。出于机器阅读理解任务和段落相关,作者在这方面建议将问答数据作为考量。

撰稿:蔡剑

审稿:丁美荣

 

 

 



登录用户可以查看和发表评论, 请前往  登录 或  注册
SCHOLAT.com 学者网
免责声明 | 关于我们 | 用户反馈
联系我们: