论文浅尝 | 具有图卷积网络和顺序注意力机制的应用于目标导向的对话系统
論文筆記整理:吳涵,天津大學碩士,研究方向:自然語言處理。
來源:2019 Association for Computational Linguistics
論文鏈接:https://www.mitpressjournals.org/doi/full/10.1162/tacl_a_00284
開放源碼:https://github.com/sumanbanerjee1/GCN-SeA
概述
面向特定領域的面向目標的對話系統通常需要對三種類型的輸入進行建模,即,(i)與該域相關聯的知識庫,(ii)對話的歷史,這是一系列話語,以及(iii)需要為其生成響應的當前話語。本文提出了一種面向目標的對話的增強記憶GCN。該模型利用(i)知識庫中的實體關系圖和(ii)與話語關聯的依存關系圖來計算單詞和實體的更豐富表示形式。此外,在某些情況下,例如當對話使用代碼混合語言時,依賴解析器可能不可用。在這種情況下,我們從整個語料庫構造了一個共現矩陣,并使用該矩陣將圖結構強加于單詞上。更具體地說,如果在句子中兩個詞經常同時出現,我們會在句子中的兩個詞之間添加一個邊。我們的實驗表明,這種簡單的策略可以合理地替代依存關系分析樹。
模型和方法
每個t輪的對話都可以看作是用戶話語(U)和系統響應(S)的連續顯示,并且可以表示為:(U1,S1,U2,S2,...,U t,S t)。除對話外,每個對話還伴隨著與該對話相關的e個 KB(知識庫)三元組,可以表示為:(k1,k2,k3,...,ke)。每個三元組都是這種形式:(entity1,relation,entity2)。在任何第i輪對話:給出:
(1) ? ?dialogue history H =( U1, S1, U2, ..., S i?1),
(2) ? ?the current user utterance as the query Q = Ui
(3) ? ?the associated knowledge graph Gk
目標:生成Si。
利用知識庫中的圖結構和話語中的句法結構來生成適當的響應,提出以下模型:
1. Query Encoder
查詢Q = Ui是對話中的第i個(當前)用戶話語,包含| Q |個標記。我們將第i個標記在查詢中的嵌入表示為qi。我們首先通過將這些標記傳遞給雙向RNN來計算這些標記的上下文表示:
注:雙向RNN假設當前t的輸出不僅與之前序列有關,還與之后的序列有關。
現在,考慮由圖G表示的查詢語句的依存關系分析樹,我們使用特定于查詢的GCN對GQ進行操作。把 作為第一層GCN的輸入
查詢特定GCN的第k跳中的節點表示形式計算如下:
W、g:第k跳邊緣指定方向的查詢-GCN的權重和偏差。其中:
2. Dialogue History Encoder
對話的history H包含| H |個標記,我們用pi表示第i個標記在歷史中的嵌入。再次,我們首先使用雙向RNN計算這些標記的隱藏表示形式:
現在,我們為歷史記錄中的每個句子計算一個依存關系分析樹,并將所有樹共同表示為一個圖G。此圖將僅包含屬于同一句子的單詞之間的邊,并且跨句子的單詞之間沒有邊。然后,我們使用特定歷史的GCN對這個圖G進行操作,該操作將St作為第一層的輸入。歷史特定GCN的第k跳中的節點表示形式計算如下:
V、o: 特定于邊緣方向的歷史-第k跳中的GCN權重和偏差
3. KB Encoder
Gk是描述與對話相關的知識圖中實體之間的關系的圖。假設有m個這樣的實體,我們將對應于第i個實體的節點的嵌入表示為ei。然后,我們運行特定于知識庫的GCN。特定于KB的GCN的第k跳中的節點表示為:
與句法GCN的情況類似,我們還向EK添加了逆邊緣,以便允許信息在知識圖中的實體對的兩個方向上都流動。
4. Sequential Attention
我們使用RNN解碼器生成響應的標記,并將解碼器的隱藏狀態表示為:
其中:T是總共的解碼器時間步長?
為了從查詢GCN的最終層(k = f)獲得節點向量的單個表示形式,我們使用下面的Attention機制:
其中:V、W1、W2都是參數。此外:在每一次解碼循環中,我們會根據查詢上下文向量 計算歷史中每個節點/標記的注意力得分,從而從history-GCN的最后一層獲取查詢感知表示。其中:
其中:V2、W3、W4、W5是參數。最后,我們通過使用下面的和 計算KB-GCN的最后一層中所有節點的注意力得分來獲得知識庫的查詢和歷史記錄表示
5. Decoder
a. 解碼器的兩個條件:
(1)包含history和KB的上下文
(2)對話中最后/前一個話語的查詢
b. 我們使用一個聚合器來學習對歷史和KB組件的整體關注。這些注意力得分:θHt和θKt取決于相應的上下文向量和先前的解碼器狀態dt-1。最終上下文向量的獲取方式為:
在每個時間步,解碼器都會使用以下公式計算詞匯表上的概率分布:
其中:Wt: 第t時間步的解碼器輸入。V’和b’: 參數。Pvocab: 整個詞表的概率分布 時間步t的損失: ?,其中Wt*是真實回答的第t個字。
總損失:每個時間步損失的平均值。
6. Contextual Graph Creation
于對話歷史記錄和查詢編碼器,我們使用依賴關系分析樹來捕獲編碼中的結構信息。但是,如果對話以語言顯示,則不存在依賴關系解析器,那么我們需要一種從話語中提取圖形結構的替代方法。
在上下文語境是整個句子時,一個可行的簡單方案是創建一個詞共現矩陣。一旦有了這樣的共現矩陣,對于給定的句子,如果兩個單詞的共現頻率高于閾值,則可以在兩個單詞之間連接邊。
詞共現矩陣可以包含共現頻率計數或正向PMI值(衡量兩個事物的相關性)。
實驗數據集
(1)經過修改的Bordes的DSTC2數據集?;陲埖瓴妥李A訂的任務,并包含人類與機器人之間真實對話的文字記錄。刪除對話狀態注釋,并且僅存在原始話語-響應對以及每個對話的一組相關的KB三元組。
(2)由Banerjee最近發布的修改的DSTC2的代碼混合版本,它通過以四種語言將修改后的DSTC2(En-DSTC2)的英語版本的語音代碼混合在一起來收集此數據集:Hindi (Hi-DSTC2), Bengali (Be-DSTC2), Gujarati (Gu-DSTC2), and Tamil (Ta-DSTC2)。
(3)對兩個目標導向的對話數據集進行了實驗,這些數據集包含人類之間的對話,其中對話以Oz向導(WOZ)的方式收集。
(4)Cam676數據集(Wen等,2017),其中包含來自餐廳領域的676 KB-grounded對話以及MultiWOZ(Budzianowski等,2018)數據集,其中包含10438個對話。
實驗結果
所有代碼混合語言上,我們的模型均優于基準模型。從所有語言的結果中得出的一個普遍觀察結果是,RNN + GCN-SeA的性能優于GCN-SeA。
BLEU和ROUGE得分表明,我們模型的響應更加流暢。它也根據對話目標產生正確的實體,但未能提供足夠的可請求位置。
在MUL上,模型能夠產生流暢的響應,但由于多個域的復雜性增加,因此難以提供正確的實體。但是,由成功率可以看出,模型仍然提供了大量正確的可請求插槽位。這是因為多個域(hotel, restaurant, attraction, hospital)具有相同的可請求插槽位(address,phone,postcode)。
所有語言在GCN-SeA + Random方面的性能下降。這表明依賴關系和上下文結構起著重要作用,不能被隨機圖代替。
RNN-Bahdanau的注意力機制要比GCN-Bahdanau的注意力機制要好。
在自發對話的嘈雜環境中,例如DSTC2數據集中顯示的那些,我們的模型響應是有利的。但是,在用于人與人對話的WOZ環境中,對話的自發性較低。
總結
作者證明了具有結構意識的表示形式在面向目標的對話中很有用,并且得到的模型優于四個對話數據集上的現有方法。除使用GCN注入依賴關系圖和上下文圖的結構信息,以豐富對話上下文和KB的表示形式。還提出了一種順序注意力機制來結合:
(1)當前查詢 (2)會話歷史 (3)KB
最后,作者憑經驗表明,當依賴解析器不適用于某些語言(例如代碼混合語言)時,則可以使用詞頻出現頻率和PPMI值 提取上下文圖并將其與GCN配合使用以提高性能。
?
?
OpenKG
開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 博客。
總結
以上是生活随笔為你收集整理的论文浅尝 | 具有图卷积网络和顺序注意力机制的应用于目标导向的对话系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源开放 | 开源立体化漏洞情报知识图谱
- 下一篇: 开源开放 | 计算机科学示意图问答数据集