【ICJAI2018】Commonsense Knowledge Aware Conversation Generation with Graph Attention

p3 in 2019/12/5

論文名稱:Commonsense Knowledge Aware Conversation Generation with Graph Attention
… … … :具有圖注意力的常識知識感知會話生成系統
論文作者:HaoZhou, TomYoung, MinlieHuang, HaizhouZhao, JingfangXu, XiaoyanZhu
論文來源:ICJAI2018
下載鏈接:http://coai.cs.tsinghua.edu.cn/hml/media/files/2018_commonsense_ZhouHao_3_TYVQ7Iq.pdf
源碼鏈接:https://github.com/tuxchow/ccm
參考筆記:https://blog.csdn.net/tMb8Z9Vdm66wH68VX1/article/details/81518247

在這裏插入圖片描述

Abstract

提出一種新的開放域對話的生成模型,在對話生成中使用大規模的常識知識庫。

  • 以前的方法:將知識三元組分開使用,所用到的知識是非結構化的文本或特定領域的知識三元組。
  • 以前方法的不足:不能基於互相關聯的實體和它們之間的關係來給出圖的語義信息:(1)高度依賴非結構化文本的質量,受限於小規模的、領域特定的知識庫;2)通常將知識三元組分開使用,而不是將其作爲每個圖的完整個體。)
  • 本文的方法:常識知識感知對話模型(Commonsense Knowledge Aware Conversational Model, CCM),將每個知識圖作爲完整的個體,從而獲得結構更清晰,語義也更連貫的編碼信息。設計了兩種新的圖注意力機制。1)靜態圖注意力機制對檢索到的圖進行編碼,來提升問題的語義,幫助系統充分理解問題。2)動態圖注意機制會讀取每個知識圖及其中的三元組,然後利用圖和三元組的語義信息來生成更合理的回覆。
  • 本文的貢獻:1)該項目是首次在對話生成神經系統中,嘗試使用大規模常識知識。有了這些知識的支撐,我們的模型能夠更好地理解對話,從而給出更合適、信息量更大的回覆。2)代替過去將知識三元組分開使用的方法,我們設計了靜態和動態圖注意力機制,把知識三元組看作一個圖,基於與其相鄰實體和它們之間的關係,我們可以更好地解讀所研究實體的語義。

圖 1:兩種模型的對比:
在這裏插入圖片描述
第一行回覆由我們的模型(引入常識知識)生成
第二行回覆由Seq2Seq模型(未引入常識知識)生成

CommonsenseConversationalModel

圖2 CCM結構圖
在這裏插入圖片描述
本文的常識對話模型(Commonsense Conversational Model, CCM)的概覽如圖2所示。知識解析器 (Knowledge Interpreter) 將問題X=x1x2…xn和檢索得到的知識圖G={g1,g2,…,gNG}作爲輸入,通過把單詞向量和與其對應的知識圖向量相結合,來獲得對每個單詞的知識感知。
通過靜態圖注意力機制,知識圖向量包含了問題 X中對應每個單詞的知識圖。基於本文的動態圖注意力機制,知識感知生成器 (Knowledge Aware Generator) 生成了回覆Y=y1y2…ym。在每個解碼環節,它讀取檢索到的圖和每個圖中的實體,然後在詞彙表中生成通用詞彙,或在知識圖中生成實體。

Knowledge Interpreter

圖3:知識解析器把單詞向量和圖向量相結合。
在這裏插入圖片描述
在該例子中,單詞rays對應第一個圖,sunlight對應第二個圖。每個圖都用圖向量表示。關鍵實體(Key_Entity)表示當前問題中的實體。

知識解析器 (Knowledge Interpreter) 旨在優化問題理解這一環節。它通過引入每個單詞對應的圖向量,來增強單詞的語義,如圖 3 所示。知識解析器把問題中的每個單詞 xt作爲關鍵實體,從整個常識知識庫中檢索圖gi={T1,T2,…,TNgi}(圖中黃色部分)。每個檢索到的圖包含一個關鍵實體(圖中紅色圓點),與其相鄰的實體(圖中藍色圓點)以及實體之間的關係。
對一些常用詞彙(如:of)來說,常識知識圖中沒有與其匹配的圖,這類詞彙用一個帶有特殊標誌 Not_A_Fact(圖中灰色圓點)的圖來表示。
接下來,知識解析器會基於靜態圖注意力機制,來計算檢索到的圖的圖向量gi。把單詞向量w(xt)和知識圖向量gi相結合,就得到了向量e(xt)=[w(xt);gi],然後把它餵給編碼器中的 GRU(門控循環單元,見圖 1)。

Static Graph Attention

