ICDE2021 | 利用大規(guī)模知識圖譜預(yù)訓(xùn)練改進對話推薦系統(tǒng)

接收會議:ICDE2021 (International Conference on Data Engineering)
論文鏈接:https://arxiv.org/abs/2104.14899
歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處
一、模型簡介
本文首先從用戶、項目和會話的信息中構(gòu)造出一個十億規(guī)模的會話知識圖譜(Conversation Knowledge Graph, CKG),然后引入知識圖譜嵌入方法和圖卷積網(wǎng)絡(luò)對會話知識圖譜進行預(yù)訓(xùn)練,分別對語義信息和結(jié)構(gòu)信息進行編碼。為了使會話推薦系統(tǒng)預(yù)測模型能夠感知用戶的當(dāng)前狀態(tài)以及對話和項目之間的關(guān)系,引入了基于預(yù)訓(xùn)練會話知識圖譜的用戶狀態(tài)和對話交互表示,并提出了K-DCN模型。在K-DCN模型中,通過深度交叉網(wǎng)絡(luò)融合用戶狀態(tài)表示、對話交互表示和其他常規(guī)特征表示,從而給出候選項的推薦等級。
傳統(tǒng)的會話推薦系統(tǒng)(Conversational Recommender Systems, CRSs)主要關(guān)注于點擊率(Click-Through Rate,CTR),多個相關(guān)模型都進行了實驗驗證并取得了良好的效果。但是這些模型主要依賴于用戶對商品的豐富行為記錄,而在電商平臺真實場景,用戶與只能聊天機器人的交互有限,導(dǎo)致這類數(shù)據(jù)往往非常稀少,最終導(dǎo)致模型產(chǎn)生過擬合問題。
因此本文提出的K-DCN模型主要解決樣本較少和數(shù)據(jù)稀疏的問題,模型將用戶、商品和會話信息考慮在內(nèi),因為用戶的會話中可能會表達用戶本人對某種商品的某種偏好。
二、模型細節(jié)
這篇文章提出的方法包括兩部分:第一,會話知識圖譜的構(gòu)建和預(yù)訓(xùn)練,對結(jié)構(gòu)和語義信息進行編碼;第二,基于常規(guī)特征和預(yù)訓(xùn)練好的知識圖譜表示特征對知識增強的深交叉網(wǎng)絡(luò)K-DCN模型進行微調(diào),其中包括用戶狀態(tài)表示和對話交互表示。
(一)會話知識圖譜的構(gòu)建與預(yù)訓(xùn)練
這篇論文中,將知識圖譜作為一種編碼與會話推薦系統(tǒng)相關(guān)的各種信息的方法,并從用戶與聊天機器人會話的真實場景中構(gòu)造會話知識圖譜。
會話知識圖譜中包含一下三種信息:
(1)關(guān)于用戶的信息:每個用戶都有一個標(biāo)簽列表,例如性別、購物歷史等,這有助于抓住用戶的興趣?;谶@些數(shù)據(jù),以(user, has, user_tag)這樣的三元組形式對會話知識圖譜中的標(biāo)簽信息進行編碼。
(2)商品信息:平臺包含豐富的商品信息,如商品的類別和賣家,以及商品的屬性如顏色、品牌等。對于類別和賣家信息,分別以(item, belong_to, category)和(seller, has, item)的形式構(gòu)建了三元組;而對于屬性和值,構(gòu)建了兩種類型的三元組(item,has,value)和(property,has,value)。這些信息可以極大地幫助映射和挖掘用戶的興趣。
(3)會話信息:在聊天機器人中,用戶與機器人聊天時會創(chuàng)建許多會話,會話中的意圖和關(guān)鍵字有助于更準(zhǔn)確地理解用戶的意圖。因此可以根據(jù)會話歷史構(gòu)建四種類型的三元組:(user,created,session),(session,relate to,seller),(session,has,intention)和(intention,has,keywords)。

圖1 會話知識圖譜
會話知識圖譜的模式如圖1所示。最后構(gòu)造的會話知識圖譜中,包含了6億個實體和60億個三元組。
眾所周知,結(jié)構(gòu)信息和語義信息在知識圖譜中都是極有價值的,因此會話知識圖譜預(yù)訓(xùn)練包含結(jié)構(gòu)嵌入模塊和語義嵌入模塊兩個模塊。
(1)結(jié)構(gòu)嵌入模塊:圖形神經(jīng)網(wǎng)絡(luò)(GNN)及其衍生模型已被證明可用于編碼結(jié)構(gòu)信息,本文利用GCN模型來學(xué)習(xí)會話知識圖譜中實體的表示向量,并可以表示為

