什麼是知識問答
基于知識的問答是以知識庫為認知源,在知識庫的基礎上回答自然語言問題。
知識庫(KB)是一個結構化數據庫,其中包含形式<主題,關系,對象>的事實集合,每個事實都可以随附所謂的屬性。
例如,“Barack Obama got married to Michelle Obama on 3 October 1992 at Trinity United Church”,會被解析為以下的集合
一般常用的的知識庫有DBpedia和WikiData。
簡單問題vs複雜問題
KBQA的早期工作專注于簡單的問題回答,其中隻涉及一個事實。例如,“JK羅琳在哪裡出生?”這是一個簡單的問題,可以用《J.K.羅琳》這個事實來回答羅琳,出生地,英國>。
最近人們的注意力轉向了回答複雜的問題。所謂的複雜的問題就是涉及到在KB上的多跳推理、約束關系、數值操作或上述的某種組合。
讓我們來看一個複雜的KBQA問題:“Who is the first wife of the TV producer that was nominated for The Jeff Probst Show?”
這個問題需要找到以下的組合:
約束關系:我們正在尋找The Jeff Probst Show提名的電視制片人,因此需要找到一個與The Jeff Probst Show提名鍊接的實體,并且是一個 TV producer。
多跳推理:一旦我們找到電視制作人,我們需要找到他的妻子(wife)。
數值運算:一旦我們找到電視制作人的妻子,我們就會尋找第一任(first )妻子,因此需要比較數字并生成一個排名。
KBQA方法
對于複雜的KBQA,有兩種主流方法。這兩種方法都是從識别問題中的主題開始,并将其鍊接到知識庫中的實體(稱為主題實體)。然後,他們在主題實體的知識庫附近獲得答案:
通過執行解析後邏輯結構,典型的基于語義解析的方法(基于SP的方法)。 會分析執行範式并通過在從KB中提取的特定于問題的圖中進行推理,根據其與問題的相關性對提取圖中的所有實體進行排名,這是典型的基于信息檢索的方法(基于IR的方法)。
基于語義解析的方法
該方法通常将自然語言轉化為中間的語義表示,然後将其轉化為可以在 KG 中執行的描述性語言。具體有4種方法:1)語義解析(Semantic Parser)過程轉化為query map 生成問題的各類方法;2)僅在領域數據集适用的Encoder-Decoder模型化解析方法;3)基于 Transition-Based 的狀态遷移可學習的解析方法;4)利用 KV-MemoryNN 進行解釋性更強的深度 KBQA 模型。
基于信息檢索的方法
該方法首先會确定用戶 Query 中的Entity Mention,然後鍊接到 KG 中的主題實體(Topic Entity),并将與 Topic Entity 相關的子圖(Subgraph)提取出來作為候選答案集合,然後分别從 Query 和候選答案中抽取特征。最後利用排序模型對 Query 和候選答案進行建模并預測。
兩種方法的優缺點
基于語義解析的方法由于邏輯形式而産生了更可解釋的推理過程但是它們嚴重依賴于中間的語義表示的解析設計,這通常是性能改進的瓶頸。
基于信息檢索的方法适合流行的端到端訓練,但是推理模型的黑盒式使得中間推理的可解釋性降低。
結論在本文中,我們了解了什麼是基于知識的問答(KBQA),以及解決複雜問題的兩種主要方法。
如果你對KBQA比較感興趣,可以從下面兩個主要的數據集開始。
DBpedia , WikiData
作者:Fabio Chiusano
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!