《Generating Factoid QuestionsWith Recurrent Neural Networks:nThe 30M Factoid Question...》閱讀筆記

請註明出處:西土城的搬磚日常

原文鏈接:Generating Factoid QuestionsWith Recurrent Neural Networks: The 30M Factoid Question-Answer Corpus

問題介紹:缺少大規模訓練數據是構建問答經常遇到的問題,人工標註數據的代價很大,當領域變化時可能又需要重新標註數據。為了解決這個問題,這篇文章提出了一種基於知識庫生成問題的方法,生成了一個30M的大規模問答系統訓練語料。

主要方法:

這篇文章提出了一種利用知識庫信息生成簡單問題的方法。作者借鑒了machine translation的方法,但是輸入的是知識庫的三元組,輸出的是問題。用SimpleQuestion作為訓練語料,但是SimpleQuestion中的entity和relation相對Freebase來說特別少,這樣就學不到有用的信息。為此,作者先用TransE模型學習知識庫的entity和relation的特徵向量,將學習到的特徵向量作為模型的輸入。下面是整個模型的流程圖:

論文採用的GRU的RNN神經網路,輸入是用TransE學習到知識庫三元組(s, r, o)的特徵向量的映射拼接向量, fact embedding。輸出是生成的問題。模型分為兩個部分,encoder和decoder.

encoder部分:

主要是將三元組(s, o ,r)映射到用TransE學習到的特徵向量:

Enc(F)_{atom} = W_{Enc} (E_{in}x_{atom})

x_{atom}為三元組的s,o和r。fact embedding向量為F =[Enc(F)_{s},Enc(F)_{r},Enc(F)_{o}].

decoder部分:

decoder主要是一個GRU的RNN神經網路

初始化的h_{0}由F通過一個前饋神經網路得到。比較重要的一部分在於,文中說考慮到在生成問題時,不同時刻三元組不同部分的重要性不一樣,在生成問題的開始時s和o比較重要,在這個過程中r一直都比較重要。為此,文中引入了attention機制:

為了解決知識庫實體的稀疏性等問題,受到machine translation中signal-placeholder的影響,文中提出使用multi-placeholder的方式在生成問題時來替代問題的實體主語,文中提到之所以使用multi-placeholder主要是考慮到不同entity類別之間的應當具有區分性。

實驗

數據集:SimpleQuestion, Freebase

論文中採用了兩種評估方式,自動評估(使用machine translation和image caption generation中的BLEU和METEOR)以及人工評估。最後選擇最好的模型生成了30M的一個大數據集。

推薦閱讀:

RNN Tutorial(1)
阿里知識圖譜首次曝光:每天千萬級攔截量,億級別全量智能審核
通俗講解平方損失函數平方形式的數學解釋?
智能時代的怪獸四:語言的運算(上)
cs.CL weekly 2016.08.29-2016.09.02

TAG:自然语言处理 | 问答系统 |