论文浅尝 | 通过文本到文本神经问题生成的机器理解
論文筆記整理:程茜雅,東南大學(xué)碩士,研究方向:自然語言處理,知識圖譜。
?????
Citation: Yuan X, WangT, Gulcehre C, et al. Machine comprehension by text-to-text neural question generation[J]. arXiv preprint arXiv:1705.02012, 2017.
?
動機(jī)
1、在智能系統(tǒng)里提出合適的問題有利于信息獲取。
2、學(xué)會提出問題有利于提高回答問題的能力。
3、在大多數(shù)QA(Question Answering)數(shù)據(jù)集中回答問題屬于抽取式(extractive)任務(wù),相比較而言,提出問題屬于生成式(abstractive)任務(wù)。
4、提出一個好的問題所包含的技能遠(yuǎn)超于回答問題所需的技能。因為一個問題通常只有一個答案,但是針對一個答案可能有多個問題。因此提出一個高質(zhì)量的問題較難。
5、QG(Question Generation)應(yīng)用廣泛。譬如:為QA生成訓(xùn)練數(shù)據(jù),自動導(dǎo)師系統(tǒng)等。
基于上述動機(jī),本文構(gòu)建了一個用于QG的神經(jīng)模型,并將其應(yīng)用在包含QA的任務(wù)中。這是第一個針對QG的端到端、文本到文本的模型。
方法
本文使用了encoder-decoder框架,其中encoder負(fù)責(zé)處理答案和文本,decoder負(fù)責(zé)生成問題。最后使用強(qiáng)化學(xué)習(xí)訓(xùn)練模型。
1、Encoder-Decoder框架
(1)??Encoder
輸入問題的答案和與問題有關(guān)的文本這兩段序列。獲取它們的word embeddings。給文本中每個word embedding增加一個二元特征來表示文本中的單詞是否屬于答案。使用雙向LSTM神經(jīng)網(wǎng)絡(luò)對文本進(jìn)行編碼,得到每個單詞的annotation向量(其實就是隱狀態(tài)),并最終得到文本的語境向量。另外,將文中屬于答案的單詞的annotation向量組合起來,并且和答案的wordembedding一一對應(yīng)聯(lián)結(jié),并輸入到一個雙向LSTM神經(jīng)網(wǎng)絡(luò)中進(jìn)行編碼,將每個方向的隱狀態(tài)聯(lián)結(jié)起來得到基于文本的答案編碼向量(extractive condition encoding)。將該extractive condition encoding和文本的語境向量相聯(lián)結(jié),得到最終的語境向量,送入decoder中。
(2)??Decoder
基于encoder的文本和答案,生成問題。并使用了pointer-softmax formulation,選擇從原文本中copy或者自己生成。使用LSTM和attention機(jī)制生成問題。
2、政策梯度優(yōu)化
(1)??動機(jī)
因為在訓(xùn)練encoder-decoder模型的過程中通常會使用teacher forcing,該方法存在一個弊端,它會阻止模型犯錯,進(jìn)而無法從錯誤中學(xué)習(xí)。所以本文使用強(qiáng)化學(xué)習(xí)來緩解這個問題。
(2)??Rewards
本文在強(qiáng)化學(xué)習(xí)過程中使用了兩種rewards,分別是QA的精確度結(jié)果R_qa和流暢性R_ppl。
QA:將模型生成的問題和原文本輸入到QA模型中(本文用的是MPCM模型),得到答案,將該答案的精確度作為 reward R_qa,對模型進(jìn)行激勵。
流暢性(PPL):衡量生成問題的流暢性和語法正確性作為reward R_ppl,本文使用了perplexity。
最后分別對R_qa和R_ppl賦予權(quán)重,并相加得到總的reward。
(3)??Reinforce
使用REINFORCE算法最大化模型的預(yù)期reward。
實驗
1、數(shù)據(jù)集
本文使用的是SQuAD數(shù)據(jù)集。
2、Baseline
使用包含attention和pointer-softmax的Seq2Seq模型作為baseline模型。該模型除了在獲取基于文本的答案編碼向量(extractive condition encoding)的方法上與本文的模型不同之外,其余部分和本文的模型一樣,baseline模型將所有文本的annoation向量取平均值作為基于文本的答案編碼向量(extractive condition encoding)。
3、評測方法
本文只使用了自動評測的方法。評測指標(biāo)分別是:NLL(negative log-likelihood)、BLEU、F1、QA(MPCM生成的問題精度)和PPL(perplexity)。
?? 評測結(jié)果如下圖所示:
4、結(jié)論
(1)??模型的BLEU值很低,這是因為針對一個文本和答案,可能有多個不同的問題。
(2) baseline 模型生成的問題流暢但比較模糊,本文的模型生成的問題更加具體,但是流暢性低,存在錯誤。
下圖是各個模型針對text生成的問題。
(3)本文作者最后提出未來將研究人工評測來確定rewards和人類判斷之間的關(guān)系,以此提升模型的效果。
思考與所得
依我之見,這篇文章有兩個亮點值得借鑒。
??? 1、對answer的編碼處理方法。一般對于answer就是將它輸入到一個RNN中,得到最后的隱狀態(tài)。這種方式有一種弊端,得到的答案語境向量是脫離原文本而存在的,與文本的關(guān)聯(lián)性較小。于是本文從輸入的原文中找到對應(yīng)于答案的annotation向量,將其組合起來,并將其一一和答案的word embedding相聯(lián)結(jié),輸入到LSTM中進(jìn)行編碼,得到基于文本的答案向量。這樣子就增強(qiáng)了答案向量和文本的相關(guān)性。
??? 2、使用了政策梯度優(yōu)化的強(qiáng)化學(xué)習(xí)方法訓(xùn)練模型。由于一般在訓(xùn)練過程中使用的teacher forcing無法讓模型犯錯,無法從錯誤中學(xué)習(xí),所以本文用了強(qiáng)化學(xué)習(xí)的方法解決這個問題,其中針對本文的QG任務(wù)使用了兩個特定的rewards。
OpenKG
開放知識圖譜(簡稱 OpenKG)旨在促進(jìn)中文知識圖譜數(shù)據(jù)的開放與互聯(lián),促進(jìn)知識圖譜和語義技術(shù)的普及和廣泛應(yīng)用。
點擊閱讀原文,進(jìn)入 OpenKG 博客。
總結(jié)
以上是生活随笔為你收集整理的论文浅尝 | 通过文本到文本神经问题生成的机器理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文小综 | Using Externa
- 下一篇: 阿里P8架构师谈:分布式架构设计12精讲