论文浅尝 | 基于Freebase的问答研究
本文轉載自公眾號:PaperWeekly。?
?本期的論文筆記來自 PaperWeekly 社區用戶 @britin。本文給出了一種 end-to-end 的系統來自動將 NL 問題轉換成 SPARQL 查詢語言。
作者綜合了實體識別以及距離監督和 learning-to-rank 技術,使得 QA 系統的精度提高了不少,整個過程介紹比較詳細,模型可靠接地氣。
關于作者:Britin,中科院物理學碩士,研究方向為自然語言處理和計算機視覺。
■?論文 | More Accurate Question Answering on Freebase
■ 鏈接 | https://www.paperweekly.site/papers/1356
■ 源碼 | https://github.com/ad-freiburg/aqqu
論文動機
在知識問答中,要把一個自然語言的問句映射到知識庫 KB 中是很難的,目前的問答系統通常是將 NLP 問句轉換成一個 SPARQL 查詢語句去檢索 KB。如何完成這一轉換過程面臨著很多問題,比如怎么在 KB 中找到和問句中匹配的實體與關系。
首先問題中的實體名可能不完全依照數據庫中的名稱,同一個實體有多種叫法。其次數據庫中多個實體對應的名稱可能是一樣的。比如 Freebase 里叫 apple 的就有 218 種實體。精確匹配的話很難找到答案,模糊匹配又會從大型數據庫中搜索到冗余的數據。
本文在學習算法基礎上采用了 learning-to-rank 來重點關注被大部分工作忽略掉的實體識別的問題。
模型介紹
本文要完成的任務是根據 KB 知識來回答自然語言問題,給出了一個叫 Aqqu 的系統,首先為問題生成一些備選 query,然后使用學習到的模型來對這些備選 query 進行排名,返回排名最高的 query,整個流程如下:?
比如要回答這個問題:What character does Ellen play in finding Nemo??
1. Entity Identification 實體識別?
首先在 KB 中找到和問句中名詞匹配置信度較高的實體集合,因為問句中的 Ellen,finding Nemo 表達并不明確,會匹配到 KB 中的多個實體。?
先用 Stanford Tagger 進行詞性標注。然后根據詞性挑出可能是實體的詞與 KB 進行匹配,利用了 CrossWikis 數據集匹配到名稱相似或別名相似的實體,并進行相似度評分和詞語流行度評分。?
2. Template Matching 模板匹配?
這一步對上一步得到的候選實體在數據庫中進行查詢,然后利用三種模板生成多個候選 query。三種模板和示例如圖所示:
3. Relation Matching 關系匹配?
這一步將候選 query 中的 relation 與問句中剩下的不是實體的詞進行匹配,分別從 Literal,Derivation,Synonym 和 Context 四個角度進行匹配。?
Literal 是字面匹配,Derivation 利用 WordNet 進行衍生詞匹配,Synonym 利用 word2vec,匹配同義詞。Context 則是從 wiki 中找出和 relation 匹配的句子,然后利用這些句子計算原問句中的詞語和這些 relation 匹配出現的概率,采用 tf-idf 算法。?
4. Answer Type Matching 答案類型匹配?
這里采用了較為簡潔的方法,將 relation 連接的對象類型和問句中的疑問詞匹配,比如 when 應該和類型為日期的對象匹配。?
5. Candidate Features 人工設計的特征
實體匹配的特征:(1)備選 query 中實體的個數(2)字面大部分匹配的實體個數(3)實體中匹配的token的數量(4-5)實體匹配概率的平均值和總和(6-7)實體匹配流行度的平均值和總和
關系匹配的特征:(8)匹配模板中的關系個數(9)字面匹配的關系個數(10-13)分別在 literal,derivation,synonym 和 context 四個角度匹配的 token 個數(14)同義詞匹配總分(15)關系上下文匹配總分(16)答案的 relation 在 KB 中出現的次數(17)n-gram 特征匹配度
綜合特征:(18)特征?3 和 10 的總和(19)問句中匹配到實體或關系的詞所占比重(20-22)二進制結果大小為 0 或 1-20 或大于 20(23)答案類型匹配的二元結果
6. Ranking?
本文采用了基于 learning-to-ranking 的方法根據上述特征對備選結果進行 ranking。作者使用了 pairwise ranking,針對兩個備選的 query,預測哪一個評分更高,然后取勝出最多的那個。?
分類器采用了 logistic regression 和 random forest。
實驗結果
本文使用 Freebase 作為 KB,但對于 WikiData 同樣有效。?
數據集使用了 Free917 和 WebQuestions。前者手動編寫了覆蓋 81 個 domain 的自然語言問句,語法準確,每個問句都對應一條 SPARQL 語句,用它可以在 KB 中查到標準答案。訓練集和測試集比例為 7:3。
WebQuestions 包含 5810 條從 Google Suggest API 上爬下來的問句,和 Free917 不同的是,它比較口語化,語法不一定準確,并且問題覆蓋的領域多為 Google 上被問到最多的領域。答案是用眾包生成的,噪聲較大,訓練集和測試集比例為 7:3。
和 Sempre,GraphParser 等結果較好的模型比較了 accuracy 和 F1 score,結果如下:
文章還分析了每個特征對系統可靠性的影響:
對于 80% 的查詢,正確答案都能出現在 Top-5 里。
文章評價
本文給出了一種 end-to-end 的系統來自動將 NL 問題轉換成 SPARQL 查詢語言。系統綜合了實體識別以及距離監督和 learning-to-rank 技術。設計的特征非常具體豐富,比以往的模型準確度高了不少。并且據說程序運行效率也很好,一秒就能回答出一個問題。
系統的準確雖然不是特別高,但在 Top-5 內的準確度很高,如果加上交互式問答的形式,結果可能就會改善。本文沒有采用深度學習的方法,采用的是統計學習的方法,并且手動設計了特征,人工代價比較高,對數據集的要求和質量較高。
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。
OpenKG.CN
中文開放知識圖譜(簡稱OpenKG.CN)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 博客。
總結
以上是生活随笔為你收集整理的论文浅尝 | 基于Freebase的问答研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 商汤科技2020数据分析师0820笔试题
- 下一篇: Pytorch与tensorflow模型