用于文档上下文感知推荐的卷积矩阵分解
- 論文:Kim D H, Park C, Oh J, et al. Convolutional Matrix Factorization for Document Context-Aware Recommendation[C]. conference on recommender systems, 2016: 233-240.
- 實(shí)現(xiàn)代碼:http://dm.postech.ac.kr/ConvMF 【協(xié)同過濾+文檔建?!?/li>
用戶對物品評價(jià)數(shù)據(jù)的稀疏性是影響推薦系統(tǒng)質(zhì)量的主要因素之一。針對稀疏性問題,研究學(xué)者已經(jīng)提出了幾種建議,并考慮了輔助信息,提高了評級預(yù)測精度。特別是,當(dāng)評價(jià)數(shù)據(jù)比較稀疏時(shí),基于文檔建模的方法context-aware通過額外使用文本數(shù)據(jù)(如評論、摘要或概要)來提高準(zhǔn)確性。然而,由于詞語袋模型bag-of-words固有的局限性,它們在有效利用文檔的上下文信息方面存在困難,導(dǎo)致對文檔的理解較淺。本文提出了一種新的上下文感知推薦模型——卷積矩陣因式分解(convmf),將卷積神經(jīng)網(wǎng)絡(luò)(CNN)與概率矩陣因式分解(PMF)相結(jié)合。因此,convmf捕獲了文檔的上下文信息,進(jìn)一步提高了評級預(yù)測的準(zhǔn)確性。對三個(gè)真實(shí)數(shù)據(jù)集的廣泛評估表明,即使在評級數(shù)據(jù)非常稀疏的情況下,convmf仍顯著優(yōu)于最先進(jìn)的推薦模型。這個(gè)方法還證明convmf成功地捕獲了文檔中單詞的細(xì)微上下文差異。
1. 論文背景分析
電子商務(wù)服務(wù)中用戶和物品數(shù)量的激增,增加了用戶對物品評價(jià)數(shù)據(jù)的稀疏性。最后,這種稀疏性降低了傳統(tǒng)協(xié)同過濾技術(shù)的等級預(yù)測精度。為了提高準(zhǔn)確性,研究學(xué)者先后提出了幾種建議,不僅考慮評級信息,還考慮輔助信息,如用戶人口統(tǒng)計(jì)、社交網(wǎng)絡(luò)和物品描述文檔。最近,基于文檔建模方法(如潛在dirichlet分配Latent Dirichlet Allocation, LDA和堆疊去噪自動(dòng)編碼器Stack Denoise Auto-Encoder, SDAE)的方法被提出額外利用物品描述文檔(如評論、摘要或概要)。Wang等人提出了協(xié)同主題回歸Collaborative Topic Regressio, CTR,將主題建模LDA和協(xié)同過濾結(jié)合在概率方法中, 提出了CTR的變體,并將LDA集成到協(xié)同過濾中,以分析具有不同集成方法的物品描述文檔。最近,Wang等人提出了將SDAE整合到概率矩陣分解(PMF)中的協(xié)同深度學(xué)習(xí)(CDL),從而在評級預(yù)測準(zhǔn)確性方面生成更準(zhǔn)確的潛在模型。
然而,現(xiàn)有的集成模型并不能完全捕獲文檔信息。因?yàn)楝F(xiàn)有方法所依賴的詞袋模型忽略了文檔的上下文信息,如周圍的單詞和單詞順序。例如,假設(shè)在一個(gè)文檔中給出了以下兩句話:“people trust the man.”??“people betray his trust finally.”??因?yàn)長DA和SDAE認(rèn)為該文檔是一系列判別詞匯的bag,它們無法區(qū)分“trust”的場景語義。準(zhǔn)確地說,盡管“trust”的每一個(gè)出現(xiàn)似乎都有幾乎相同的含義,但這些詞之間有一個(gè)微妙的句法差異——分別是動(dòng)詞和名詞。文檔中的這種細(xì)微差別也是深入理解文檔的重要因素,進(jìn)一步的這種理解有助于提高評級預(yù)測準(zhǔn)確性。為了解決上述問題,作者采用了卷積神經(jīng)網(wǎng)絡(luò)(CNN)。CNN在計(jì)算機(jī)視覺、自然語言處理和信息檢索等各個(gè)領(lǐng)域表現(xiàn)出很高的性能。CNN通過對成分建模(如局部感受野、共享權(quán)重和子采樣)有效地捕獲圖像或文檔的局部特征。因此,CNN的使用有助于加深對文檔的理解,并產(chǎn)生比LDA和SDAE更好的潛在模型,尤其是對于由于缺乏評級而訴諸于描述文件的物品。此外,CNN還可以利用預(yù)先訓(xùn)練好的單詞嵌入模型,如Glove,來加深對物品描述文檔的理解。注意,LDA和SDAE并不能利用預(yù)訓(xùn)練的單詞嵌入模型,因?yàn)樗鼈儾捎昧嗽~袋‘the bag-of-word’模型。
然而,現(xiàn)有的CNN并不適合推薦任務(wù),因?yàn)?016年之前CNN的目標(biāo)不同于推薦的目標(biāo)。具體來說,2016年之前的的CNN主要解決分類任務(wù),即預(yù)測單詞、短語或文檔的標(biāo)簽。相反,推薦的目標(biāo)被認(rèn)為是一個(gè)回歸任務(wù),旨在準(zhǔn)確地估計(jì)用戶對物品的評價(jià)。因此,現(xiàn)有的CNN不能直接應(yīng)用于電子商務(wù)中的推薦任務(wù)。為了解決這一技術(shù)問題,我們提出了一種文檔上下文感知推薦模型——卷積矩陣分解(ConvMFC),它利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)捕獲物品描述文檔的上下文信息,進(jìn)一步提高了評分預(yù)測的準(zhǔn)確性。準(zhǔn)確地說,ConvMF無縫地將CNN集成到PMF中(PMF通常用于推薦任務(wù))。這樣的集成推薦模型遵循推薦目標(biāo),最終有效地利用了協(xié)同信息和上下文信息。因此,即使評級數(shù)據(jù)非常稀疏,C噢女MF也能準(zhǔn)確預(yù)測未知評級。
為了證明ConvMF的有效性,作者對三個(gè)不同的頂級數(shù)據(jù)集進(jìn)行了評估。同時(shí)也對評級數(shù)據(jù)集的各種稀疏數(shù)據(jù)進(jìn)行的廣泛實(shí)驗(yàn)。 結(jié)果表明,2016年的時(shí)候ConvMF模型顯著優(yōu)于最先進(jìn)的模型。ConvMF的優(yōu)越性能驗(yàn)證了ConvMF生成的物品潛在模型能夠有效地反映物品描述文檔的上下文信息,即使在評級數(shù)據(jù)非常稀疏的情況下也是如此。此外,文章還定性地證明ConvMF確實(shí)捕獲了文檔中單詞的細(xì)微上下文差異。以及預(yù)訓(xùn)練的單詞嵌入模型是有助于提高ConvMF的評分預(yù)測精度。
這篇文章的創(chuàng)新點(diǎn)主要由以下幾個(gè)方面:
- 文章解決了基于詞袋模型的方法的局限性,并開發(fā)了一種新的文檔上下文感知推薦模型ConvMF
- 為了利用評分和物品描述文檔,文章在概率視角下無縫地將CNN整合到PMF中
- 文章廣泛地展示了ConvMF模型在三個(gè)頂級數(shù)據(jù)集的優(yōu)越性,并給出了定量和定性結(jié)果
2. 最流行的協(xié)同過濾技術(shù)-矩陣因子分解MF
傳統(tǒng)的協(xié)同過濾技術(shù)分為兩類:基于記憶的方法(如最近鄰)和基于模型的方法(如潛在因子模型)。一般來說,基于模型的方法可以生成更精確的推薦結(jié)果。然而,MF是最流行的基于模型的方法。
MF的目標(biāo)是在共享的潛在空間中找到用戶和物體潛在對應(yīng)模型,其中用戶-物體關(guān)系的強(qiáng)度(即用戶對物品評分)由內(nèi)積計(jì)算。假設(shè)我們有n個(gè)用戶,m個(gè)物品,一個(gè)用戶-物品評分矩陣是n×m。在MF中,用戶i和j的潛在模型表示為k維模型,ui和vj。物品j接受用戶i的評分rij,近似于用戶i和物體j對應(yīng)潛在模型的內(nèi)積。訓(xùn)練潛在模型的一般方法是最小化損失函數(shù)L,它由實(shí)際評分和預(yù)測評級之間的平方誤差項(xiàng),以及嘗試避免過度擬合問題的L2正則化項(xiàng)組成,如下所示:
其中,u是指用戶向量; v是指物品向量; r表示用戶對物品評分矩陣;I是指標(biāo)函數(shù),如果用戶對物品有評分,Ii=1, 否則為0。很明顯,I可以描述推薦數(shù)據(jù)的稀疏性和冷啟動(dòng)問題。
3. 卷積矩陣因子分解法
3.1 ConvMF的概率模型?
圖1:ConvMF模型的圖結(jié)構(gòu)。藍(lán)色點(diǎn)框代表PMF部分(概率矩陣因子分解);紅色點(diǎn)框代表CNN部分(CNN從文本中提取特征)圖1顯示了ConvMF概率模型的概述,該模型將CNN集成到PMF中。假設(shè)現(xiàn)在有N個(gè)用戶,M個(gè)物品,觀測到的評分矩陣用R矩陣表示。然后,我們的目標(biāo)是尋找用戶-物品之間的潛在模型(即U∈k*N; V∈k*M);通過U、V我們可以重建出得分矩陣R。從概率的角度看,觀測得分矩陣的條件分布可以計(jì)算如下:
N(x|μ,σ)是指高斯正態(tài)分布的概率密度函數(shù);I是指標(biāo)函數(shù),如果用戶對物品有評分,Ii=1, 否則為0。很明顯,I可以描述推薦數(shù)據(jù)的稀疏性和冷啟動(dòng)問題。
作為用戶潛在模型的一種生成模型,我們將傳統(tǒng)的先驗(yàn),即零均值球面高斯先驗(yàn),放置在具有方差σU的用戶潛在模型上。
然而,與傳統(tǒng)PMF中物體潛在模型的概率模型不同,文章假設(shè)物體潛在模型是由三個(gè)變量生成的:CNN中的內(nèi)部權(quán)重W,Xj代表物體j的文檔,以及epsilon變量作為高斯噪聲,這能夠進(jìn)一步優(yōu)化基于物體的潛在評分模型。因此,最終的物體潛在模型是由以下方程式得出的:
對于CNN權(quán)重矩陣W中的每一個(gè)權(quán)重因子wk,文章采用零均值的球狀高斯產(chǎn)生,這也是最常用的一種方式。因此,基于物體的潛在模型的條件分布可以表示如下:
其中X是物體的描述文檔集。利用CNN模型得到的文檔潛在向量作為高斯分布的平均值,利用物品的高斯噪聲作為高斯分布的方差,作為CNN和PMF之間的橋梁,有助于全面分析描述文檔和評級。
3.2 ConvMF的CNN架構(gòu)
圖2:ConvMF的CNN架構(gòu)CNN結(jié)構(gòu)的目標(biāo)是從物體文檔中生成文檔的潛在向量,結(jié)合epsilon變量用于組成物體的潛在模型。圖2顯示文章的CNN結(jié)構(gòu),由四層組成:1)嵌入層embedding layer、2)卷積層convolutional layer、3)池化層pooling layer 和 4)輸出層 output layer
- 嵌入層 embedding layer: 嵌入層是將原始文檔轉(zhuǎn)換為表示下一卷積層文檔的密集數(shù)字矩陣。詳細(xì)地說,文章將文檔視為T個(gè)單詞的序列,通過將文檔中的字向量連接起來,將文檔表示為一個(gè)矩陣。然后通過隨機(jī)初始化或者采用Glove等預(yù)訓(xùn)練的嵌入模型對詞向量進(jìn)行初始化或初始化。通過優(yōu)化過程對詞向量進(jìn)行了進(jìn)一步的訓(xùn)練。
- 卷積層 convolutional layer: 卷積層用于提取物品文檔上下文特征。
- 池化層 pooling layer: 池層從卷積層中提取具有代表性的特征,并通過池操作處理可變長度的文檔,池操作構(gòu)造固定長度的特征向量。
- 輸出層 output layer: 通常,在輸出層獲得的高級特性應(yīng)該針對特定的任務(wù)進(jìn)行轉(zhuǎn)換。
3.3 優(yōu)化方法
為了優(yōu)化CNN的基于用戶的潛在模型、基于物品的潛在模型、權(quán)重和偏差變量等變量,文章使用了最大后驗(yàn)概率(MAP)估計(jì),如下所示:
4. 算法的實(shí)驗(yàn)論證
4.1 算法驗(yàn)證基本信息
- 數(shù)據(jù)集
為了證明模型在評級預(yù)測方面的有效性,文章使用了從movie-Lens和Amazon-3獲得的三個(gè)真實(shí)數(shù)據(jù)集。這些數(shù)據(jù)集包括用戶對物品明確評分,評分范圍為1到5。Amazon數(shù)據(jù)集包含對物品的評論,作為物品的描述文檔。
- 訓(xùn)練細(xì)節(jié)
我們使用python和keras庫以及Nvidia Geforce Titanx GPU實(shí)現(xiàn)了ConvMF。為了訓(xùn)練CNN的權(quán)重,文章使用了基于RMSprop的批量訓(xùn)練方法,每個(gè)小批量包含128個(gè)訓(xùn)練物品。對于詳細(xì)的CNN架構(gòu)設(shè)置:1)將最大文檔長度設(shè)置為300。2)隨機(jī)初始化單詞隱含向量,維度大小為200。這些詞的潛在載體將通過優(yōu)化過程進(jìn)行訓(xùn)練。3)convmf+:通過預(yù)訓(xùn)練的單詞嵌入模型初始化單詞潛伏向量,尺寸為200。這些詞的潛在載體將通過優(yōu)化過程進(jìn)行訓(xùn)練。4)在卷積層中,使用不同的窗口大小作為共享權(quán)重來考慮周圍單詞的不同長度,每個(gè)窗口大小使用100個(gè)共享權(quán)重。5)使用dropout,將dropout設(shè)置為0.2,以避免CNN過度擬合,而不是采用與CNN權(quán)重相關(guān)的L2正則化。
- 評價(jià)方案
為了評估每個(gè)模型在真實(shí)數(shù)據(jù)集上的整體性能,我們將每個(gè)數(shù)據(jù)集隨機(jī)分成一個(gè)訓(xùn)練集(80%)、一個(gè)驗(yàn)證集(10%)和一個(gè)測試集(10%)。訓(xùn)練集至少包含對每個(gè)用戶-物體的評分,以便PMF處理所有用戶-物體。作為評價(jià)指標(biāo),文章也采用均方根誤差(RMSE),它直接關(guān)系到傳統(tǒng)評級預(yù)測模型的目標(biāo)函數(shù)。
文章報(bào)告了每個(gè)模型的測試錯(cuò)誤,這在200次迭代中給出了最低的驗(yàn)證錯(cuò)誤,并提前停止。為了保證結(jié)果的可靠性,我們從數(shù)據(jù)分割過程中重復(fù)了5次評估程序,并報(bào)告了平均測試誤差。
4.2 實(shí)驗(yàn)結(jié)果
- movieLen和Amazon數(shù)據(jù)集的量化結(jié)果
- 結(jié)論
文章論述了在物體描述文檔中考慮上下文信息,如周圍單詞和詞序,可以加深對描述文檔的理解,并開發(fā)了一種新的文檔上下文感知推薦模型ConvMF,它將cnn無縫地集成到pmf中,以捕獲上下文信息. 結(jié)果表明,ConvMF顯著優(yōu)于最先進(jìn)的競爭對手,這意味著ConvMF能夠很好地處理上下文信息的稀疏性問題。此外,由于ConvMF基于標(biāo)準(zhǔn)的基于mf的推薦模型pmf,因此ConvMF可以擴(kuò)展到組合其他基于mf的推薦模型,例如只考慮評級的svd++。作為下一個(gè)研究方向,由于深部神經(jīng)網(wǎng)絡(luò)的無監(jiān)督預(yù)訓(xùn)練對性能有很大影響,我們試圖開發(fā)描述文檔的卷積自動(dòng)編碼器。通過無監(jiān)督的方式,使我們不僅可以預(yù)處理嵌入層的權(quán)重變量,還可以預(yù)處理convmf中cnn部分的所有剩余權(quán)重變量。我們預(yù)計(jì),當(dāng)評級數(shù)據(jù)非常稀疏時(shí),AutoEncoder的這種無監(jiān)督預(yù)培訓(xùn)會(huì)顯著提高推薦的性能。
總結(jié)
以上是生活随笔為你收集整理的用于文档上下文感知推荐的卷积矩阵分解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: directsound抓取麦克风PCM数
- 下一篇: 文件类型探测程序