Press "Enter" to skip to content

论文浅尝 | 通过文本到文本神经问题生成的机器理解

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

论文笔记整理:程茜雅,东南大学硕士,研究方向:自然语言处理,知识图谱。

 

 

Citation: Yuan X, WangT, Gulcehre C, et al. Machine comprehension by text-to-text neural question generation[J]. arXiv preprint arXiv:1705.02012, 2017.

 

动机

 

1、 在智能系统里提出合适的问题有利于信息获取。

 

2、 学会提出问题有利于提高回答问题的能力。

 

3、 在大多数 QA(Question Answering) 数据集中回答问题属于抽取式 (extractive) 任务,相比较而言,提出问题属于生成式 (abstractive) 任务。

 

4、 提出一个好的问题所包含的技能远超于回答问题所需的技能。因为一个问题通常只有一个答案,但是针对一个答案可能有多个问题。因此提出一个高质量的问题较难。

 

5、QG(Question Generation) 应用广泛。譬如:为 QA 生成训练数据,自动导师系统等。

 

基于上述动机,本文构建了一个用于 QG 的神经模型,并将其应用在包含 QA 的任务中。这是第一个针对 QG 的端到端、文本到文本的模型。

 

方法

 

本文使用了 encoder-decoder 框架,其中 encoder 负责处理答案和文本, decoder 负责生成问题。最后使用强化学习训练模型。

 

1、Encoder-Decoder 框架

 

(1) Encoder

 

输入问题的答案和与问题有关的文本这两段序列。获取它们的 word embeddings 。给文本中每个 word embedding 增加一个二元特征来表示文本中的单词是否属于答案。使用双向 LSTM 神经网络对文本进行编码,得到每个单词的 annotation 向量 ( 其实就是隐状态 ) ,并最终得到文本的语境向量。另外,将文中属于答案的单词的 annotation 向量组合起来,并且和答案的 wordembedding 一一对应联结,并输入到一个双向 LSTM 神经网络中进行编码,将每个方向的隐状态联结起来得到基于文本的答案编码向量( extractive condition encoding )。将该 extractive condition encoding 和文本的语境向量相联结,得到最终的语境向量,送入 decoder 中。

 

(2) Decoder

 

基于 encoder 的文本和答案,生成问题。并使用了 pointer-softmax formulation ,选择从原文本中 copy 或者自己生成。使用 LSTM 和 attention 机制生成问题。

 

2、 政策梯度优化

 

(1) 动机

 

因为在训练 encoder-decoder 模型的过程中通常会使用 teacher forcing ,该方法存在一个弊端,它会阻止模型犯错,进而无法从错误中学习。所以本文使用强化学习来缓解这个问题。

 

(2) Rewards

 

本文在强化学习过程中使用了两种 rewards ,分别是 QA 的精确度结果 R_qa 和流畅性 R_ppl 。

 

QA : 将模型生成的问题和原文本输入到 QA 模型中 ( 本文用的是 MPCM 模型 ) ,得到答案,将该答案的精确度作为 reward R_qa ,对模型进行激励。

 

流畅性 (PPL) : 衡量生成问题的流畅性和语法正确性作为 reward R_ppl ,本文使用了 perplexity 。

 

 

最后分别对 R_qa 和 R_ppl 赋予权重,并相加得到总的 reward 。

 

(3) Reinforce

 

使用 REINFORCE 算法最大化模型的预期 reward 。

 

实验

 

1、 数据集

 

本文使用的是 SQuAD 数据集。

 

2、Baseline

 

使用包含 attention 和 pointer-softmax 的 Seq2Seq 模型作为 baseline 模型。该模型除了在获取基于文本的答案编码向量( extractive condition encoding )的方法上与本文的模型不同之外,其余部分和本文的模型一样, baseline 模型将所有文本的 annoation 向量取平均值作为基于文本的答案编码向量( extractive condition encoding )。

 

3、 评测方法

 

本文只使用了自动评测的方法。评测指标分别是 :NLL(negative log-likelihood) 、 BLEU 、 F1 、 QA(MPCM 生成的问题精度 ) 和 PPL(perplexity) 。

 

评测结果如下图所示:

 

 

4、 结论

 

(1) 模型的 BLEU 值很低,这是因为针对一个文本和答案,可能有多个不同的问题。

 

(2)baseline 模型生成的问题流畅但比较模糊,本文的模型生成的问题更加具体,但是流畅性低,存在错误。

 

下图是各个模型针对 text 生成的问题。

 

 

(3) 本文作者最后提出未来将研究人工评测来确定rewards和人类判断之间的关系,以此提升模型的效果。

 

思考与所得

 

依我之见,这篇文章有两个亮点值得借鉴。

 

1、对answer的编码处理方法。一般对于answer就是将它输入到一个RNN中,得到最后的隐状态。这种方式有一种弊端,得到的答案语境向量是脱离原文本而存在的,与文本的关联性较小。于是本文从输入的原文中找到对应于答案的annotation向量,将其组合起来,并将其一一和答案的word embedding相联结,输入到LSTM中进行编码,得到基于文本的答案向量。这样子就增强了答案向量和文本的相关性。

 

2、使用了政策梯度优化的强化学习方法训练模型。由于一般在训练过程中使用的teacher forcing无法让模型犯错,无法从错误中学习,所以本文用了强化学习的方法解决这个问题,其中针对本文的QG任务使用了两个特定的rewards。

 

 

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注