靜態圖注意力機制的設計旨在爲檢索到的知識圖提供一個表現形式,我們設計的機制不僅考慮到圖中的所有節點,也同時考慮節點之間的關係,因此編碼的語義信息更加結構化。
靜態圖注意力機制會爲每個圖生成一個靜態的表現形式,因而有助於加強問題中每個單詞的語義。
形式上,靜態圖注意力把圖中的知識三元組向量K(gi)={k1,k2,…,kNgi}作爲輸入,來生成如下的圖向量gi
在這裏插入圖片描述
這裏的(hn,rn,tn)=kn,Wh,Wr,Wt分別是頭實體、關係、尾實體的權重矩陣。注意力的權重估量了“實體間關係”rn和“頭實體”hn,以及“尾實體”tn之間的關聯度。
本質上來說,圖向量gi是每個三元組中頭尾向量[hn;tn]的權重和。

Knowledge Aware Generator

圖4:知識感知生成器動態地處理着圖
在這裏插入圖片描述
知識感知生成器 (Knowledge Aware Generator) 旨在通過充分利用檢索到的圖,來生成相應的回覆,如圖 4 所示。知識感知生成器扮演了兩個角色:1) 讀取所有檢索到的圖,來獲取一個圖感知上下文向量,並用這個向量來更新解碼器的狀態;2) 自適應地從檢索到的圖中,選擇通用詞彙或實體來生成詞語。形式上來看,解碼器通過如下過程來更新狀態:
在這裏插入圖片描述
這裏e(yt)是單詞向量w(yt)和前一個知識三元組向量kj的結合,其來自上一個所選單詞(yt)。
ct是式2中的上下文向量,ctg和ctk分別是作用於知識圖向量{g1,g2,…,gNG}和知識三元組{K(g1),K(g2),…,K(gNG)}的上下文向量。

Dynamic Graph Attention

動態圖注意力機制是一個分層的、自上而下的過程。首先,它讀取所有的知識圖和每個圖中的所有三元組,用來生成最終的回覆。若給定一個解碼器的狀態st, 它首先作用於知識圖向量{g1,g2,…,gNG},以計算使用每個圖的概率,如下:
在這裏插入圖片描述
這裏Vb/Wb/Ub都是參數,αgti是處於第t步時選擇知識圖gi的概率。圖的上下文向量cgt是圖向量的權重和,這個權重估量了解碼器的狀態st和圖向量gi之間的關聯。
接下來,該模型用每個圖gi中的知識三元組向量K(gi)={k1,k2,…,kNgi},來計算選擇某個三元組來生成答案的概率,過程如下:
在這裏插入圖片描述
這裏βktj可被看作每個知識三元組向量kj和解碼器狀態st的相似度,αktj是處於第t步時從圖gi的所有三元組中選擇Tj的概率。
最後,知識感知生成器選取通用詞彙或實體詞彙,基於如下概率分佈:
在這裏插入圖片描述

LossFunction

在這裏插入圖片描述
式中γt∈[0,1]是用來平衡實體詞彙we和通用詞彙wc之間選擇的標量,Pc/Pe分別是通用詞彙和實體詞彙的概率。最終的概率P(yt)由兩種概率結合所得。

Experiments

ConceptNet
reddit single-round dialogs

數據集: Our data are available at:http://coai.cs.tsinghua.edu.cn/hml/dataset/#commonsense7
評估指標:

  • 複雜度 (perplexity)——評估模型生成的內容。
  • 每條回覆中的實體個數(entity score)——估量模型從常識知識庫中挑選概念的能力。
  • 內容質量(appropriateness)——基於語法、主題和邏輯評估。
  • 知識層面(informativeness)——基於生成的答覆是否針對問題提供了新的信息和知識評估。

基準模型:

  • Seq2Seq:一種 seq2seq 模型,它被廣泛應用於各種開放域對話系統中。
  • MemNet:一個基於知識的模型,其中記憶單元用來存儲知識三元組經 TransE 嵌入處理後的數據。
  • CopyNet:一種拷貝網絡模型,它會從知識三元組中拷貝單詞或由詞彙表生成單詞。
    在這裏插入圖片描述
    對於同一問題,所有模型生成的回覆:
    在這裏插入圖片描述

References

[Ghazvininejad et al., 2017] Marjan Ghazvininejad, Chris Brockett, Ming-Wei Chang, Bill Dolan, Jianfeng Gao, Wen-tau Yih, and Michel Galley. A knowledge-grounded neural conversation model. CoRR, abs/1702.01932, 2017.
[Long et al., 2017] Yinong Long, Jianan Wang, Zhen Xu, Zongsheng Wang, Baoxun Wang, and Zhuoran Wang. A knowledge enhanced generative conversational service agent. In DSTC6 Workshop, 2017.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章