論文标題: Improving Conversational Recommender Systems via Knowledge Graph based Semantic Fusion
論文來源: ACM SIGKDD 2020
論文連結: https://arxiv.org/abs/2007.04032
來自:RUC AI Box
會話推薦系統(conversation recommender system, CRS)旨在通過互動式的會話給使用者推薦高品質的商品。通常CRS由尋求商品的user和推薦商品的system組成,通過互動式的會話,user實時表達自己的偏好,system了解user的意圖并推薦商品。目前會話推薦系統有兩個問題需要解決。首先,對話資料本身缺少足夠的上下文資訊,無法準确地了解使用者的偏好(傳統的推薦任務會有曆史互動序列或者使用者屬性,但是該場景下隻有對話的記錄)。其次,自然語言的表示和商品級的使用者偏好之間存在語義鴻溝(在user的話語“Can you recommend me a scary movie like Jaws”中,使用者偏好反映在單詞”scary“和電影實體”Jaws“上,但這兩類資訊天然存在語義的差異)。
為了解決上述問題,本文提出了模型KG-based Semantic Fusion approach(KGSF),通過互資訊最大化的多知識圖譜語義融合技術,不僅打通了對話中不同類型資訊的語義鴻溝,同時針對性得設計了下遊的模型,以充分發揮兩個知識圖譜的作用,在會話推薦系統的兩個任務上均取得了state-of-the-art的效果。
1 引言
會話推薦系統是近年來尋求通過與使用者的對話提供高品質推薦的新興研究課題。就方法而言,CRS需要在推薦子產品和對話子產品之間無縫內建。一方面,對話子產品要了解使用者的意圖,并生成合适的回複。另一方面,推薦子產品學習使用者偏好,并基于上下文推薦高品質的商品。為了開發有效的CRS,學界已經提出了數種內建這兩個子產品的解決方案,包括基于半結構化使用者查詢的信念跟蹤器[1]和用于子產品選擇的開關解碼器[2]。
雖然這些研究在一定程度上提高了CRS的性能,但仍有兩個主要問題有待解決。首先,會話主要由幾句話組成,缺乏足夠的上下文資訊,無法準确了解使用者的偏好。如上表所示,一個使用者正在尋找類似于“Paranormal Activity(2007)”的恐怖電影,其中用兩個短句子描述了他/她的偏好。為了擷取使用者的内部資訊,我們需要充分利用上下文資訊并對其模組化(e.g. 了解單詞“scary”和電影“Paranormal Activity(2007)”背後的語義)。顯然,單憑對話文本很難獲得這樣的事實資訊。第二,對話内容用自然語言表示,而實際使用者偏好則反映在商品或實體上(例如,演員和電影類型)。這兩種資料信号之間存在天然的語義差異。我們需要一種有效的語義融合方法來了解或生成對話内容。如上表所示,如果不能拟合語義上的鴻溝,就無法生成解釋推薦的文本(e.g. “thriller movie with good plot”)。
為了豐富對話上下文資訊,我們使用知識圖譜提供外部知識。由于上下文資訊包含自然語言詞彙和商品兩類資料,是以使用面向單詞(word)的知識圖譜(KG)和面向商品(item)的知識圖譜,分别強化詞彙的知識和商品的知識。ConceptNet[3]作為面向word的KG,提供了word間的關系,諸如每個單詞的同義詞,反義詞和共現單詞。DBpedia[4]作為面向item的KG,提供了item之間的關系,描述有關item屬性的結構化事實。但是兩個KG之間仍然存在着語義鴻溝,對KG資料的利用可能會受到限制。
我們首先運用圖神經網絡分别學習兩個知識圖譜的節點表示,然後使用MIM彌合兩個知識圖譜的語義鴻溝。我們核心的想法是讓共現在一個會話中的word和item的表示更相似,使用這種政策可以對齊兩個語義空間下的資料表示。在語義對齊的基礎上,本文進一步利用了知識圖譜強化後的的推薦子產品來提供精準的推薦,并利用知識圖譜強化後的對話元件來幫助在會話文本中生成資訊量豐富的關鍵字或實體。
據我們所知,這是第一次使用KG增強的語義融合來解決對話系統和推薦系統的內建。我們的模型利用兩個不同的KG分别增強單詞和商品的語義,并統一它們的表示空間。在一個公共CRS資料集[2]上的大量實驗證明了我們的方法在推薦和會話任務上的有效性。
2. 方法
如圖展示了電影推薦場景的模型總覽。“SA”,“ KA”和“ CA”分别表示自注意力,基于KG的注意力和基于上下文的注意力。
2.1 編碼外部知識圖譜
本文将對話系統和推薦系統中基本語義單元分别定義為word和item,使用兩個獨立的知識圖譜來增強兩種語義單元的表達。
2.1.1 編碼面向word的知識圖譜
本文使用圖卷積神經網絡[5](GCN)來捕獲ConceptNet上節點之間的語義關系。ConceptNet将一個語義事實存儲為一個三元組<
w_1
, r,
w_2
>,其中
w_1,w_2 \in \mathcal V
是word,r是word之間的關系。在每次更新節點表示時,GCN都會從圖譜中的一跳鄰居接收資訊,并執行以下聚合操作:
其中
V^l \in \mathbb R^{V \times d^w}
是諸節點的表示,
W^l
是各層的可學習的矩陣,A是圖對應的鄰接矩陣,D是一個對角度矩陣。通過堆疊多個卷積,資訊可以沿着圖結構一起傳播。當算法終止時,每個word對應一個
d_w
維的表示
n_w
2.1.2 編碼面向item的知識圖譜
本文使用R-GCN[6]學習DBpedia上item的表示。節點
e
在
(l+1)
層的表示通過如下公式計算:
其中
n_{e}^{(l)} \in \mathbb{R}^{d_E}
,
\mathcal{E}_{e}^{r}
表示在關系
r
下的鄰居節點集合,
\mathbf{W}_{r}^{(l)}
和
\mathbf{W}^{(l)}
是可學習的轉換矩陣,
Z_{e,r}
是正則化參數.
2.2 使用互資訊最大化政策的知識圖譜融合
為了彌合word與item的語義鴻溝,本文提出了使用MIM[7]互相地增強成對信号的資料表示。給出兩個變量
X
和
Y
,互資訊(MI)被定義為:
其中
D_{KL}
是聯合機率分布
p(X,Y)
和邊緣機率分布的點積
p(X)p(Y)
的KL散度。
通常MI是很難計算出的,于是MIM使用如下公式來最大化MI而不是計算準确數值:
其中
E_{\mathbb{P}}
和
E_{\mathbb{N}}
分别代表正樣本的期望和負樣本的期望。
g(\cdot)
是兩類别分類器。
對于一個共現在一個會話中的item-word pair <
e
,
w
>,我們通過一個轉換矩陣将他們的表示變得相近:
其中
\mathbf{T} \in \mathbb{R}^{d_E \times d_W}
是用于對齊語義空概念的轉換矩陣。通過将公式5代入公式4,我們可以得到所有會話上的目标損失,并且通過優化算法将損失最小化,最終彌合word與item的語義鴻溝
為了提高性能和效率,我們為一個會話設定了一個 super token
\tilde{w}
,假設它可以代表所有上下文單詞的語義,并且使用自注意力機制學習
\tilde{w}
的表示:
2.3 知識圖譜增強的推薦子產品
本文使用門控機制獲得使用者
u
的偏好表示
p_u
:
其中
{v}^{(c)}
是通過與公式6類似的自注意力機制在會話上下文上獲得的的單個詞向量,
{n}^{(c)}
同理。
在獲得使用者偏好後,我們可以計算每個商品被推薦給使用者的機率,以此給商品排序、做出推薦:
為了學習參數,我們使用一個交叉熵損失:
其中
j
是對話編号,
i
是商品編号,
L_{MIM}
是互資訊最大化損失函數,
\lambda
是權重矩陣。
2.4 知識圖譜增強的回複生成子產品
本文使用Transformer[8]作為編碼器-解碼器架構,并且對解碼階段進行改進。在自注意力子層後,我們使用了兩個基于知識圖譜的注意力層融合兩個知識圖譜的資訊:
其中
\text{MHA}(\mathbf{Q}, \mathbf{K}, \mathbf{V})
定義了多頭注意力函數,
\text{FFN}({x})
定義了一個全連接配接前向傳遞網絡,
\mathbf{X}
是編碼器的嵌入矩陣輸出,
\mathbf{V}^{(c)}
和
\mathbf{N}^{(c)}
都是知識圖譜增強後的表示。
\mathbf{R}^{n}
是解碼器第
n
層的嵌入矩陣。
我們進一步使用複制機制增強被推薦的item、相關實體與描述性關鍵詞的生成,最終的下一個符号
{y_i}
的預測公式如下:
其中
\text{Pr}_{g}(\cdot)
是解碼器輸出的詞彙機率,
\text{Pr}_{c}(\cdot)
是在兩個知識圖譜上使用标準複制機制的複制機率。
回複生成子產品的損失函數如下:
3. 實驗與分析
本文在ReDial資料集上進行了實驗,并且對比了KGSF模型與基線算法的性能。按照對話推薦領域的慣例,本文在推薦任務和生成任務上分别進行實驗和分析。
3.1 推薦任務
為了驗證KGSF模型的性能,本文在标準設定、冷啟動設定下分别進行試驗。從圖中看出,KGSF模型性能穩定且總是最優。
3.2 生成任務
從圖中可以看出,KGSF模型在所有評估名額上始終更好。
3.3 定性分析
我們展示了一個定性分析的例子說明我們的模型如何工作。
4. 小結
本文為CRS提出了一種基于知識圖譜的語義融合技術。通過使用兩個外部的知識圖譜,我們增強了單詞和商品的語義表示,并且使用互資訊最大政策對齊這兩個元件的語義空間。基于對齊的語義表示,我們設計了能夠精确推薦的知識圖譜增強的推薦子產品、能夠産生豐富單詞和實體的知識圖譜增強的對話子產品。拓展性實驗證明我們方法的性能比若幹基線方法要好。
在未來的工作中,我們将考慮使用更多種類的外部資訊來改善CRS的性能。此外,我們将研究如何使對話内容更具說服力,并能為推薦結果提供解釋。最後,另一個有趣的主題是如何使用使用者的曆史互動資料,并使用預定義的的使用者畫像開始會話。
參考文獻
[1] Yueming Sun and Yi Zhang. 2018. Conversational Recommender System. In SIGIR 2018. 235–244.
[2] Raymond Li, Samira Ebrahimi Kahou, Hannes Schulz, Vincent Michalski, Laurent Charlin, and Chris Pal. 2018. Towards Deep Conversational Recommendations.(2018), 9748–9758.
[3] Robyn Speer, Joshua Chin, and Catherine Havasi. 2017. ConceptNet 5.5: An Open Multilingual Graph of General Knowledge. In AAAI 2017. 4444–4451.
[4] Christian Bizer, Jens Lehmann, Georgi Kobilarov, Sören Auer, Christian Becker, Richard Cyganiak, and Sebastian Hellmann. 2009. DBpedia - A crystallization point for the Web of Data. J. Web Semant. 7 (2009), 154–165.
[5] Graph Convolutional Neural Network. In BMVC 2016
[6] Michael Schlichtkrull, Thomas N. Kipf, Peter Bloem, Rianne van den Berg, Ivan Titov, and Max Welling. 2018. Modeling Relational Data with Graph Convolutional Networks. Lecture Notes in Computer Science (2018), 593–607.
[7] Fan-Yun Sun, Jordan Hoffmann, Vikas Verma, and Jian Tang. 2020. InfoGraph: Unsupervised and Semi-supervised Graph-Level Representation Learning via Mutual Information Maximization. (2020).
[8] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. Attention is All you Need. , 5998–6008 pages.