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