社会焦点

从短句到长文,计算机如何学习阅读理解(2)

字号+ 作者: 来源: 2017-05-09

做顶尖的机器阅读理解研究 正如前文所说,机器阅读理解的研究之路始终充满着许多困难和挑战。 首先是数据问题。目前基于统计方法(尤其是深度学习模型)的机器阅读理解的研究离不开大量的、人工标注的数据。在SQuAD

  做顶尖的机器阅读理解研究

正如前文所说,机器阅读理解的研究之路始终充满着许多困难和挑战。

首先是数据问题。目前基于统计方法(尤其是深度学习模型)的机器阅读理解的研究离不开大量的、人工标注的数据。在SQuAD数据集推出之前,数据集常常面临规模较小,或是质量不佳(因为多是自动生成)的问题,而SQuAD无论是在数据规模还是数据质量上都有一个很大的提升。在基于深度学习方法的研究背景下,数据量不够就很难做出有效、或是有用的模型,更难对模型进行合理、标准的测试。

另一方面则是算法问题。之前自然语言处理在做阅读理解或者是自动问答研究的时候,会把这个研究问题视作一个系统的工程,因而把这个问题分成许多不同的部分。例如先去理解用户的问题;再去找答案的候选;再将候选答案进行精挑细选、互相比较;最后对候选答案进行排序打分,挑选出最可能的答案或者生成最终的答案。而这个繁复的过程中,似乎其中的每一步都是可以优化的。

但它相应地也会带来一些问题。第一,当你分步去优化这其中的每一个过程的时候,你会去研究如何更好地理解这个问题,或是研究如何更好地把答案做对,这些分目标研究结果的整合未必能和“如何将阅读理解的答案正确找出来”这个目标完全吻合。第二,如果想做局部的优化,就意味着每一个局部过程都需要相应的(标注)数据,这使得阅读理解的研究进展缓慢。如果只使用问题-答案作为训练数据,中间模块的优化得到的监督信息不那么直接,因而很难有效。

结合了上述问题,微软亚洲研究院自然语言计算研究组的机器阅读理解研究团队采用的则是一个端到端的深度学习模型的解决方案,区别于上述的每一个细化环节的具体优化过程,他们采取的方法是把中间环节尽可能的省去,使得整体的过程能够得到最优效果。

实际上,SQuAD的挑战赛形式就是让系统在阅读完一篇几百词左右的短文之后再回答5个基于文章内容的问题。这个问题可能比大家熟知的高考英文阅读理解,或是托福阅读考试都要难得多。人们参加的这些考试往往是一个答案被限定住范围的选择题。

但是在SQuAD的数据集中,问题和答案具有非常丰富的多样性。这五个问题中可能涉及文章中的某一个人,某一个地点,或是某一个时间等等实体;也有可能会问一些为什么(Why)、怎么样(How)的问题。后者的答案可能实际上是一句话,甚至是一小段话,因此解决这个问题只会更加棘手。

另外,在SQuAD数据集中,除了问题的多样性之外,研究员们发现还有更多的挑战。比如语言(包括词级别和句子级别)的歧义性,对于同一个意思,问题和短文会用不同的词语或者句型表述(在标注指南中就明确要求标注者尽可能使用不同的表述)。另一个很有难度的挑战是对于有些问题,找到正确答案需要用到整篇短文中的不同句子的信息,进而对这些信息进行聚合和比较才能最终得出正确的答案。当然,也有一部分问题需要用到比较复杂的推理、常识和世界知识,面对这类问题就更是难以处理。下表是发布SQuAD数据集一文中给出的总结。

  从短句到长文,计算机如何学习阅读理解

表格来源:Rajpurkar et al. '16

目前SQuAD挑战赛采用两个评价标准来对参与系统的结果进行评测。由人工标注的答案作为标准,系统自动依据准确性和相似度两个不同的维度进行打分,较客观地保证了评分系统的公平性。微软亚洲研究院团队在这两个不同维度的评价标准上均取得了最优的成绩,其准确度达到了76.922%,相似度达到了84.006%,高出第二名近两个百分点。

  R-NET: 基于深度神经网络的端到端系统

为了研究机器阅读理解的问题,包括韦福如和杨南等在内的研究团队试图去建模人做阅读理解的过程。他们采用了R-NET,一个多层的网络结构,分别从四个层面对整个阅读理解任务的算法进行了建模。

我们在做阅读理解的过程中,一个常见的顺序是这样的:首先阅读整篇文章,对文章有一个初步理解之后再去审题,从而对问题也有了一定认知。第二步,可能就需要将问题和文中的部分段落和内容做一些关联。例如题干中出现的某些关键已知信息(或证据)的,找出一些候选答案,举例来说:如果问题问的信息是时间,那么文中出现的与时间相关的信息就可能是候选答案。第三步,当我们将候选答案与问题进行对应之后,我们还需要综合全文去看待这些问题,进行证据的融合来辅证答案的正确性。最后一步,就是针对自己挑出的答案候选进行精筛,最终写下最正确的答案。

有鉴于此,研究组提出的模型也就分为这样的四层。最下面的一层做表示学习,就是给问题和文本中的每一个词做一个表示,即深度学习里的向量。这里研究组使用的是多层的双向循环神经网络。第二步,就是将问题中的向量和文本中的向量做一个比对,这样就能找出那些问题和哪些文字部分比较接近。接下来,将这些结果放在全局中进行比对。这些都是通过注意力机制(attention)达到的。最后一步,针对挑出的答案候选区中的每一个词汇进行预测,哪一个词是答案的开始,到哪个词是答案的结束。这样,系统会挑出可能性最高的一段文本,最后将答案输出出来。整个过程就是一个基于以上四个层面的神经网络的端到端系统(见下图)。

转载请注明出处。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章