其中
(2)語義嵌入模塊:知識圖譜嵌入(knowledge Graph Embedding,KGE)方法能夠?qū)φZ義信息進行隱式編碼,在本文中采用TransE模型。對于三元組

其中這些加粗字母都是其對應(yīng)實體和關(guān)系嵌入向量表示。
(3)預(yù)訓(xùn)練:模型通過聯(lián)合訓(xùn)練結(jié)構(gòu)嵌入模塊和語義嵌入模塊來學(xué)習(xí)實體和關(guān)系嵌入。在協(xié)同訓(xùn)練過程中,將多層GCN模型的輸出作為TransE的實體嵌入矩陣,即

其中
(二)K-DCN模型微調(diào)
在點擊率預(yù)測模型中,通常使用常見的稀疏和密集特征,而在會話推薦系統(tǒng)中用戶對聊天機器人的即時提問對于理解用戶的意圖也很重要。因此本文考慮構(gòu)建基于預(yù)訓(xùn)練會話知識圖譜的用戶狀態(tài)和對話交互表示作為附加特征。
用戶的狀態(tài)可以被他們以前的行為捕獲。對于一個用戶,假設(shè)他在電商平臺上有k個操作行為并表示為

在垂直方向上將這些行為向量行為矩陣連接為

其中?是卷積算子,

圖2 知識增強型深度交叉網(wǎng)絡(luò)(K-DCN)的體系結(jié)構(gòu)
2. 對話交互表示
為了建立對話交互,首先從用戶中提取一組關(guān)鍵字

其中
接下來,我們根據(jù)上述的

最后,我們將所有更新的單詞嵌入連接起來作為對話交互表示向量

3. K-DCN模型
K-DCN模型的輸入是候選商品e的不同特征表示向量。除了上述用戶狀態(tài)(user-state)和對話(dialogue)交互表示向量
首先將所有特征向量連接起來,如下所示:

其中
利用上述的商品特征表示

式中

然后將上述兩個網(wǎng)絡(luò)的兩個輸出連接起來,并將連接的向量送入標(biāo)準(zhǔn)logits層,可以記為:

為了訓(xùn)練K-DCN模型,需要將以下對數(shù)似然損失函數(shù)最小化:

三、數(shù)據(jù)和實驗
1. 數(shù)據(jù)集
K-DCN模型是在本文作者構(gòu)建的私有數(shù)據(jù)集上從頭開始進行預(yù)訓(xùn)練和微調(diào)的。這些數(shù)據(jù)集來自阿里電商客服機器人的對話,包含了從十個類別中取樣了九十萬條記錄數(shù)據(jù),如表1所示。而預(yù)訓(xùn)練會話知識圖譜模型是基于十億規(guī)模的知識圖譜進行訓(xùn)練的,其中包含五億個實體和六十億個三元組。

2. 實驗結(jié)果
本文中將K-DCN模型與5個基線模型進行了比較,包括深度交叉網(wǎng)絡(luò)(Deep & Cross Network,DCN)、廣度深度網(wǎng)絡(luò)(Wide & Deep Network,WDN)、深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)、梯度增強決策樹(Gradient Boosted Decision Trees,GBDT)和邏輯回歸(Logistic Regression,LR),結(jié)果如表2所示。從表格數(shù)據(jù)中可以看出,本文中提出的K-DCN模型在所有的數(shù)據(jù)集中都優(yōu)于所有的基線模型。

表2 K-DCN模型和5個基線模型在10個不同數(shù)據(jù)集上的實驗結(jié)果
具體來說,K-DCN模型在數(shù)字配件(digital accessories)類別中的得分更高,分值為2.6%,主要原因是數(shù)字配件類的訓(xùn)練數(shù)據(jù)量非常有限,驗證了基于會話知識圖譜預(yù)訓(xùn)練的模型可以緩解數(shù)據(jù)匱乏的問題。對于所有的數(shù)據(jù)集,K-DCN模型平均提高了1.2%,驗證了本文提出的基于會話知識圖譜嵌入方法能夠為點擊率預(yù)測模型提供有意義的結(jié)構(gòu)和語義信息。從圖3中可以看出,當(dāng)使用預(yù)訓(xùn)練知識圖譜嵌入方法來初始化點擊率預(yù)測模型時,它也會加速收斂。

圖3 K-DCN模型與DCN模型的收斂速度比較
浙江大學(xué)知識引擎實驗室
