返回介绍

PaperWeekly 第六期 - 机器阅读理解

发布于 2025-01-21 00:48:32 字数 10941 浏览 0 评论 0 收藏 0

本期 paperweekly 的主题是 Question Answering Models,解决这一类问题可以很好地展现 AI 理解人类自然语言的能力,通过解决此类 dataset 可以给 AI 理解人类语言很好的 insights。问题的定义大致是,给定较长一段话的 context 和一个较短的问题,以及一些 candidate answers,训练一些可以准确预测正确答案的模型。

此问题也存在一些变种,例如 context 可以是非常大块的 knowledge base,可以不提供 candidate answers 而是在所有的 vocabulary 中搜索答案,或者是在 context 中提取答案。

基于(Recurrent) Neural Network 的一些模型在这一类问题上给出了 state of the art models,本期 paperweekly 就带领大家欣赏这一领域有趣的工作。

Attention-over-Attention Neural Networks for Reading Comprehension

作者

Yiming Cui, Zhipeng Chen, Si Wei, Shijin Wang, Ting Liu and Guoping Hu

单位

iFLYTEK Research, China
Research Center for Social Computing and Information Retrieval, Harbin Institute of Technology, China

关键词

Question Answering, Attentive Readers

来源

arXiv, 201608

问题

本文优化了 attention 机制,同时 apply question-to-document and document-to-question attention,提升了已有模型在 Cloze-Style Question Answering Task 上的准确率。

模型

本文解决的是 Cloze-style question answering 的问题,给定一个 Document 和一个 Query,以及一个 list 的 candidate answers,模型需要给出一个正确答案。

已有的模型大都通过比较每一个 Query + candidate answer 和 context document 的相似性来找出正确答案,这种相似性 measure 大都通过把 query 投射到 context document 每个单词及所在 context 的相似性来获得。本文的不同之处在于模型还计算了 context 投射到每个 query 单词的相似度,进一步丰富了 context 和 query 相似度的计算。

首先,document 和 query 都会被 model 成 biGRU。

然后使用 document biGRU 和 query biGRU 的每一个 position 做 inner product 计算,可以得到一个 similarity matrix。

对这个 matrix 做一个 column-wise softmax,可以得到每个 query 单词在每个 document 单词上的 similarity。

similarly,对这个 matrix 做一个 row-wise softmax,可以得到每个 document 单词在每个 query 单词上的 similarity。

取个平均就得到了每个 query 单词在整个 context document 上的 similarity。

然后把 alpha 和 beta 做个 inner product 就得到了每个 context document word 的 probability。

每个 candidate answer 的 probability 就是它出现在上述 s 中的 probability 之和。

Loss Function 可以定义为正确答案的 log probability 之和。

资源

相关工作

利用 attentive readers 解决 question answering 问题最早出自 deep mind: teaching machines to read and comprehend。后来又有 Bhuwan Dhingra: Gated-Attention Readers for Text Comprehension 和 Danqi Chen: A Thorough Examination of the CNN/Daily Mail Reading Comprehension Task,以及其他相关工作,在此不一一赘述。

简评

本文很好地完善了 attentive reader 的工作,同时考虑了 query to document and document to query attentions,在几个 data set 上都取得了 state of the art 效果,思路非常清晰,在 question answering 问题上很有参考价值。

MACHINE COMPREHENSION USING MATCH-LSTM AND ANSWER POINTER

作者

Shuohang Wang, Jing Jiang

单位

Singapore Management University

关键词

Machine comprehension, Match-LSTM, Pointer Net

来源

arXiv,201608

问题

提出一种结合 match-LSTM 和 Pointer Net 的端到端神经网络结构,来解决 SQuAD 数据集这类没有候选项且答案可能是多个词的 machine comprehension 问题。

模型

本文提出的模型结合了 match-LSTM(mLSTM) 和 Pointer Net(Ptr-Net) 两种网络结构。

1、match-LSTM

