1. 程式人生 > >Question Answering with Subgraph Embeddings【論文筆記】

Question Answering with Subgraph Embeddings【論文筆記】

一、摘要

這篇論文提出一個系統,在大範圍主題的知識庫中,學習使用較少的手工特徵來回答問題。我們的模型學習單詞和知識庫組成的低維詞向量。這些表示用於根據候選答案對自然語言問題打分。使用成對的問題和對應答案的結構化表示,和成對的問題釋義來訓練系統,在最近的文獻基準中產生有競爭力的結果。

 

二、介紹

開放域QA最先進的技術可以分為兩大類,即基於資訊抽取和基於語義解析。資訊抽取系統首先通過查詢KB的搜尋API將問題轉換為正確的查詢來檢索一組廣泛的候選答案,然後使用細粒度檢測啟發式方法來確定正確的答案。語義解析通過語義解析系統側重於正確解釋問題的含義。最近的研究表明這種系統可以在間接和不完善的監督下進行有效的訓練,從而達到大規模管理的規模,同時繞過大多數註釋成本。

儘管這樣的系統可以處理大規模知識庫,但是仍然需要專家手工製作詞典、語法和知識庫模式才能有效。這種人為的方法可能不通用,無法方便地擴充套件到其他模式的新知識庫,更廣泛的詞彙或其他語言。於是作者提出了一個幾乎不需要人工註釋的開放域QA的框架,《Open question answering with weakly supervised embedding models》【5】介紹了一種嵌入模型,學習單詞和符號的低維向量表示,並且可以在比系統更少的監督下訓練,同時獲得更好的預測效能。但是,這個方法只與《Paraphrase-driven learning for open question answering》這篇論文進行了比較,這篇論文在簡化的環境中執行,並未應用於更現實的場景,也未針對性能最佳的方法進行評估。

在本文中,我們通過提供回答更復雜問題的能力來改進【5】的模型。這篇論文的主要貢獻在於:更復雜的推理過程更有效並且可以考慮更長的路徑(【5】只考慮到在圖中答案直接連線到問題的情況);更豐富的答案表示,它對KB的問答路徑和周圍子圖進行編碼。我們的方法與目前最新技術的基準WebQuestions相比更有競爭力,在訓練過程中不像大多數其他系統一樣,沒有使用任何詞庫、規則、詞性標記的額外系統、語法或依存分析。

 

三、任務定義

我們主要動機是為開放域QA提供一個系統能夠訓練,只要它能訪問:一組問題與答案配對的訓練集;提供答案中的結構的KB。我們假設全部潛在的答案都是KB的實體,問題是單詞的序列,並且報告一個確定的KB實體。當實體不確定時,簡單的字串匹配來識別實體。資料的處理這裡不做介紹。

 

四、問題和答案的嵌入

q表示問題,a表示答案,學習詞嵌入是通過學習一個評分函式 S(q,a),如果a是q的正確答案,那麼S越大。q和a都表示為各個單詞和 / 或符號嵌入的組合。評分函式的形式如下:

 

W是R (kxN)的一個矩陣,k是詞向量的維度,N是詞典的大小。N表示全部單詞數,Ns表示全部的實體和關係數。N = Nw + Ns。W的第i列表示在詞典的第 i 個單詞 (或 實體、關係)的詞向量。函式f(.)將問題對映到詞向量空間,定義為 f(q) = WΦ(q), Φ(q)是一個離散向量,表示每個單詞出現在問題q中的次數。同理,g(.)表示將答案對映到相同的詞向量空間,g(a) = WΦ(a)。Φ(a)是答案的離散向量表示。

 

1.表示候選答案

  • 單一實體。答案表示為FreeBase的單一實體。Φ(a)是一個1-of-NS編碼向量(我的理解就是Ns維的向量中,某一維為1,其餘為0),對應答案實體位置為1,其它位置為0.
  • 路徑表示。答案表示為從問題中的實體到答案實體的路徑。實驗過程中,我們考慮1或2跳路徑。比如 (barack_obama,people.person.place_of_birth,honolulu)是1跳路徑;(barack_obama,people.person.place_of_birth,location.location.containedby,hawaii)是2跳路徑。那麼Φ(a)是3-of-NS或4-of-NS的編碼向量,表示路徑中開始和結束的實體以及關係型別。
  • 子圖表示。我們編碼來自(ii)的路徑表示和連線到候選答案實體的實體的整個子圖。對每一個連線到答案的實體,表示Φ(a)包括了關係型別和實體本身。為了表示答案路徑不同於周圍的子圖(因此模型可以區分他們)。我們將實體的字典大小加倍,如果他們在路徑中使用一種向量表示,在子圖中使用另外一種。因此我們學習一個引數矩陣R (kxN),N=Nw + 2Ns。

上述整個流程如下圖:

2.訓練和損失函式

我們使用基於margin的排名損失函式來訓練模型,讓D={(qi,ai):i=1,...,|D| }表示訓練集,最小化損失函式:

其中m是margin(固定值0.1),學習詞向量矩陣W,使得問題與正確答案配對的分數大

於任何與錯誤答案配對的分數。使用Hogwild提出的多執行緒SGD進行優化。

 

3.詞向量的多工訓練

由於我們的訓練資料集中的大量問題是綜合生成的,因此它們不能充分涵蓋自然語言中

使用 的語法範圍。因此我們通過釋義檢測任務來多工訓練模型。我們通過將S的訓練與評

分函式的訓練交替進行,使用相同的詞向量矩陣,如果它們是釋義,那麼q1和q2詞向量相

似。

 

五、實驗

根據問題首先要確定候選答案,這裡作者確定候選答案的方式和資訊抽取略有不同。首先在

從問題中主題詞對應的知識庫實體出發,通過beam search的方式儲存10個和問題最相關的實體

關係(通過把實體關係當成答案,用式子的得分作為beam search的排序標準)。接下來選取主

題詞兩跳範圍以內的路徑,且該路徑必須包含這10個關係中的關係,將滿足條件的路徑的終點對

應的實體作為候選答案,其中,1跳路徑的權值是2跳的1.5倍(因為2跳包含的元素更多)。確定

完候選答案後,選取 S(q,a) 得分最高的作為最終答案。實驗結果如下:

六、總結

這篇論文的優點在於提出了一個不需要人工特徵的詞向量模型,同時也擴充了訓練集。在問題和答案的表示上類似於BOW,這就會引入兩個問題,向量會很稀疏,並且這種表示是沒有考慮詞序問題的。