《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學習到的特徵向量:
為三元組的s,o和r。fact embedding向量為F =[,,].
decoder部分:
decoder主要是一個GRU的RNN神經網路
初始化的由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