论文浅尝 | CoRR - 面向复杂知识问答的框架语义解析方法
論文筆記整理:譚亦鳴,東南大學博士。
?
? ? ?
來源:CoRR abs/2003.13956 (2020)
鏈接:https://arxiv.org/pdf/2003.13956.pdf
?
KBQA任務中的語義解析目標是將自然語言問題轉化為標準查詢,而后用于構建知識庫查詢。現有的方法主要依賴于句法解析(例如依存句法),但是在長句的復雜問題上,這類表達形式存在準確性不足的問題。因此,在這篇文章里,作者提出一種新的框架(skeleton,或者說骨架?)語法解析模型SPARQA,用于表達復雜問題的高層結構。
?
動機及概述
為了理解和回答復雜問題,作者定義了兩個挑戰:
? ? ? ? ? ? ?
1. 語義解析,目前的語義解析主要依賴于依存句法,但是與簡單問題的解析不同,單純依靠依存句法在復雜問題的解析上會出現許多錯誤。隨著錯誤傳遞則會影響到整個語義解析以及問答的性能。圖2是作者列舉的一個例子,表明了長距離依賴下,依存解析的準確性將出現明顯偏差:“movie”和“had”原本是一組依存關系,但由于長句的影響,這組依存沒有被識別出來,卻生成了“in”和“had”這樣的錯誤依存。
? ? ? ? ? ? ?
2. 一般而言,一個問題通常被轉化為獨立于知識庫的圖結構 ungrounded query,但是這個query的結構相比以知識庫為基礎的formal grounded query可能有所不同,這種情況在復雜問題(包含更多謂詞)的情況下同樣存在。如圖1所示,問句“what movie that Miley Cyrus acted in had a director named Tom Vaughan?”的ungrounded query包含了兩個謂詞“acted in”以及“director”(見1c),但是在Freebase中,對應grounded query則包含三個謂詞(見1d),這是由Freebase的構建機制所決定的。
?
為了處理上述兩個挑戰,作者提出了一種基于框架(骨架)的語義解析方法,如圖3所示,對于輸入的問題,首先定義其高層框架(骨架)結構,用于輔助生成更精確的ungrounded query,以KB為基礎ungrounded query及其結構變體用于生成grounded query,而后利用一個多策略打分器對query做排序從而檢索得到問題的答案。
? ? ? ? ? ? ?
方法
Skeletion Parsing
首先需要對Skeletion語法的部分定義進行說明:
Skeleton 句子的框架(骨架)是一棵有向樹,其中節點表示句子中的text span,邊表示節點之間的附加關系
Text span表示句子中的短語級別語義單元,一般包含四種類型:從句Clause (S), 名詞短語Noun Phrase (NP), 動詞短語Verb Phrase (VP), and 介詞短語Prepositional Phrase (PP)。
附加關系 即text span之間的依存關系,這里考慮依存語法中常見的七種:adjectival clause (acl), its sub-type relative clause modi?er (acl:relcl), nominal modi?er (nmod), its sub-type possessive alternation (nmod:poss), coordination (conj), open clausal complement (xcomp), and adverbial clause modi?er (advcl).
?
Skeleton解析算法
下圖描述了本文提出的語義解析算法:
即對于輸入的自然語言問句Q, 通過一個循環過程逐步切分Q中的text span,并補充span之間的邊,從而得到Q對應的Skeleton。(示例見圖1b)
? ? ? ? ? ? ?
?
作者使用BERT實現了圖1中的四個過程,用于得到grounded query,如圖4所示:
四個步驟分別為:
Split(本質上是單句分類任務),預測句子是否能進一步被切分
Textspan(視為QA任務),預測下一個從Q中被切分的text span,并標記于Q中
Headwordidentification(視為QA任務),將剩余Q視作文本段落,s視作問題,輸出Q中的一個span
AttachmentRelationClassifiction 輸入s以及剩余的Q,預測兩者之間的relation
? ? ? ? ? ? ?
?
Multi-Strategy Scoring
為了全面地對query進行打分,作者提出并融合了兩種打分策略:
1. 句子級別的打分
對于給定的測試問句,首先找到訓練集中與之最為相似的問題(在它們的pattern中具有相同數量的虛擬字符(占位符?)) ,將測試問題中的實體對應的替換掉其中的占位符,從而得到一個grounded query,如果這個query能夠獲取到非空答案,那么它的得分為1.0,否則為0.0.
2. 詞匯級別的打分
這個打分基于詞袋,如圖5所示,首先問題和formal query被表示為詞袋形式,移除了其中的具體實體以及停用詞,剩下的部分主要描述了其中的謂詞,利用GloVe進行embedding 之后,計算兩者的余弦相似,從而給出詞級別得分。
? ? ? ? ? ? ?
實驗與結果
數據集:Graph Questions (Su et al. 2016) 包含5166個問題,其中2258用于訓練
ComplexWebQuestion,包含34689個問題,按照80-10-10的方式切分訓練驗證和測試集
?
實驗結果
? ? ? ? ? ? ?
? ? ? ? ? ? ?
?
?
OpenKG
開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 博客。
總結
以上是生活随笔為你收集整理的论文浅尝 | CoRR - 面向复杂知识问答的框架语义解析方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文浅尝 - ECIR2021 | 两种
- 下一篇: 论文浅尝 | 面向视觉常识推理的层次语义