1. 程式人生 > >Information Extraction over Structured Data: Question Answering with Freebase【論文筆記】

Information Extraction over Structured Data: Question Answering with Freebase【論文筆記】

          Information Extraction over Structured Data:Question Answering with Freebase

 

一、摘要

最近,人們一直在探索使用Freebase知識庫來回答自然語言問題,作為在開放域語義分析中推進最新技術發展的平臺。 這些努力將問題對映到複雜的意義表示,然後嘗試將其與知識庫中的可行答案候選者進行匹配。 在這裡,我們展示了相對先進的資訊抽取技術,當與網路規模語料庫配對時,可以通過大約34%的相對增益超越這些複雜的方法。

 

二、介紹

問答系統的歷史可以追溯到1960到1970年代,比如1961年的Baseball,1977年的Lunar。這些系統被限制在限定領域,由於知識庫資源、計算能力、理解自然語言的能力等等各方面的原因。最近由於DBPdia(Auer et al.,2007), Freebase(Bollacker et al.,2008) 和Yago2(Hoffart et al.,2011),問答系統的研究領域變得更廣泛。

AI社群的做法通常是首先通過淺層或深層形式的語義解析來理解問題的意圖,然後將問題轉化為一些意義表示,最終對映到資料庫查詢中。這種做法的效能由語義解析和資料庫的查詢決定。

IE社群是首先執行相對粗略的資訊檢索,作為對可能的答案候選集進行分類的方法,然後嘗試更深入的分析。

作者表明傳統的IE方法明顯優於最新的語義解析方法。

 

三、方法

作者將知識庫視為 ‘topic’ 互相連線的集合。一個自然語言問題可能包括一個或幾個 topic ,那麼我們就可以在知識庫中找相關的topic,然後在與topic節點距離幾跳的相關節點中提取答案。作者將這樣的檢視稱為 topic graph,假設答案可以在圖中找到。作者的目標是通過大量組合問題和主題圖的判別特徵來最大程度地自動化答案提取過程。

自然語言查詢KB的一個挑戰是與KB的語法相比,查詢的相對非正式性。比如問題:who cheated on celebrity A?答案可以通過知識庫關係 celebrity.infidelity.participant 檢索得到,但是短語 cheated on 和正式知識庫關係的連線是不明確的。為了解決這個問題,目前最好的嘗試是從Reverb 謂詞引數三元組對映到Freebase關係三元組。

 

四、背景

問答知識庫面臨兩個重大挑戰:模型和資料。模型的挑戰在於發現問題的最好意義表示,將它轉化為查詢並在知識庫中執行。大多數工作通過各種中間表示的橋樑來解決這個問題,包括組合分類語法,同步上下文無關語法,依賴樹,字串核心,樹感測器。這些工作在QA中很有效,雖然需要手標的邏輯註釋。

從IE的視角解決問答知識庫的問題:我們直接學習QA對的模式,由問題的依賴性解析和答案候選者的Freebase結構表示,而不使用中間的通用意義表示。

資料的挑戰可以視為文字或 (文字) 模式匹配:兩個本體/資料庫的匹配結構或(在擴充套件中)KB關係和NL文字之間的對映。

 

五、圖特徵

1.依賴解析

首先是問題詞 (question word, qword),比如what、who、how等等,作者舉例了常用的9個問題詞;然後是問題焦點(question foucs,qfocus),期待的答案型別,比如name、money、time等,作者在這裡並沒有訓練分類器,而只是簡單地提取依賴於qword的名詞作為qfocus;然後是問題動詞(question verb,qverb),比如is、play、take等,從問題的主要動詞中提取,問題動詞也可以暗示答案的型別,比如play動詞,後面可能接instrument、movie、team等。最後是問題的主題(question topic,qtopic),問題的主題有助於我們找到相關的Freebase頁面,可以簡單的實現一個命名實體識別器發現問題的主題。注意問題可能不止一個主題。

 

2.問題圖

  • 如果一個節點標記有問題特徵,那麼就用問題特徵代替該節點,比如what→qword=what
  • 如果一個qtopic節點標記為命名實體,那麼就用該節點的命名實體形式代替,比如bieber→qtopic=person
  • 丟掉任何是限定詞、介詞或標點符號的葉節點。

 

關係和屬性的一個主要區別就是關係的引數都是節點,而屬性的引數一個是節點,一個是字串,比如place_of_birth是Justin bieber和London的關係,Justin bieber的屬性gender是male。

 

3.關係對映

我們要建立一張表描述Freebase知識庫關係與自然語言單詞之間的對映,目標是發現問題的最可能關係。給定一個問題Q的詞向量w,我們要找到關係R,使得概率P(R | Q)最大。由於資料來源的噪聲和不完整性,我們用 P~ 代替真實概率 P。為了方便計算,假設單詞之間條件獨立,採用樸素貝葉斯得到:

一個關係可能是由一系列的子關係組成,比如people.person.parents的子關係為people、person、parents。假設子關係之間條件獨立:

 

4.特徵提取

問題特徵:在問題特徵圖中的每一條邊 e(s, t),提取s,t,s | t,s | e | t 作為特徵。比如,邊prep_of(qfocus=name, brother),提取以下特徵:qfocus=name,brother,qfocus=name|brother,qfocus=name|prep_of|brother。

候選答案特徵:一個節點的關係和屬性對區分答案是很重要的。對於一個問題對應的主題圖,我們提取每個節點的所有關係和屬性作為特徵。

我們將問題的一個特徵和候選答案的一個特徵組合在一起,這樣可以捕捉問題模式和答案節點之間的關係。比如問題-答案組合特徵:qfocus=money | node_type=currency。

 

5. 模型訓練

我們將在Freebase的問答視為二分類任務,對主題圖的每一個節點,我們提取特徵並判斷是否為答案節點。每個問題都由Stanford CoreNLP套件和無殼模型處理。然後對每一個節點,組合(combine)問題特徵和節點特徵。對於訓練集的3000個問題,有3百萬個節點(每一個主題圖1000個節點),7百萬個特徵型別。在不同模型上訓練,發現L1正則化的邏輯迴歸表現最好。

 

六、實驗

首先對於給定的問題,我們需要定位該問題正確的主題節點。通過Freebase Search API對全部命名實體排名。WEBQUESTIONS不僅有標註答案,並且知道答案來自哪一個主題節點。因此,我們可以利用訓練集評估Freebase Search API的檢索排名。

主題詞一旦確定,通過查詢Freebase Topic API就可以檢索到主題圖。然後就是特徵提取過程和模型訓練了。

 

七、總結

我作者提出了一種從結構化資料來源(Freebase)中自動提問的方法。 將問題特徵與Freebase描述的答案模式相關聯,並在平衡和現實的QA語料庫上實現了最先進的結果。整個流程是先將問題解析依賴解析得到問題圖,然後命名實體識別提取主題,在FreeBase知識庫中查詢主題圖,提取問題-候選答案組合特徵,訓練分類器。由此可見,如果主題在知識庫中是不存在的,那麼問題是解決不了的。同時一些推理性的問題也是無法解決的,比如小明比小紅高多少。