论文学习8-How Question Generation Can Help Question Answering over Knowledge Base(KBQA-知识问答)
文章目錄
- abstract
- 1.introduction
- 2. our approach
- 2.2 微調(diào)fine tuning
- 3.Model
- 3.1QA Model
- 3.2QG model
abstract
本文研究了基于知識庫的問答系統(tǒng)的性能改進問題生成技術(shù)。問題生成(question generation,
QG)的任務(wù)是根據(jù)輸入的答案生成相應(yīng)的自然語言問題,而問答(question answer,
QA)則是針對給定的問題尋找合適答案的逆向任務(wù)。對于KBQA任務(wù),可以將答案視為包含一個謂詞和知識庫中的兩個實體的事實。培訓(xùn)一個有效的KBQA系統(tǒng)需要大量的標記數(shù)據(jù),這些數(shù)據(jù)很難獲取。而經(jīng)過訓(xùn)練的KBQA系統(tǒng)在回答訓(xùn)練過程中不可見謂詞對應(yīng)的問題時仍然表現(xiàn)不佳。為了解決這些問題,我們提出了一個統(tǒng)一的框架,在知識庫和文本語料庫的幫助下,將QG和QA結(jié)合起來。首先在金數(shù)據(jù)集上對質(zhì)量保證(QA)和質(zhì)量保證(QG)模型進行聯(lián)合訓(xùn)練,然后利用由質(zhì)量保證(QG)模型構(gòu)建的補充數(shù)據(jù)集,借助文本證據(jù)對質(zhì)量保證(QA)模型進行微調(diào)。我們使用Freebase知識庫對兩個數(shù)據(jù)集SimpleQuestions和WebQSP進行了實驗。實證結(jié)果顯示,我們的架構(gòu)改善了KBQA的績效,并與最先進的架構(gòu)相媲美,甚至更好。
任務(wù):使用問題生成和QA系統(tǒng)訓(xùn)練,達到半監(jiān)督訓(xùn)練QA的目的
1.introduction
- KBQA:
- 自然語言提問
- 翻譯成–>(subj實體,rel關(guān)系,obj答案)
- 將關(guān)系和實體鏈接到知識庫中
- 挑戰(zhàn)
- 開放領(lǐng)域下許多問題沒見過
- 需要許多訓(xùn)練數(shù)據(jù)
- 關(guān)系檢測更難
- 實體鏈接難
- 問題生成:由答案A生成相應(yīng)q
- 受啟發(fā)
- 利用問題生成(QG)來幫助閱讀理解[16]和
- 回答選擇句子[14]任務(wù)
在這項工作中,我們提出了一個統(tǒng)一的框架來結(jié)合QA和QG通過兩個組件,包括雙重學(xué)習(xí)和微調(diào)。與[14]類似,我們首先利用QA和QG之間的概率相關(guān)性來聯(lián)合訓(xùn)練它們的模型。由于答案a在[14]中是一個句子,而在我們的KBQA任務(wù)中是一個三元組,所以我們設(shè)計了不同的方法來計算概率公式中相應(yīng)的項。為了解決不可見謂詞和短語的挑戰(zhàn),我們提出了一個微調(diào)組件。利用復(fù)制操作[10]和來自Wikipedia的文本證據(jù),我們訓(xùn)練了一個序列到序列的模型,該模型可以根據(jù)從知識庫中提取的三元組生成不可見謂詞的問題。此外,可以通過提供生成的問題和從知識庫中提取的三元組來優(yōu)化QA模型
- 方法總述:
- 統(tǒng)一的框架來結(jié)合QA和QG通過兩個組件,包括雙重學(xué)習(xí)和微調(diào)
- 首先利用QA和QG之間的概率相關(guān)性來聯(lián)合訓(xùn)練它們的模型
- 微調(diào)組件(解決不可見謂詞和短語的挑戰(zhàn))
- 利用復(fù)制操作[10]和來自Wikipedia的文本證據(jù),我們訓(xùn)練了一個序列到序列的模型,該模型可以根據(jù)從知識庫中提取的三元組生成不可見謂詞的問題
- 可以通過提供生成的問題和從知識庫中提取的三元組來優(yōu)化QA模型
- 本文貢獻
- 首先,與以往的閱讀理解和句子選擇任務(wù)不同,我們研究了如何利用factoid QG來幫助KBQA任務(wù)。
- 其次,我們框架中的微調(diào)組件可以解決KBQA任務(wù)中不可見謂詞和短語的挑戰(zhàn)。
- 第三,實證結(jié)果表明,我們的框架改進后的KBQA系統(tǒng)與目前的水平相當,甚至更好
2. our approach
-
這項工作包括兩個任務(wù),
-
包括問題回答(QA)和
- 在自然語言處理社區(qū)中,QA任務(wù)可以分為基于知識的和基于文本的。
- KBQA中的答案是知識庫中的一個事實,–本文關(guān)注這個–轉(zhuǎn)化為評分fqa(q,a)f_{qa}(q,a)fqa?(q,a)和排名問題
- 而文本QA中的答案是給定文檔中的一個句子
- 在自然語言處理社區(qū)中,QA任務(wù)可以分為基于知識的和基于文本的。
-
問題生成(QG)。
-
fqa(q,a)f_{qa}(q,a)fqa?(q,a):q和a的關(guān)聯(lián)性
-
QA–簡化為關(guān)系檢測任務(wù)
- 假設(shè)實體已經(jīng)檢測到了,再找到關(guān)系,就可以確定答案a
- 輸入
- 問題q
- 候選關(guān)系R={r1,r2,…,rn}
- 輸出
- 最有可能的候選關(guān)系ri
-
QG
- 輸入:以一個句子或一個事實a作為輸入,
- 輸出:一個問題q,
- 這個問題q可以由a來回答。
- 在這項工作中,我們把QG看作一個生成問題,并開發(fā)了一個序列到序列的模型來解決它。我們的QG模型簡稱為Pqg(q|a),其中輸出的是產(chǎn)生問題q的概率。
-
通常,我們的框架由兩個組件組成。
- 第一個是雙學(xué)習(xí)組件,利用QA和QG之間的概率相關(guān)性,嘗試將QA/QG模型的參數(shù)在訓(xùn)練過程中引導(dǎo)到更合適的方向。
- 第二個是微調(diào)組件,旨在通過使用文本語料庫和知識庫三元組涉及QG模型,增強QA模型處理不可見謂詞和短語的能力。
- 我們的框架是靈活的,不依賴于特定的QA或QG模型。
- 最近的工作[14]提出了一個雙重學(xué)習(xí)框架,通過利用QA和QG之間的概率相關(guān)性作為正則化項來聯(lián)合考慮問題回答(QA)和問題生成(QG),從而改進這兩個任務(wù)的訓(xùn)練過程。我們的直覺是,特定于qa的信號可以增強QG模型,不僅生成字面上類似的問題字符串,而且生成可以由答案回答的問題。反過來,QG可以通過提供額外的信號來改進QA,這些信號代表給出答案后產(chǎn)生問題的概率。訓(xùn)練的目標是共同學(xué)習(xí)QA模型參數(shù)θqa和QG模型參數(shù)θqg,通過減少他們的受到以下限制的損失函數(shù)。
- 約束
- 正則化項
- 使用上述公式的問題
- KBQA任務(wù)中的答案a是一個事實,而不是一個句子。直接利用語言模型計算Pa(a)是不可能的。為了解決這個問題,我們提出了三種方法。
- 謂詞頻率:來表示Pa(a)
- 翻譯模板
- [14]使用語言模型來計算問題q和答案a的相對可能性,因為它們都是自然語言。因此,獲得Pa(a)的另一種解決方案是將三元組a翻譯成自然語言句子sa,然后利用預(yù)先訓(xùn)練好的語言模型計算sa的概率
- 翻譯:使用模板
- 我們首先嘗試一個基于模板的方法。
由于大多數(shù)知識庫謂詞用它們的單詞表示來表示等價的意思,所以我們可以將謂詞rel分解成單詞序列,并根據(jù)預(yù)定義的模板利用它來構(gòu)造句子sa。
- 我們首先嘗試一個基于模板的方法。
- 用NAG模型翻譯[9]
- 為了多樣性
- 使用與訓(xùn)練好的Natrural Answer Generation model來從a->sa
2.2 微調(diào)fine tuning
- 對每個三元組ai,我們從wiki文檔中收集了一組文本證據(jù)來幫助QG模型的訓(xùn)練和推理
- 在關(guān)系提取[11]的遠程監(jiān)控設(shè)置之后,我們
- 首先從實體subj的Wikipedia文章中選擇包含subject subj和object obj的句子。
- 然后通過保留出現(xiàn)在subj和obj之間依賴路徑上的單詞,將這些句子簡化為關(guān)系意譯。我們通過查詢知識庫來收集subj和obj的實體類型列表。如果一個實體有多個類型,我們選擇在所選的句子s或謂詞rel中出現(xiàn)的類型。
- 最后,我們用它們的類型替換subj和obj mention,以學(xué)習(xí)在語法級別上更一般的關(guān)系表示。
- 在文本證據(jù)的幫助下,QG模型能夠為不可見的謂詞生成問題
- 直觀地說,我們從知識庫中抽取的三元組越多,QA模型的能力就越強。但是,知識庫中的三元組總數(shù)太大,有必要研究如何對適當?shù)娜M進行抽樣
- 簡單的策略是隨機選擇三元組。
- 我們首先獲得包含最高k個頻率的謂詞的候選謂詞集R。
- 然后我們從r中選擇謂詞m次。對于每個選擇的謂詞reli,我們查詢知識庫,隨機找到對應(yīng)的subject subji和obji對,然后我們得到一個三元組
- 最后,當它有m個三元組時,補集T被完全構(gòu)建,其中m是一個超參數(shù)。
- 為了避免調(diào)優(yōu)參數(shù)m,我們提出一個方法來樣品一套無偏三相同的原始數(shù)據(jù)集的分布。
- 作為一個前提,我們假設(shè)測試集具有相同的分布與知識庫,同時有一個小訓(xùn)練集的區(qū)別。為了補充訓(xùn)練集,我們通過隨機選擇創(chuàng)建一個謂詞集R。當原始訓(xùn)練集中的每個謂詞reli都在r中發(fā)生時,選擇過程就終止了。之后,我們丟棄所有這些冗余謂詞,將剩余的謂詞作為補充謂詞集。
- 不重復(fù)地包含所有
- 簡單的策略是隨機選擇三元組。
3.Model
3.1QA Model
我們將在本節(jié)中詳細描述問答(QA)模型。一般來說,QA模型制定作為fqa
(q)函數(shù)估計的正確性給定問題問每個候選人回答。為了方便,我們減少了QA模型關(guān)系分類模型和使用謂詞rel取代回答一個候選人。相比與其他子任務(wù)如KBQA實體連接,關(guān)系提取在影響中扮演更重要的角色最終結(jié)果[21]。在現(xiàn)有的KBQA方法中,實體鏈接的準確性相對較高,但是由于不可見的謂詞或轉(zhuǎn)述,關(guān)系提取的性能不夠好
QA->關(guān)系分類模型,并且用候選關(guān)系rel替代答案a
- 基于遞歸神經(jīng)網(wǎng)絡(luò)的關(guān)系提取模型(RNN)
- 為了更好地支持不可見的關(guān)系,我們將關(guān)系名稱分解為單詞序列,并將關(guān)系提取表示為一個序列匹配和排序任務(wù)。
- 輸入關(guān)系:r={r1,r2,…,rm}–關(guān)系名
- 轉(zhuǎn)化為與訓(xùn)練好的word embedding
- 輸入bilstm–》得到一個隱層表示
- max pooling:利用最大匯聚層提取最顯著的局部特征,形成固定長度的全局特征向量,得到最終的關(guān)系表示hr
- 同樣的nn得到hq,計算余弦相似度cos(hr,hq)
- 為了語法上更一般的表示,實體替換為
- 丟失了實體信息,會混淆模型
- 將類型表示與問題表示連接起來
- 可提高性能
- 使用排名訓(xùn)練方法對上述模型進行訓(xùn)練,使得對問題q,正確的關(guān)系r+得分高,錯誤的關(guān)系r-,得分低(在候選關(guān)系中),損失函數(shù)如下
3.2QG model
- q={w1,w2,…,wn},a={s,p,o}
- 我們將QG問題作為一種翻譯任務(wù)來處理,并采用了編解碼器結(jié)構(gòu)來解決它
- encoder:a->編碼為embedding,使用transE–>hf=[hs;hp;ho]h_f=[h_s;h_p;h_o]hf?=[hs?;hp?;ho?]
- decoder:hf=[hs;hp;ho]h_f=[h_s;h_p;h_o]hf?=[hs?;hp?;ho?]->生成問題q
- QG模型應(yīng)該能夠生成具有不可見謂詞的三元組的問題
- 在[6]之后,我們將介紹一個文本編碼器。對于每個事實a,我們收集n個文本證據(jù)D = {d1, d2,…, dn}來自wiki文檔。使用一組具有共享參數(shù)的n個門控遞歸神經(jīng)網(wǎng)絡(luò)(GRU)對每個文本證據(jù)進行編碼。第j個文本證據(jù)中第i個詞的隱藏狀態(tài)計算為
- encoder:GRU
- EdE_dEd?:預(yù)訓(xùn)練好的詞嵌入矩陣
- wijw_i^jwij?是dj的one-hot
- EdwijE_dw_i^jEd?wij?:是dj的向量表示
- 隱層狀態(tài)表示:、
- decoder:帶attention的GRU
- 給定一組編碼的輸入向量I = {h1, h2,…, hk}和
- 解碼器先前的隱藏狀態(tài)st?1,
- attention的
- 其中va、Wa、Ua為注意力模塊的可訓(xùn)練權(quán)重矩陣。然后我們計算所有文本證據(jù)中所有標記的總體注意
最近在NMT上的工作使用復(fù)制動作[10]來處理罕見/未知的單詞問題。它將具有特定位置的單詞從源文本復(fù)制到輸出文本。我們利用這個機制來解決不可見謂詞的問題。
我們采用了[6]的一個變體,它使用相同的POS標簽復(fù)制單詞,而不是使用特定的位置。這可以提高我們的QG模型的泛化能力。在每個時間步驟中,解碼器選擇從詞匯表中輸出一個單詞,或從文本證據(jù)中輸出一個表示復(fù)制操作的特殊令牌。這些特殊的標記在輸出之前用它們原來的單詞替換
總結(jié)
以上是生活随笔為你收集整理的论文学习8-How Question Generation Can Help Question Answering over Knowledge Base(KBQA-知识问答)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3 操作系统第二章 进程管理 进程定
- 下一篇: 谁是ASML的最大股东?为何荷兰光刻巨头