mLSTM 是由 Wang 和 Jiang 提出的一种解决文本蕴含识别(RTE)问题的一种神经网络结构。模型结构见下图,该模型首先将 premise 和 hypothesis 两句话分别输入到两个 LSTM 中,用对应 LSTM 的隐层输出作为 premise 和 hypothesis 中每个位置对应上下文信息的一种表示(分别对应图中的 Hs 和 Ht)。对于 hypothesis 中的某个词的表示 ht_i,与 premise 中的每个词的表示 Hs 计算得到一个权重向量,然后再对 premise 中的词表示进行加权求和,得到 hti 对应的上下文向量 a_i(attention 过程)。最后把 hypothesis 中该词的表示 ht_i 和其对应的 context 向量 a_i 拼接在一起,输入到一个新的 LSTM 中。该模型将两个句子的文本蕴含任务拆分成词和短语级别的蕴含识别,因此可以更好地识别词之间的匹配关系。

2、 Pointer networks

该模型与基于 attention 的生成模型类似。区别之处在于,pointer networks 生成的结果都在输入序列中,因此 pointer networks 可以直接将 attention 得到的 align 向量中的每个权重直接作为预测下一个词对应的概率值。

3、 Sequence Model & Boundary Model

本文提出的模型结构见下图,具体到本文的神经网络结构,可以简单分为下面两部分:


(1)Match-LSTM 层:该部分将 machine comprehension 任务中的 question 作为 premise,而 passage 作为 hypothesis。直接套用上述的 mLSTM 模型得到关于 passage 每个位置的一种表示。为了将前后方向的上下文信息全部编码进来,还用相同的方法得到一个反向 mLSTM 表示,将两个正反方向的表示拼接在一起作为最终 passage 的表示。

(2)生成答案序列部分,论文中提出了两种生成方法:

  • Sequence 方法与 Pointer Net 相同,即根据每一个时刻 attention 的 align 向量生成一个词位置,直到生成终止符为止。
  • Boundary 方法则是利用 SQuAD 数据集的答案均是出现在 passage 中连续的序列这一特点,该方法仅生成首尾两个位置,依据起始位置和终止位置来截取 passage 的一部分作为最终的答案。

本文在 SQuAD 数据集上进行实验,两种方法实验结果较之传统 LR 方法均有大幅度提升。其中 Boundary 方法比 Sequence 方法效果更好。

资源

相关工作

数据集相关论文
SQuAD: 100,000+ Questions for Machine Comprehension of Text
模型相关论文
Learning Natural Language Inference with LSTM
Pointer networks

简评

本篇论文提出的模型是第一个在 SQuAD 语料上应用端到端神经网络的模型,该模型将 Match-LSTM 和 Pointer Networks 结合在一起,利用了文本之间的蕴含关系更好地预测答案。
本文提出了两种方法来生成答案,其中 Boundary 方法巧妙地利用 SQuAD 数据集的答案均是文本中出现过的连续序列这一特点,只生成答案的起始和终止位置,有效地提升了模型的效果。

Dataset and Neural Recurrent Sequence Labeling Model for Open-Domain Factoid Question Answering

作者

Peng Li, Wei Li, Zhengyan He, Xuguang Wang, Ying Cao, Jie Zhou, Wei Xu

单位

Baidu IDL

关键词

Question Answering, Sequence Labeling, CRF

来源

arXiv, 201609

问题

作者给出了一个新的中文的 QA 数据集,并且提出了一个非常有意思的 baseline model.

模型

1、WebQA Dataset

作者来自百度 IDL, 他们利用百度知道和一些其他的资源,构建了这个中文的 QA 数据集. 这个数据集里所有的问题都是 factoid 类型的问题,并且问题的答案都只包含一个 entity (但是一个 entity 可能会包含多个单词). 对于每个问题,数据集提供了若干个’evidence’, 这些 evidence 是利用搜索引擎在网络中检索的。

2、Recurrent Sequence Labeling Model

作者把 QA 类型的问题看做 sequence labeling 问题,给出的模型大概分三部分:

(1)Question LSTM
这部分很简单,就是普通的单向 LSTM, 对整个 Question sequence 进行 encoding, 之后计算 self-attention, 并用 attention 对 question encoding 求加权平均作为问题的 representation.

(2)Evidence LSTMs
这部分比较有意思,首先,作者从数据中提取出两种 feature: 每个词是否在 question 和 evidence 中共同出现,以及每个词是否同时在多个 evidence 中出现. 之后,模型用一个三层的单向 LSTM 对 evidence/quesiton/feature 进行编码。

  • 第一层: 将 evidence/question representation/feature 进行连接,放进一个正向 LSTM.
  • 第二层: 将第一层的结果放入一个反向 LSTM.
  • 第三层: 将第一层和第二层的结果进行连接,放进一个正向 LSTM.

