論文解讀:COLING-2020(ccf-b)-Answer-driven Deep Question Generation based on Reinforcement Learning
1,問題
本文同樣是針對QG中,由於答案資訊的缺失或使用不當的導致的問題:
-
生成的問題與答案無關
-
如果在生成過程中沒有適當的指導,尤其是在應用複製機制時,生成的問題中可能會包含答案。
基於以上問題,在本文中,作者提出了一個答案驅動的深度問題生成(ADDQG)模型,它更好地利用目標答案作為指導來促進深度問題的生成。該模型同樣採用encoder-decode正規化
2,創新
基於以上問題,作者提出兩個創新點:
- 首先,提出了一個帶有門控連線層的答案感知初始化模組,該模組將文件和答案資訊引入解碼器,從而有助於選擇以答案為重點的問題詞。
- 其次,提出在encoder使用語義豐富的融合注意機制,它將答案與文件表示相結合,以促進在生成過程中正確處理答案資訊。
- 最後,應用強化學習來整合句法和語義度量,作為增強 ADDQG 訓練的獎勵
前面已經提到,作責提出的新模型是基於encoder-decoder框架,通過加入一些額外模組改進得來的答案驅動的深度問題生成(ADDQG)模型,本節基於基本的encoder和decoder框架對創新部分進行簡單說明。
首先直接給出ADDQG 在生成步驟 t 的圖示(後續公式都是在步驟t下的情況):
1 encoder
新模型分別對答案answer和檔案document提出了兩個encoder(作者稱為詞編碼器Word encoder)來更精確地定位目標資訊以進行後續操作,二者的輸入分別為文件集合 \(X^{d}=\left(X_{1}^{d}, \ldots, X_{n}^{d}\right)\)
此外,本文深度問題生成的靈感來自多跳問答,它聚合多個文件中分散的證據片段以預測正確答案,它的任務就是在給定的\(X^{d}\)和\(X^{a}\)的情況下,得到最大化的\(\bar{Y}\)。
\[\bar{Y}=\underset{Y}{\arg \max } P\left(Y \mid X^{d}, X^{a}\right) \]下面分別對 Word encoder和Graph encoder進行介紹。
1.1 Word encoder
模型:來更精確地定位目標資訊以進行後續操作,對於Word encoder 對答案和文件兩個encoder,並且二者都選用雙向LSTM。
輸入:二者的輸入源表示為嵌入向量序列,使用預訓練的 GloVE 嵌入,分別得到詞向量 \(\left(w_{i, 1}, w_{i, 2}, \ldots, w_{i, m}\right)\) 作為文件 \(X^{d}\)和答案\(X^{a}\)的輸入。
輸出:分別得到兩個隱藏狀態\(H^{A}=\operatorname{BiLSTM}\left(W_{e m b}\left(X^{a}\right)\right)\)和\(H^{D}=\operatorname{BiLSTM}\left(W_{e m b}\left(X^{d}\right)\right)\)
1.2 Graph Encoder
實體之間的語義關係是確定包含的查詢內容和推理型別的有力線索。為了從文件中提取語義資訊,我們使用依賴關係構建基於解析的語義圖\(H^{D}\)。因此,該模組的主要目的是更好的提取文件中的語義資訊,最終得到語言豐富的文件表示\(H^{DK}\)以促使在後續能和答案資訊更好結合,以達到增強答案與問題相關性的目的。
構建語義圖主要需要一下四部:
-
首先對每個節點v進行第一次初始化,\(v=\left\{w_{j}\right\}_{j=m}^{n}\),其中\(w_{j}\)是該節點中單詞的上下文表示,m/n 是文字跨度的開始/結束位置。即加入某一文字跨度內的所有單詞到該節點v中。
-
計算文件encoder的輸出\(H^{D}\)對當前節點v中所有單詞的權重\(\gamma_{j}^{v}\),其公式為\(\gamma_{j}^{v}=\operatorname{softmax}\left(\operatorname{ReLU}\left(W_{0}\left[H^{D} ; w_{j}\right]\right)\right)\),其中\(w_{0}\)是可訓練引數。
-
對每個節點進行第二次初始化,即將加入的單詞進行加權,那個該節點就對應了一段文字跨度中所有單詞的總體表示,\(h_{i}^{0}=\sum_{j=m}^{n} \gamma_{j}^{v} w_{j}\)。
-
使用圖注意力網路GAT(Graph Attention Network)的注意力機制,來動態確定訊息傳遞中相鄰節點的權重。
其中,第一個公式計算了相鄰節點vj與當前節點vi的相關性,第二個公式對所有相鄰節點對當前節點vi的相關性進行類似於softmax的運算,得到各相鄰節點對當前節點的權重,也即是不同文字跨度之間的相關性。其中\(mathcal{N}_{i}\)代表節點vi的相鄰節點。\(W_{1}^{t-1}\)和\(W_{2}^{t-1}\)都是可訓練引數。第三個公式就是在當前步驟t下,節點vi的最後值,可以看到將考慮了上一時刻狀態及周圍節點與其的相關性。
最後,應用門控迴圈單元(GRU)來合併聚合的相鄰資訊並獲得語義圖表示\(H^K\)。
2 Decoder
新模型的decoder同樣選用雙向LSTM,並且同樣使用了複製機制。
2.1 應答感知初始化模組Answer-Aware Initialization Module
其實就是對decoder進行初始化的模組,相比於普通的QG模型使用encoder的最後的隱藏狀態進行初始化,本模型(ADDQG)使用答案驅動的初始化方法(將Word Encoder中的兩個結果\(H^{A}\)和\(H^{D}\)進行處理),可以明確引導問題詞的選擇,生成更注重答案的問題。下面進行說明。
-
首先設計了一個融合門來控制文件和答案的資訊流率。\(g=\sigma\left(W_{z}\left[H^{A} ; H^{D} ; H^{D} \odot H^{A} ; H^{D}-H^{A}\right]+b_{z}\right)\),可以看到分別考慮了二者單獨、二者分量乘法(對應相乘)以及相減三種情況,以便更好的融合二者資訊。其中\(\odot\)代表分量乘法(對應相乘)。
-
Z是解碼器的最終初始化,是答案和文件特徵的深度融合,\(Z=g \odot H^{D}+(1-g) \odot H^{A}\)。Z將用於初始化decoder的初始時刻的隱藏狀態。
2.2 語義豐富的融合注意力Semantic-Rich Fusion Attention
作為decoder中的複製機制做了準備。語義豐富的融合注意力將答案與文件和語義圖相結合,以更好地支援生成過程。 下面詳細說明。
-
首先,語義圖表示\(H^{K}\)與文件表示\(H^{D}\)相結合,得到語義豐富的文件表示\(H^{DK}\)。具體來說,如果節點\(v_i\)包含單詞\(w_i\),則將單詞表示\(H_{i}^{D}\)和節點表示\(H_{v_i}^{K}\)連線起來得到融合表示\(H_{i}^{DK}\)(如果沒有對應的 \(v_i\),則填充一個特殊的向量),\(H_{i}^{D K}=F\left(\left[H_{i}^{D} ; H_{v_{i}}^{k}\right)\right]\),其中F(.)是標準非線性轉換函式。
-
融合答案表示\(H^{A}\)和語義豐富的文件表示\(H^{DK}\),為了模擬輸入源之間的複雜互動,我們應用了協作注意機制。
-
首先計算相關矩陣 \(L=H^{D K^{\top}} H^{A}\),其中包含所有對的相似度分數。
-
針對相關矩陣L,分別按行和按列計算兩個注意力權重\(A^{H^{A}}=\operatorname{softmax}(L), A^{H^{D K}}=\operatorname{softmax}\left(L^{\top}\right)\),其中softmax預設是按行的,所以第二個引數為L的轉置。對於文件中的每個單詞,注意力權重\(A^{H^{A}}\)在答案中,而對於答案中的每個單詞,注意力權重\(A^{H^{D K}}\)在文件中。所以第一次按行對答案進行計算求得文件中每個單詞的權重\(A^{H^{A}}\),轉置後對文件進行計算,求得答案中每個單詞的權重\(A^{H^{D K}}\)。
-
接下來,類似於論文呢(Cui et al., 2017),計算問題和文件的相互依賴表示\(C^{H^{DK}}\),公式如下:
可以看到,首先對文件中的單詞進行加權計算,然後將結果與答案中聯合起來進行加權計算得到最終的相互依賴表示。
-
然後,將語義豐富的文件資訊和以及其與答案資訊的相互依賴表示進行融合,得到融合表示:\(H^{D K A}=\left[H^{D K} ; C^{H^{D K}}\right]\)
-
最後,應用語義豐富的表示 HDKA 來獲得上下文向量 \(c_t\),以便為複製機制做準備。
其中 W、vT a 和 U 是可訓練的引數,\(h_{t}^{*}\)為t時刻decoder的隱藏狀態,其公式為\(h_{t}^{*}=L S T M_{D e c}\left(\left[w_{t} ; c_{t-1}\right], h_{t-1}^{*}\right)\),其中\(w_{t}\)為輸入(應該為檔案encoder的最後輸出)上面是t時刻的,初始時\(h_{t}^{*}\)=Z,並據此不斷計算每一時刻。
2.3 複製機制和 Maxout 指標Copy Mechanism and Maxout Pointer
為了解決詞表外 (OOV,out of vocabulary ) 問題(即目標任務中可能出現一些罕見詞或是派生詞,詞的複數或者其他的一些組合詞的規則而產生的詞無法用現有詞向量模型表示。),decoder使用了複製機制 。該機制允許將標記從輸入源複製到解碼步驟 t。下面對實現進行簡單說明。
-
該機制利用原始注意力分數 \(\alpha_{t}^{*}\) 來作為複製概率\(p_{\text {copy }}\left(y_{t}\right)\)。採用maxout指標機制,將重複詞的分值限制在最大值,解決重複問題。
-
由詞表生成詞概率為 \(p_{\text {gen }}\left(y_{t}\right)=\operatorname{softmax}\left(W^{T}\left[h_{t-1}^{*} ; c_{t}\right]\right)\) ,其中\(W^{T}\)為可訓練引數。
-
複製開關k決定產生的字是從詞彙表取樣還是從輸入源複製,其公式為\(k=\sigma\left(W^{c} h_{t}^{*}+U^{c} c_{t}+b^{c}\right)\),其中未指明各項均為可訓練引數。
-
t時刻得到的詞最後的概率為:
\(p_{\text {final }}\left(y_{t} \mid y_{<t} ; \theta\right)=k p_{\text {copy }}\left(y_{t}, \theta_{1}\right)+(1-k) p_{\text {gen }}\left(y_{t}, \theta_{2}\right)\),其中\(\theta\)和\(\theta_{2}\)分別為複製機制和生成機制的引數。
2.4 用於微調的強化學習Reinforcement Learning for Fine-Tuning
其實就是利用損失函式進行調整
問題生成的損失函式最小化輸出生成詞的負對數似然為:\(\operatorname{Loss}_{C E}=-\sum_{t} \log P\left(y_{t} \mid y_{<t}, X^{d}, X^{a}, \theta\right)\)
-
然而,在序列預測模型中使用上述交叉熵損失可能會使過程變得脆弱,因為在特定單詞分佈上訓練的模型用於具有潛在不同分佈的測試資料集,以在給定當前預測單詞的情況下預測下一個單詞。這會在訓練過程中產生“暴露偏差”(簡單來講是因為文字生成在訓練和推斷時的不一致造成的。不一致體現在推斷和訓練時使用的輸入不同,在訓練時每一個詞輸入都來自真實樣本(GroudTruth),但是在推斷時當前輸入用的卻是上一個詞的輸出),強化學習被廣泛用於處理問題生成中的“暴露偏差”,並被證明是有效的。 我們將 r 定義為獎勵,它是通過將輸出序列 Y 與基於度量的相應真實問題 Y∗進行比較來計算的。
-
使用 BLEU-4 作為獎勵 \(r\left(Y, Y^{*}\right)_{\mathrm{BLEU}-4}\),它直接針對評估指標進行了優化,使用詞移動距離 (WMD) 作為獎勵\(r\left(Y, Y^{*}\right)_{\mathrm{WMD}}\),這使得模型更有效和強壯的。
-
本文沒有使用\(r\left(Y, Y^{*}\right)_{\mathrm{BLEU}-4}\)和\(r\left(Y, Y^{*}\right)_{\mathrm{WMD}}\)的加權組合,而是應用多獎勵優化策略來訓練具有兩個混合損失的模型,因為很難在其中找到複雜的縮放和權重平衡。因此,本文遵循有效的 SCST 策略,並以貪婪搜尋結果 DQG(深度問題生成) 的獎勵為基準 b:\(\operatorname{Loss}_{R L}=\left(b-r\left(Y^{s}, Y^{*}\right)\right) \log P\left(y_{t}^{s} \mid y_{<t}^{s}, X^{d}, X^{a}, \theta\right)\)。其中\(Y^{s}\)是取樣出書。
-
按一定比例交替訓練兩個混合損失\(\operatorname{Loss}_{\text {mixed }}^{W M D}\)和\(\text { Loss }_{\text {mixed }}^{B L E U-4}\):
其中 α 是控制交叉熵損失\(\operatorname{Loss}_{C E}\) 和強化學習損失\(\operatorname{Loss}_{R L}\) 之間權衡的比例因子。
3,實驗
-
資料集:對於深度問題生成,常用的如SQuAD資料集的問題都比較淺,不太適用。因此選擇HotpotQA ,其中的問題是通過對多個支援文件進行推理來回答的。
-
對比模型:S2S-Att,NQG,s2s-mcp-gsa,ASs2s-a,SemQG,SGGDQ
-
評價指標:自動評估(BLEU,METEOR,ROUGE-Lis),人工評估(Naturalness,Complexity,Relevance)。
-
實驗結果:ADDQG 模型在 HotpotQA 資料集上取得了最先進的結果(stateof-the-art )。
4,總結與展望
深度問題生成旨在生成需要對多條資訊進行推理的複雜問題。 在本文提出了一種基於強化學習的答案驅動的端到端深度問題生成模型(ADDQG)。 具有門控連線層和語義豐富的融合注意機制的答案感知初始化模組旨在將文件和答案資訊納入生成過程。 進一步應用強化學習來整合句法和語義度量,作為增強 ADDQG 訓練的獎勵。 實驗表明,ADDQG 在具有挑戰性的 DQG 資料集上優於最先進的系統。 消融研究證明了設計的有效性,人工評估表明提出的模型可以產生更連貫且以答案為重點的問題。
未來研究可以在幾個方向上進行。 首先,嘗試使用深度圖卷積編碼器來獲取更深層次的語義資訊,並探索更精細的文件和答案資訊整合機制。 其次,將應用預訓練的多跳問答模型來生成獎勵來優化 ADDQG,從而進一步增強該 DQG 模型的推理能力。
本文來自部落格園,作者:xyzhrrr,轉載請註明原文連結:https://www.cnblogs.com/xyzhrrr/p/15500037.html