論文名稱:《Why I like it: Multi-task Learning for Recommendation and Explanation》
論文地址:https://dl.acm.org/citation.cfm?id=3240365
本文提出了一種通過結(jié)合概率矩陣分解PMF和對抗式Seq2Seq模型的多任務(wù)學(xué)習(xí)框架这吻,可以通過矩陣分解模型得到用戶對物品的評分矗漾,通過Seq2Seq模型可以生成用戶對于物品的評論唁情,在提升推薦預(yù)測準(zhǔn)確性的同時瓤摧,能夠在一定程度上解決推薦系統(tǒng)中難以提供可解釋性推薦結(jié)果的難題源武。我們來一探究竟。
1、整體框架
該模型的整體框架如下圖所示:
可以看到,該模型架構(gòu)可以分為兩個部分:
對抗式Seq2Seq模型(Adversarial Sequence-to-Sequence Learning):這一部分學(xué)習(xí)生成用戶對于物品的評論籽御,并作為推薦結(jié)果的可解釋性依據(jù)。
上下文感知的PMF模型(Context-aware Matrix Factorization):這一部分主要得到用戶對于目標(biāo)物品的評分惰匙。
接下來技掏,我們分別介紹上面兩部分的結(jié)構(gòu)。
2项鬼、對抗式Seq2Seq模型
關(guān)于該部分的模型零截,文章首先介紹了單獨生成用戶u的評論和單獨生成物品j評論的過程,最后簡單介紹了生成用戶u對物品j個性化評論的過程秃臣。注意在上面的框架圖中,對抗式Seq2Seq模型包含了單獨生成用戶評論和單獨生成物品評論兩個部分的結(jié)構(gòu)。
這里我們以單獨生成用戶的評論為例奥此,介紹模型的結(jié)構(gòu)弧哎。單獨生成物品的評論,是同樣的原理稚虎。
首先定義用戶文檔du,i代表用戶i的所有歷史評論的集合撤嫩,而物品文檔dv,j代表物品j的所有歷史評論集合。
經(jīng)典的Seq2Seq模型蠢终,Decoder階段輸入的是已知的正確數(shù)據(jù)序攘,但是這種方式會導(dǎo)致exposure bias,即一步錯寻拂,步步錯程奠。所以,文章首創(chuàng)一種對抗式 Seq2Seq 模型祭钉,與常見的 GAN 方式一樣包括判別網(wǎng)絡(luò)和生成網(wǎng)絡(luò)瞄沙。
2.1 Recurrent Review Generator
生成器G的目的是盡可能生成像用戶i所寫的評論。包含兩個主要的部分:用戶文檔encoder和用戶評論生成decoder慌核。
用戶文檔encoder
該部分的詳細(xì)流程如下:
1距境、對于用戶文檔du,i中的每一條評論,將其進(jìn)行分詞垮卓,得到(w1,w2,...,wT)單詞序列垫桂。
2、單詞序列通過embedding 表得到對應(yīng)的k維embedding粟按,這里的embedding通過首先通過word2vec預(yù)訓(xùn)練得到诬滩,隨后經(jīng)由反向傳播的過程不斷更新。
3钾怔、將單詞序列對應(yīng)的embedding輸入到雙向的GRU循環(huán)神經(jīng)網(wǎng)絡(luò)中碱呼,得到兩部分的輸出:
兩部分的輸出分別代表正向輸入和反向輸入的最后時刻的輸出,然后將兩部分的輸出進(jìn)行拼接宗侦,得到每個評論的對應(yīng)向量hT愚臀。
4、將每個評論的的對應(yīng)向量hT進(jìn)行求平均操作矾利,得到用戶的文本特征向量姑裂,用U~i表示。
用戶評論生成decoder
在得到用戶的文本特征向量之后男旗,decoder生成用戶評論的過程可以用如下的條件概率表示:
這里的decoder的初始隱狀態(tài)是全0的向量舶斧,而非encoder最后時刻的隱藏層狀態(tài)。encoder和decoder通過用戶文本特征向量相聯(lián)系察皇。decoder在t-1時刻得到選擇的單詞yi,t-1時茴厉,得到該單詞對應(yīng)的向量xi,t-1,并與用戶文本特征向量進(jìn)行拼接泽台,作為decoder的t時刻的輸入:
decoder的初始輸入是開始標(biāo)記SOS,在得到結(jié)束標(biāo)記EOS時終止矾缓。在訓(xùn)練初期怀酷,使用用戶真正的評論進(jìn)行參數(shù)預(yù)訓(xùn)練,隨后通過蒙特卡洛搜索的方式生成評論嗜闻。
2.2 Convolutional Review Discriminator
對于判別模型蜕依,其目的不僅僅是區(qū)分評論是否是人寫的,還要區(qū)分生成的評論是否是用戶i所寫的琉雳,所以需要在結(jié)構(gòu)中加入用戶特征向量样眠,該特征向量不是上文所說的用戶文本特征向量,應(yīng)該是對用戶ID所對應(yīng)的Embedding翠肘。該部分借鑒經(jīng)典的textCNN結(jié)構(gòu)進(jìn)行判別檐束,將評論詞匯向量與用戶特征向量進(jìn)行 Concat 處理后作為輸入,模型結(jié)構(gòu)如下所示:
2.3 Adversarial Training for Review Generation with REINFORCE
對判別器來說锯茄,其目標(biāo)是盡可能將人寫的和生成器生成的區(qū)分開來厢塘,其目標(biāo)是最大化下面的式子:
而對生成器來說,采用強(qiáng)化學(xué)習(xí)中策略梯度的方式進(jìn)行訓(xùn)練肌幽,其梯度為:
而最終生成網(wǎng)絡(luò)的損失函數(shù)定義如下:
其中晚碾,U是經(jīng)由矩陣分解模型得到的用戶向量矩陣,如何得到我們將在后面介紹喂急。這還不同于textCNN中輸入的用戶特征向量格嘁。所以我們縷一縷,現(xiàn)在每個用戶有三組不同的向量:用戶文本特征向量廊移、經(jīng)由矩陣分解得到的用戶向量糕簿、textCNN中輸入的用戶向量。
在生成器加入后面的正則項的原因是為了使用戶文本特征向量不僅僅經(jīng)由用戶的評論生成狡孔,同時還考慮用戶在評分矩陣中所體現(xiàn)出的偏好懂诗。
2.4 擴(kuò)展
上面介紹了用戶評論生成器,物品評論生成器和用戶-物品評論生成器都是同樣的過程苗膝,只是將輸入做了一定的替換殃恒。這里我們就不再做過多的解釋了。
3辱揭、上下文感知的PMF模型
這里評分預(yù)測問題所選用的模型是概率矩陣分解PMF模型(Probabilistic Matrix Factorization)离唐。
我們這里簡單介紹一下該模型的原理。該模型基于如下兩個假設(shè):
使用如下兩個假設(shè):觀測噪聲(觀測評分矩陣R和近似評分矩陣之差)為高斯分布问窃,同時用戶屬性向量和物品屬性向量矩陣均為多元高斯分布(即向量中的每一維服從不同的高斯分布)亥鬓,即:
上面第一個式子可以改寫成:
我們的目標(biāo)是基于目前的評分矩陣,找到最有可能的用戶向量和物品向量域庇,即最大化下面的后驗概率:
這里所有的方差都是超參數(shù)嵌戈,所以可以認(rèn)為是常量覆积,所以可以對上面的式子進(jìn)行化簡(這里用戶和物品向量是獨立的):
兩邊取對數(shù)得到:
將多元高斯分布的公式帶入最終化簡可得到:
上面第二行的數(shù)都是常數(shù),所以我們只需要關(guān)心第一行的式子咕别,最大化上面的式子技健,最終可化簡為最小化下面的式子:
有關(guān)詳細(xì)的推導(dǎo)過程,可以參考文章:https://blog.csdn.net/df19900725/article/details/78222076?locationNum=4&fps=1
本文對上面的過程進(jìn)行了一定的改進(jìn)惰拱,主要是用戶屬性向量和物品屬性向量所服從的分布變?yōu)椋?/p>
而最終經(jīng)由化簡得到的損失函數(shù)為:
通過求導(dǎo)數(shù)為0,可以計算得到最終的結(jié)果為:
感興趣的同學(xué)可以自己推導(dǎo)一下上面的過程啊送。
4偿短、模型訓(xùn)練流程
一種常見的訓(xùn)練方式是將兩部分的損失函數(shù)加起來得到一個全局的損失函數(shù)進(jìn)行聯(lián)合訓(xùn)練。但是馋没,無論是生成模型還是評分預(yù)測模型昔逗,兩部分都同時依賴用戶向量U和用戶文本特征向量U~,以及物品向量V和物品文本特征向量V~篷朵。如果想要生成好的評論勾怒,模型會期望所得到的用戶向量U和物品向量V是準(zhǔn)確的,如果想要得到較為精確的評分声旺,模型會期望用戶文本特征向量U~和物品文本特征向量V~是準(zhǔn)確的笔链,但是在訓(xùn)練初期,二者都不是特別精確腮猖,因此會導(dǎo)致兩個任務(wù)之間相互誤導(dǎo)鉴扫。
所以實際中采用類似于EM方法的訓(xùn)練方式,即當(dāng)訓(xùn)練其中一個任務(wù)時澈缺,固定另一個任務(wù)的參數(shù)坪创,反復(fù)交叉訓(xùn)練,其流程如下圖:
5姐赡、實驗結(jié)論
論文使用均方誤差(MSE)作為對預(yù)測評分的評價指標(biāo)莱预。對 Yelp 2013、Yelp 2014 等 5 個國際通用數(shù)據(jù)集進(jìn)行試驗项滑,結(jié)果如下所示依沮。
MT 為本論文所提出的的多任務(wù)學(xué)習(xí)的推薦算法模型,由實驗結(jié)果所示杖们,該算法模型的 MSE 的結(jié)果最多個數(shù)據(jù)集的結(jié)果中都表現(xiàn)最優(yōu)悉抵。
對于推薦系統(tǒng)的算法解釋效果如何,最佳的評價方式就是線上與用戶進(jìn)行互動調(diào)研摘完。但目前論文還沒有這樣做姥饰,論文采用了一種妥協(xié)的方式評價生成的評論質(zhì)量如何。
利用 Perplexity的評價指標(biāo)對比其他生成模型的生成效果以及 tf-idf 的相似性計算方式評價生成的評論與真實評論的近似性孝治,結(jié)果如下所示列粪,本論文模型生成的評論效果最佳审磁。
6、總結(jié)
論文嘗試用生成評論的方式解決推薦算法的解釋合理性難題岂座,并將預(yù)測評分率的效果達(dá)到了 state-of-the-art态蒂。評論生成的方式作為推薦解釋的方式雖然存在爭議,但不失為一條路徑费什。
論文中涵蓋了多種前沿領(lǐng)域的研究熱點钾恢,包括對抗式網(wǎng)絡(luò)、AutoEncoder鸳址、強(qiáng)化學(xué)習(xí)瘩蚪、多任務(wù)學(xué)習(xí)等等,是值得一看的優(yōu)質(zhì)應(yīng)用論文稿黍。
參考文獻(xiàn)
1疹瘦、原文:https://dl.acm.org/citation.cfm?id=3240365
2、http://www.mingriqingbao.com/web/detail/forword/P/36267
3巡球、https://blog.csdn.net/df19900725/article/details/78222076?locationNum=4&fps=1