(3)CRF
经过 evidence LSTMs, question 和 evidence 的 representation 已经揉在一起,所以并不需要其他 QA 模型(主要是 Attention Sum Reader) 广泛用的,用 question representation 和 story representation 进行 dot product, 求 cosine similarity. 这时候只需要对 evidence representation 的每一个 time step 进行分类就可以了,这也是为什么作者将数据标注成 IOB tagging 的格式,我们可以直接用一个 CRF 层对数据进行预测. 在一些实验中,作者将答案之前的词用 O1, 答案之后的词用 O2 进行标注,这又给了模型关于非答案词的位置信息(正确答案是在这个词的前面还是后面).

资源

相关工作

  • 关于 CRF 进行序列标注的问题,可以参考这篇文章。
    Zhiheng Huang, Wei Xu, and Kai Yu. 2015. Bidirectional LSTM-CRF models for sequence tagging. arXiv:1508.01991v1.
  • 关于 multi-word 答案选择在 SQuAD dataset 上的模型,可以参考这篇。
    Shuohang Wang, Jing Jiang. 2016. Machine Comprehension Using Match_LSTM and Answer Pointer. arXiv: 1608.07905v1.

简评

首先对所有 release 数据集的人表示感谢。
关于 dataset 部分,百度利用了自己庞大的资源收集数据. 第一,百度知道里的问题都是人类问的问题,这一点相比于今年前半年比较流行的 CNN/CBT 等等 cloze style 的问题,要强很多. 第二,数据集中包含了很多由多个词组成的答案,这也使数据集的难度大于 CNN/CBT 这种单个词作为答案的数据. 第三,对于每个问题,并没有给出备选答案,这使得对于答案的搜索空间变大(可以把整个 evidence 看做是备选答案). 第四,对于每一个问题, dataset 中可能有多个 supporting evidence, 这也迎合了最近 multi-supporting story 的趋势,因为对于有些问题,答案并不只在某一个单一的文章中(对于百度来说,如果搜索一个问题,那么答案并不一定在单一的搜索结果网页中), 那么一个好的 model 需要在有限的时间内对尽可能多的搜索结果进行检索。

关于 model 部分,本文尝试将 QA 问题看做是序列标注问题,某种意义上解决了 multiword answer 的难点. 熟悉前半年 QA paper 的人都会对 Attention Sum Reader 以及延伸出来的诸多模型比较熟悉,由于用了类似 Pointer Network 的机制,一般的模型只能从文中选择 story 和 question 的 cosine similarity 最高的词作为答案,这使得 multiple word answer 很难处理,尤其是当 multiple answer word 不连续的时候,更难处理. 而 CRF 是大家都熟知的简单高效的序列标注工具,把它做成可训练的,并且放在 end to end 模型中,看起来是非常实用的. 在 Evidence LSTM 的部分,加入的两个 feature 据作者说非常有帮助,看起来在 deep learning 模型中加入一些精心设计的 feature, 或者 IR 的要素,有可能能够对模型的 performance 给予一定的提升. 在 entropy 的角度,虽然不一定是 entropy reduction, 因为这些信息其实本来已经包含在 question/evidence 中了,但是有可能因为你提供给模型这些信息,它就可以把更多精力用在一些其他的特征上?

另外值得一提的是,最近 Singapore Management University 的 Wang and Jiang 也有所突破,在 SQuAD dataset(也是 multiple word answer) 上一度取得了 state of the art 的结果,他们用的 mLSTM 模型也十分有趣。

总结

这一类 model 都大量使用了 Recurrent Neural Network(LSTM 或者 GRU) 对 text 进行 encoding,得到一个 sequence 的 hidden state vector。然后通过 inner product 或者 bilinear term 比较不同位置 hidden state vector 之间的 similarity 来计算它们是正确答案的可能性。可见 Recurrent Neural Network 以及对于 Similarity 的定义依旧是解决此类问题的关键所在,更好地改良这一类模型也是提升准确率的主流方法。笔者认为,similarity 的计算给了模型从原文中搜索答案的能力,然而模型非常缺乏的是推理和思考的能力(其实也有相关工作 Towards Neural Network-based Reasoning ),如果模型能够配备逻辑思考能力,那么解决问题的能力会大大增强。非常期待有新的思路能够出现在这一领域中,令 AI 能够更好地理解人类语言。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文