李 琳 , 朱 閣 , 解 慶 , 蘇 暢 , 楊征路
1(武漢理工大學 計算機科學與技術學院,湖北 武漢 430070)
2(南開大學 計算機與控制工程學院,天津 300071)
1992 年,Goldberg 等人提出了協(xié)同過濾的方法,構建和實現了個性化的郵件推薦系統(tǒng)[1].1994 年,Resnick 等人在文獻中闡述了GroupLens 研究組研究的推薦系統(tǒng)[2].迄今為止,推薦系統(tǒng)已經在各大領域得到了廣泛的應用和推廣,包括Netflix 的視頻推薦系統(tǒng)、Amazon 的商品推薦系統(tǒng)、淘寶網、京東商城等知名的中國電子商務平臺以及具有推薦功能的音樂等休閑娛樂平臺[3].
通過用戶歷史評分來推薦商品的協(xié)同過濾方法是主流的推薦方法之一,其他還有基于內容的推薦、基于知識的推薦以及混合推薦方法等.為了進一步提高推薦質量,研究者們不斷挖掘和分析能夠反映用戶特性或者用戶偏好的信息,例如用戶的性別、用戶的評論、用戶的關系等.相對于歷史評分數據,評論文本是用戶能夠更具體表達自己喜好的一種方式.研究者通過總結用戶評論文本中的重要觀點[4],或者是挖掘具有相同觀點的用戶來提高推薦質量[5],還有將評論文本的語義分析和觀點挖掘融入到推薦方法中[6].用戶對商品的評論文本隱含了一定量的用戶信息,因此可以與傳統(tǒng)基于用戶評分的推薦方法結合,進一步提高推薦質量.
圖1 中,用戶對電腦產品的評分和評論數據來自于某電子商務平臺.相對于評分數據(圖1 中的“star5”),評論文本表達了用戶對商品不同方面的關注和偏好.用戶1 從價格、外觀、材質這3 個方面對某電腦產品進行了評論,總體比較滿意,給了5 分的評價.用戶2 從價格、硬件配置和系統(tǒng)軟件這3 個方面對進行了評論,給了4 分的評價.評論文本可以反映用戶的“打分偏好”(圖1 中價格、外觀、材質、硬件配置和系統(tǒng)軟件5 個方面的評價),從一定程度上解釋了用戶評分的依據和原因.因此,從圖1 中的例子可以觀察到,評分數據是用戶對商品的整體評價,評論文本中蘊含著影響用戶評分的偏好或者說是潛在因子.體現用戶打分偏好的潛在因子表明評論數據和評論文本具有關聯(lián),因此可以將從評論文本主題發(fā)現模型學習得到的潛在主題作為個人打分偏好,融合到基于評分數據的隱因子矩陣分解模型中,從而提高面向用戶的推薦質量.
目前比較流行的是基于矩陣分解的協(xié)同過濾方法[7-11].這類方法在推薦準確率上表現出色.同時,有關融合評論文本的推薦方法也在不同方面上做了進一步的優(yōu)化和改進,且以某個特定指標為評價方式(比如均方誤差、絕對值誤差、均方根誤差等)最終提升了推薦質量[12-14].但是已有的方法未能充分地利用評論文本主題來預測評分矩陣中對未知商品的打分,特別是評論文本與基于矩陣分解的協(xié)同過濾方法如何在模型求解過程中深度融合,同時考慮用戶偏好和商品特性.本文的研究目標是探索融合評分矩陣分解模型與評論文本主題發(fā)現模型的推薦方法,考慮評分和評論數據都具有高層潛在特征,將矩陣分解中的潛在因子與評論文本的潛在主題建立映射關系后同步學習參數.通過在用戶對商品的單條評論文本上進行主題發(fā)現學習,將潛在主題特征融入評分矩陣分解模型的求解中,從而提出了基于潛在特征同步學習和偏好引導的商品推薦方法(preference guided in matrix factorization,簡稱PreferenceMF).該方法將評論文本的潛在主題與矩陣分解的潛在因子進行正向映射,同時又作為預測評分的引導項,并進一步將主題概率分布作為到正則約束的一部分.實驗結果表明,PreferenceMF 降低了預測評分的誤差,提高了推薦方法的質量.
本文的工作主要包括以下3 個方面.
(1)提出PreferenceMF 方法,以用戶對商品的單條評論文本為潛在主題學習的處理單元,通過考慮主題與評分矩陣分解后的用戶潛在因子和商品潛在因子的映射關系,使這些潛在特征相互關聯(lián),并依據此關聯(lián)設計相應的求解算法,達到提升推薦質量的目的.
(2)提出主題偏好引導,即在矩陣分解模型中引導潛在因子矩陣的計算.用戶潛在因子矩陣解釋為用戶在某一種潛在特征上的偏好,評論文本中又能夠反映用戶的個人偏好,因此,將評論中發(fā)現的個人偏好融合進潛在因子矩陣,從而能夠更好地反映用戶偏好.具體來說,在PreferenceMF 方法中添加基于主題偏好的引導,單條評論文文檔的主題發(fā)現作為引導項,并將主題概率分布添加到正則約束中提高推薦質量.
(3)在Amazon28 組數據子集上測試了PreferenceMF 方法的推薦質量,分析了數據的稀疏問題,并與已有的方法進行了對比,采用均方誤差作為評價指標,與最近相關的TopicMF 方法相比,在數據子集上均方誤差最大減少了3.32%,平均減少了0.91%.
亞馬遜購物網站是較早借助推薦方法進行商品銷售的系統(tǒng)[15].在基于用戶評分數據的推薦方法中,通常將用戶、商品及評分關系表示成矩陣的數學形式.研究者提出了基于用戶的協(xié)同過濾方法、基于商品的協(xié)同過濾方法和基于模型的推薦方法等.傳統(tǒng)的基于用戶或商品的協(xié)同過濾方法是通過計算用戶之間或者商品之間的相似度之后,用最相似的若干個用戶或者商品的歷史評分數據來預測對未知商品的打分.相似度的計算大多采用歐氏距離、皮爾遜相關系數、余弦距離等,并且研究表明,相似度計算的改進可以提高推薦性能[7,8,16,17].
在基于模型的推薦方法中,目前比較有影響且被廣泛研究的是Koren 等人提出的潛在因子分解模型(latent factor models,簡稱LFM)[9,18,19].傳統(tǒng)的分解模型一般是從奇異值分解(SVD)模型開始的,需要首先將評分矩陣補全,再使用補全得到的稠密矩陣完成分解.這不僅在存儲上帶來了很大的限制,而且在計算復雜度上也顯著地升高.2006 年Netflix 競賽后,Simon Funk 提出了一種矩陣分解的改進算法,稱為Funk-SVD,后來被Netflix 競賽的冠軍KorenY 進一步優(yōu)化為LFM,能夠對不完整的評分數據實現矩陣分解,從此逐步有了其他的矩陣分解模型NMF、PMF 等[3,13,20-22].
基于評分數據的推薦方法得到了廣泛的研究和應用,然而也存在一定的問題.由于用戶的數量和商品的數量非常龐大,用戶一般不可能對所有的物品進行反饋評分,導致評分矩陣中存在很大的空缺.這種數據的稀疏性使得模型不能得到足夠的訓練,最終影響了推薦系統(tǒng)的性能.此外,新的消費者或者是新上架的商品由于沒有歷史評分,導致無法準確地進行相似度計算,從而引起推薦的冷啟動問題.根據推薦系統(tǒng)的不同應用領域,研究者近年來通過挖掘商品的標簽和用戶的參與信息,例如用戶的關系、用戶的評論、用戶的行為等來提高推薦系統(tǒng)的性能[3].本文通過挖掘評論文本的潛在主題,將其融合到基于評分的矩陣分解模型中.接下來主要介紹近年來這方面的研究現狀.
較早已有研究表明,評論文本有助于提高推薦系統(tǒng)的性能.Basilico 等人提出的推薦方法將回歸分析應用于文本內容[10];Ganu 等人以句子為單元對評論文本分類和進行情感極性分析,并將這些信息融合到基于KNN 的協(xié)同過濾推薦方法中[11].較早的這些研究側重于發(fā)現評論文本中用戶多方面的偏好,通過標注這些重要偏好來提高評分預測的精度.他們所采用的文本處理方法是以單詞為單元的詞袋模型,沒有考慮到文字背后的語義關聯(lián).2003 年,由Jordan 等人提出的潛在狄利克雷概率模型(latent Dirichlet allocation,簡稱LDA)在概率語義分析之上加入了貝葉斯框架,是目前為主最重要的語義主題挖掘模型之一[23].此外,Lee 等人在文獻中提出了非負矩陣分解模型(non-negative matrix factorization,簡稱NMF),也可以用于文本的潛在主題分析[24].
近年來,對評分與評論文本的融合主要關注潛在特征(潛在因子和潛在主題)的分析.Mcauley 等人提出的HFT(user)方法將用戶評論集的LDA 主題分布映射到矩陣分解的用戶潛在因子向量,而HFT(item)方法則將商品評論集的LDA 主題分布映射到商品潛在因子向量[12].TopicMF 方法認為,應該同時考慮反映用戶偏好的主題和商品特性的主題[13],并使用了NMF 方法發(fā)現文本的主題,得到的每一條評論的主題分布是用戶偏好和商品特性的綜合,并將該主題分布映射到矩陣分解后的用戶潛在因子向量和商品潛在因子向量.文獻[14]首先利用主題模型挖掘評論文本中隱含的主題分布,然后用主題分布刻畫用戶偏好和商品畫像,最后在邏輯回歸模型上訓練主題與打分的關系.文獻[25]提出一種無監(jiān)督的推薦方法,在評論文本中發(fā)現情感主題,主要考慮情感主題與評分的關系.Wang 等人提出將PMF(probabilistic matrix factorization)與主題分布結合,用于推薦科學文章[22].文獻[26]提出用混合高斯模型取代矩陣分解模型,再與LDA 主題融合建模.黃璐等人提出將用戶的主題模型和商品的主題模型與矩陣分解模型相結合,并將商品的標簽信息和用戶行為數據同時加以考慮,以提升推薦結果的多樣性[27].Chen 等人提出矩陣分解模型結合文本信息的策略,直接通過用戶評論集合和商品評論集的主題分布進行引導[28].Li 等人采用Generative Models 來學習評論文本和評分數據在方面級(aspect)的關系[29].本文提出的方法是基于矩陣分解和主題模型來同步學習潛在主題和隱因子的映射關系,并使用潛在主題正則約束進行引導預測評分.此外,在跨領域的推薦問題上,融入評論文本的方法也顯著提高了推薦準確率[30,31].文獻[32]直接將主題模型用于評分數據,以提高單類協(xié)同過濾推薦算法(one-class CF)的質量.
與本文研究比較相近的有HFT 方法和TopicMF 方法.這兩者之間有3 點不同:一是主題模型,前者采用LDA模型,而后者使用了NMF;二是文本粒度,前者是由某個用戶的所有商品評論組成,而后者是某個用戶對某個商品的單條評論;三是前者將潛在主題與用戶潛在因子矩陣或者商品潛在因子矩陣之一進行融合建模,而后者是與兩個潛在因子矩陣同時融合建模.通過以上文獻調研,我們發(fā)現,基于評分矩陣和評論文本融合建模的推薦方法可以進一步深度融合,并且以用戶對商品的單條評論文本為潛在主題學習的文檔單元更有利于用戶偏好的分析.本文提出的PreferenceMF 推薦方法將單條評論文本的潛在主題與評分矩陣分解的用戶潛在因子和商品潛在因子建立映射關系,同時,以此潛在主題作為用戶偏好引入基本的矩陣分解模型中,并將主題概率分布作為正則約束,從而建立深度融合的推薦模型以及參數同步求解算法,達到減少預測評分的誤差、提高推薦質量的目的.
本文主要研究在評分矩陣存在數據稀疏問題的情況下,如何將評論文本數據融合到基于評分矩陣的推薦模型中.本節(jié)分別從潛在特征同步學習和偏好引導兩個方面入手給出PreferenceMF 推薦方法的數學模型,并討論推薦模型的建立和參數求解算法.
2.1.1 基本思想
本節(jié)先考慮PreferenceMF 中潛在特征同步學習部分.這部分將單條評論所隱藏的用戶打分偏好融入到傳統(tǒng)的隱因子模型(LFM)中.某個用戶對某個商品的打分會受到用戶的個人偏好與商品特性的影響,即用戶的打分背后是綜合了個人與商品兩者的因素,在本文中統(tǒng)稱為“打分偏好”.該打分偏好在這里可以理解為影響打分的潛在隱性特征,而用戶的評論文本能夠反映出這種隱性特征.換言之,就是評論文本的潛在主題反映的是用戶對商品不同方面的“打分偏好”[3],如圖1 所示的例子.
本文通過將用戶的每一條評論文本的主題同步映射至打分矩陣的用戶隱因子(個人偏好)和商品隱因子(商品特性),從而約束該用戶對未打分商品的評分預測.這就是潛在特征同步學習的基本思想,也是本文提出的PreferenceMF 推薦方法重點考慮的方面之一.與本文最為相近的兩個方法是來自McAuley 等人提出的HFT(hidden factors and hidden topics)方法[12]和Yang 等人提出的TopicMF 方法[13].在第1.2 節(jié)中,我們討論了它們之間的不同點,這里直接給出PreferenceMF 中潛在特征同步學習部分.
2.1.2 潛在特征同步學習
首先定義文檔集,并引入主題模型來解決評論文本的主題發(fā)現問題.用戶i對商品j的評論定義為di,j,評論集為{di,j},實例見表1.

Table 1 Examples of users’ review documents used for learning latent topics表1 用于學習潛在主題的用戶評論文檔集示例
根據表1,這里將每一條評論文本作為一個文檔(文本粒度),對應到用戶i對商品j的打分上.接下來將用戶i對商品j的打分(含個人偏好和商品特性)映射到評論文檔集的潛在主題(打分偏好),構建如圖2 所示的參數邏輯關系.

Fig.2 Logic relation diagram of parameters in learning latent features圖2 潛在特征同步學習的參數邏輯關系圖
圖2 中,I表示用戶集合,將產生用戶和潛在特征關系的矩陣和用戶評論集合;J表示商品集合,將產生商品和潛在特征關系的矩陣和商品評論集合;r表示用戶i對商品j的打分;p和q分別表示r在用戶i上的潛在因子向量和在商品j上的潛在因子向量;θi,j就是評論集{di,j}中評論di,j的主題分布;W是評論中詞的集合;Z是W的主題;?表示主題詞分布.從圖2 中可以看到,評論文本的潛在主題(打分偏好)分布與評分矩陣的潛在因子向量p(個人偏好)和q(商品特性)可以建立映射關系,即在上文中所描述的打分偏好可以映射到用戶的個人偏好與商品特性上.本文采用TopicMF[13]中推薦效果較好的映射關系,如公式(1)所示.

其中,θi,j,k表示用戶i對商品j在主題k上的概率,pi,k和qj,k分別表示用戶i和商品j對應于主題k的潛在因子.θi,j,k與pi,k和qj,k成正相關關系.參數κ用于控制映射關系的權重,κ越大,意味著用戶傾向于最重要的主題;κ越小,用戶對所有主題傾向于同等對待.此外,θi,j,k即對應于圖2 中的θi,j,pi,k和qj,k對應于圖2 中的p和q.建立如公式(1)所示的映射關系后,不需要同時對θi,j,pi,k和qj,k這3 個參數進行擬合求解.在PreferenceMF 方法中,若先只考慮潛在特征同步學習,則需要最小化優(yōu)化的目標函數參見公式(2),其中,Θ和Φ分別是評分矩陣分解和主題發(fā)現模型中的參數集合,Z是每一個詞的主題,κ是映射關系公式(1)中的參數.

在公式(2)中,
?ri,j為評分矩陣分解模型的預測打分,如公式(3)所示.

?L(τ|θ,φ,z)即為LDA 主題發(fā)現模型的似然函數,一個文檔集合主題模型的似然函數參見公式(4).

公式(4)中,τ是語料中的所有文檔,ω是文檔中的詞,Nm表示m文檔中的詞數目,表示從文檔-主題分布θm中采樣的主題zm,j,表示從主題-詞分布中采樣得到詞θm,j,相關細節(jié)和參數求解可參見文獻[23].
可以看出,本文擬最小化的目標公式(2)本質上是用主題概率分布取代了傳統(tǒng)評分矩陣分解中的正則化項,再通過公式(1)建立評論文本的潛在主題和評分矩陣的潛在因子之間的正向映射關系,從而達到潛在特征同步學習的目標.擬合求解公式(2)中參數的基本流程參見算法1 所示.
算法1.PreferenceMF 中潛在特征同步學習的參數求解基本流程.
輸入:評分評論集合.
輸出:公式(2)中的參數Θ,Φ,κ,Z.
1.評分評論集合的預處理,例如評論文本分詞等
2.基于用戶的評分構建評分矩陣模型LFM(公式(3))
3.定義每一條評論為一篇文檔,構建LDA 主題發(fā)現模型(公式(4))
4.融合步驟2、步驟3 構建模型,生成誤差目標函數(公式(2))
5.Gibbs 采樣方法求解潛在主題參數(公式(4))
6.擬牛頓法求解目標函數中的參數(公式(2))
7.重復步驟5、步驟6,直到達到迭代次數
2.1.3 參數的擬合求解
在公式(2)中需要優(yōu)化參數Θ,Φ,τ,Z,其中,Θ={μ,bi,bj,pi,qj},Φ={θ,φ}分別是評分矩陣模型中的參數和主題發(fā)現模型中的參數,然而,因為p和q與θ具有映射關系的約束,因此不能獨立進行擬合求解,通過采用兩步迭代方法進行求解,如公式(5)和公式(6)所示.

主題發(fā)現似然函數是通過單條評論作為文檔進行輸入,并建立隱性特征之間的映射關系.在公式(5)中,通過對參數求偏導數,使用擬牛頓法進行求解.公式(5)經過變換,見公式(7).

其中,d表示一個文檔,D表示文檔數,nd,k表示文檔d中出現主題k的個數,其他參數可以參見前文描述的意義.為了能夠使用擬牛頓法求解各個參數,需要求解未知參數的偏導數.μ,bi,bj可以在中求得,φ可以在求得.接下來需要從公式(8)中取得參數p,q以及控制參數κ的偏導數.

參數p,q和κ的部分重要偏導式如公式(9)~公式(11)所示.

從前面的闡述中可知,主題分布θ并非是從潛在狄利克雷分布中獲取,而是從前一步中的Θ(t)得到.整個潛在特征同步學習算法的偽代碼如算法2 所示.
算法2.潛在特征同步學習的參數求解.
輸入:Ds評分評論集合.
輸出:目標函數最小化而求得的局部最優(yōu)參數解.
1. 分詞等數據預處理
2. 得到評論文本corpus
3. 定義一條評論為一篇文檔
4. 統(tǒng)計主題詞等用于偏導計算
5. 當迭代次數小于主題模型參數求解的最大迭代次數時(公式(4)和公式(5))6. 當迭代次數小于梯度法迭代次數時
7. 構建誤差目標函數f(公式(7)),f←lsq(W[NW]),W[NW]為優(yōu)化參數數組
8. 擬牛頓法求解Lib-BGFS-Operation(f)
9. 重復步驟7 和步驟8,直到迭代次數不滿足循環(huán)條件
10.重復步驟6~步驟9,直到迭代次數不滿足循環(huán)條件
11.返回求解得到的參數數組W[NW]
基于鄰域影響的矩陣分解模型(SVD++)是在傳統(tǒng)的矩陣分解模型中添加了鄰域的影響,鄰域可以看作是一種用戶偏好引導項.此外,目前矩陣分解模型結合評論文本主要有兩種策略:一種是從正則項來約束,另一種是通過文本信息來引導.融合了上述兩種策略的方法得到了較好的推薦效果.本文提出的方法也是融合兩種策略的方法,然而不同于目前已有的研究工作在于:引導項不是直接通過用戶評論集合和商品評論集的主題分布進行引導,而是用第2.1 節(jié)中潛在特征同步學習中的映射關系進行引導,正則項使用公式(2)的主題正則約束.
潛在特征同步學習中,將單條評論文本的主題同步映射至打分矩陣的用戶隱因子(個人偏好)和商品隱因子(商品特性),目標函數再通過與主題正則項結合,從而預測該用戶對未打分商品的評分.本節(jié)在潛在特征同步學習的基礎上考慮用戶個性偏好引導,即在矩陣分解模型中引導潛在因子矩陣的計算.例如,用戶潛在因子矩陣解釋為用戶在某一種潛在因素上的偏好,評論文本中又能反映用戶的個人打分偏好,因此將評論中發(fā)現的個人打分偏好融合進潛在因子矩陣更能夠反映用戶的真實偏好.本節(jié)基于前面的潛在特征同步學習,再進一步添加基于主題引導的融合方法,得到完整的PreferenceMF 方法.它以每一條評論文文檔進行主題發(fā)現,將其映射到引導項,并將主題概率分布添加到正則約束中,PreferenceMF 的參數邏輯關系如圖3 所示,參數的含義同圖2.
本文定義符號yi表示用戶的個人偏好向量,即從評論文本中學習得到的潛在主題分布,用于引導潛在因子向量,得到預測評分公式,參見公式(12).

其中,μ表示所有評分記錄的全局平均值,作為整體模型的偏置;bi和bj作為用戶偏置和商品偏置.考慮到在實際的評分情況中存在一些固有的特性是和用戶或物品沒有直接關系的,例如某些商品由于裝飾和布局等等因素,用戶的評分往往是高分.相反,有些商戶的商品通常是低分.另外,用戶自身也存在著差異,存在著一些用戶習慣于給高分,另一些用戶習慣于給低分.同理,在物品上,有些物品的質量較高,樣式較好,通常都是高分;然而另一些則通常是低分.因此,為了能夠體現這些特性,在模型中考慮添加了偏置項μ,bi和bj.

Fig.3 Logic relation diagram of parameters in PreferenceMF圖3 PreferenceMF 的參數邏輯關系圖
公式(12)中的pi和qj分別表示用戶和商品潛在因子向量,用戶的個人偏好yi與潛在因子向量pi和qj的映射關系與主題分布映射θi一樣,參見公式(1).再繼續(xù)加入主題偏好作為正則項,得到擬優(yōu)化的目標函數,整合后參見公式(13)所示.

其中,θ,φ,z表示LDA 主題發(fā)現模型中的參數,與p和q的映射關系同公式(1).求解公式(13)可以通過求解各參數的偏導數,最后通過梯度下降法或擬牛頓法求解,流程和參數求解與算法1 和算法2 類似.
本節(jié)首先介紹實驗數據和評價指標,然后通過對比本文的PreferenceMF 方法與已有方法在推薦質量上的差異,對實驗結果進行分析和討論.
本文使用的數據集取自于Amazon.com 電商網站,該數據集的主要內容是用戶對該網站商品的打分、評論及評論的用戶有用性反饋.數據的評分與評論的時間跨度是1994 年6 月~2013 年3 月約為18 年,大小約為3.3GB,共約3 500 萬條評論數據,統(tǒng)計數量見表2.

Table 2 Dataset statistics表2 數據集統(tǒng)計信息
在整個數據集中按照該電商網站的商品分類,共抓取了28 種類別.每一條樣本中包含有如下字段:商品標識、商品名稱、商品價格、用戶標識、署名、有用性反饋、評分、時間、評論標題文本、評論正文文本.實驗中,為了更好地提升推薦質量,對評論文本進行了預處理,包括分詞(本文使用IKAnalyzer)、去停用詞、去噪等.將數據集按4:1 隨機劃分為訓練集和測試集,進行了20 次的交叉驗證,將平均值作為最終結果.由于實驗在單機下完成,因此對28 組子集中大于1GB 的數據子集進行隨機抽取.硬件配置為CentOS6.5,4 核Intel CORE i5 CPU,8GB 內存,使用C/C++語言實現.
當預測輸出為實數值時,通常用于評估推薦模型的指標有均方根誤差(RMSE)、均方誤差(MSE)和平均絕對值誤差(MAE)等,都是計算預測值和真實值之間的誤差.為了與對比算法[12,13]在同一評估方法下進行對比,本文采用MSE 作為推薦模型的評價指標,定義如公式(14)所示.

其中,TestSet表示測試樣本集,|TestSet|表示樣本集數目.MSE 值越小,表示系統(tǒng)的推薦質量越好.同時,RMSE 是MSE 開根號后的值,而MSE 為MAE 的平方,因此它們對推薦質量的評價與MSE 的保持一致.
如果將電商平臺中用戶對商品的評分構成一個矩陣,則其規(guī)模巨大,且用戶數量和商品數量都在不斷地增加.然而每一個用戶購買的商品總數相對來說只占很少一部分,矩陣中大部分的元素都為0,只有較少的用戶評分和評論數據能夠用于模型計算,這個現象被稱為數據的稀疏性.本文對Amazon 全部子集中評分數據的統(tǒng)計結果表明其確實具有稀疏性,如圖4 所示,其中,橫坐標代表不同類別的數據集,縱坐標代表評分個數占商品總數的比例.

Fig.4 Data sparsity of item ratings in Amazon datasets圖4 Amazon 數據集中商品評分稀疏性
例如,在圖4 中,Arts 數據集中具有4 211 件商品,其中75.3%的商品評分少于5 個,87.1%少于10 個,94.3%少于20 個;Automotive 數據集中具有47 571 件商品,其中87.7%的商品少于5 個,93.8%少于10 個,97.1%少于20 個等等.總體來看,平均75.3%的商品評分少于5 個,平均85.3%的商品評分數量少于10 個,平均92.1%的商品評分數量少于20 個.上述統(tǒng)計結果表明,在評分評論數據集中,評分的數據具有稀疏性,將影響矩陣分解模型的預測評分準確性.以往的研究使用數據初始化填充,基于內容的推薦等來緩解該問題.本文考慮融合評論文本的數據,對商品評論文本中單詞的統(tǒng)計量結果如圖5 所示,橫坐標代表不同類別的數據集,縱坐標代表評論文本單詞個數占單詞總數的比例.
圖5 反映了每種商品的評論單詞的數量,例如,在Arts 數據集中,67.1%的商品評論中詞數大于20,42.5%的商品評論中詞數大于50;Automotive 數據集中,60.5%的商品評論中詞數大于20,31.1%的商品評論中詞數大于50;Baby 數據集中,84.5%的商品評論詞數大于20,66.1%的商品評論中詞數大于50.總體來看,平均統(tǒng)計后得到71.99%的商品評論中詞數大于20,47.33%的商品評論中詞數大于50.統(tǒng)計結果表明,文字性的評論文本能夠從不同方面反映用戶和商品特性,有助于緩解數據的稀疏性問題.因此,可以對評論文本內容加以利用,并融合到傳統(tǒng)的評分數據中.

Fig.5 Word statistics in the item reviews of Amazon datasets圖5 Amazon 數據集中商品評論詞量統(tǒng)計
3.4.1 對比方法
本文提出的PreferenceMF 方法與以下4 種傳統(tǒng)方法進行實驗對比.
(1)Offsets 方法將直接采用全局偏置,即用戶評分的平均值作為預測.這是最簡單的預測方法,作為對比的基準方法.
(2)LFM(latent factor model),隱因子分解方法[9].通過矩陣分解方法進行未知商品的評分預測.此方法中沒有應用到用戶的評論文本信息.
(3)HFT(user)和HFT(item)方法[10],融合評分與評論文本的推薦方法.將評論劃分為某用戶的全部評論集或某商品的評論集作為LDA 主題模型的處理對象,得到的主題與LFM 矩陣分解中的用戶潛在因子或者商品潛在因子進行融合.
(4)TopicMF 方法[11],面向全部評論集,得到每一條評論的主題分布,將主題概率分布添加LFM 矩陣分解的正則項中,其核心思想是,通過每一條評論的主題分布去正則化LFM.
(5)PreferenceMF 方法,為本文提出的優(yōu)化模型.以每一條評論文文檔進行LDA 主題發(fā)現,將主題偏好作為用戶潛在因子的引導項,并將主題概率分布添加到正則約束中構建融合推薦模型.
3.4.2 對比結果
實驗結果表明,潛在因子數K等于5 或者10 以上時,大部分方法的誤差趨于穩(wěn)定.此外,主題正則權重參數經過實驗也選取了結果較優(yōu)的參數值.因此,本文采用K=5,正則參數λ=0.5.對上述方法進行20 組交叉驗證,得到平均MSE 結果,如圖6 所示.

Fig.6 Results of six recommendation approaches in terms of mean square error (MSE)圖6 6 種推薦方法平均均方誤差(MSE)結果
從圖6 中6 種推薦方法的比較結果可以發(fā)現,本文中提出的PreferenceMF 方法MSE 值最小,將沒有考慮用戶偏好引導的TopicMF 方法的誤差降低了0.91%,并且與offsets,LFM 以及HFT(user)相比優(yōu)勢明顯.
上述6 種方法可以分為3 類:第1 類是非矩陣分解方法(offsets),第2 類是潛在因子矩陣分解模型(LFM),第3 類是融入了評論文本信息的潛在因子矩陣分解模型(HFT(user),HFT(item),TopicMF,PreferenceMF).
第1 類方法沒有采用基于潛在特征的矩陣分解,第2 類方法是使用了矩陣分解方法.從結果上來看,矩陣分解方法推薦質量較高,減少了預測評分誤差.從理論上看,矩陣分解得到的潛在因子為高層特征,反映了有用戶歷史信息的偏好,這對于預測未評分的用戶有顯著的積極作用.
第3 類方法融入了評論文本主題,差別在于融合的方法以及融合程度,以及在評論文本主題挖掘上的不同.TopicMF 方法以單條評論為一篇文檔進行主題發(fā)現,與用戶和商品隱因子矩陣同時融合,比僅融合用戶偏好的HFT(user)方法更優(yōu).本文提出的PreferenceMF 不僅將主題發(fā)現融合到潛在因子分解矩陣,而且用主題分布作為偏好引導項,其優(yōu)點在于同時考慮了用戶偏好和商品特性.
3.4.3 數據子集上的對比結果(融入評論文本的方法)
本文提出的PreferenceMF 方法添加入用戶偏好的引導,以MSE 作為評估方法,在28 組Amazon 的數據子集上進行了實驗,結果同HFT(user),HFT(item)、TopicMF 這3 種融入了評論文本的推薦方法進行了比較,并給出相對于TopicMF 的預測評分誤差減少的比例,見表3.

Table 3 Comparison of PreferenceMF with other recommendation approaches using review text (MSE)表3 PreferenceMF 與其他融入評論文本的推薦方法比較(MSE)
從表3 中可以看到,帶有偏好引導的PreferenceMF 方法在16 組數據子集上優(yōu)于其他3 種融合方法,最大提升了3.32%.PreferenceMF 的平均MSE 相對于TopicMF 的平均MSE 提高了0.92%.同時,通過計算可知,相對于HFT(user),PreferenceMF 提升了2.32%;相對于HFT(item),PreferenceMF 方法提升了0.68%.綜上可知,同時添加主題偏好引導和主題正則化項的PreferenceMF 推薦質量最優(yōu).
3.4.4 數據子集上的對比結果(未融合評論文本的方法)
從圖4 中可以看到,融合評論文本的方法比沒有融合評論文本的方法推薦質量要高.本節(jié)對沒有融合評論文本offsets 和LFM 兩種方法進一步對比.基于全局偏置的Offsets 方法,是通過商品的平均值作為該商品的預測值,即用戶i對商品j沒有打分,使用商品j所有打分的平均分來預測.LFM 方法采用的是帶有偏置的SVD 模型,如公式(15)所示.

公式(15)的參數含義與公式(12)一致,模型使用隨機梯度下降法(SGD)求解在Amazon 不同數據子集上Offsets 和LFM 方法的結果見表4.

Table 4 Comparison experimental results of offsets and LFM without using review text (MSE)[3]表4 不考慮評論文本的Offsets 和LFM 的實驗結果比較(MSE)[3]
表4 中粗體表示MSE 的值最低.從表中可以看出,基于矩陣分解的方法在幾乎所有子集合上(除watches 子集合外),都比基于全局偏置的Offsets 方法更優(yōu),將Offsets 方法的均方誤差減少了14.55%.因此可以得出結論,潛在因子矩陣分解模型是推薦質量較好的方法.
從上面的實驗結果可以看出,本文提出的PreferenceMF 方法在整體上表現最優(yōu).我們對上述實驗中的6 種方法進行歸納總結如下.
?沒有融入評論文本的Offsets 和LFM 方法推薦質量不如融入評論文本的方法、基于矩陣分解的LFM優(yōu)于Offsets.
?HFT(user)方法是將用戶評論文本的主題分布與用戶評分矩陣的潛在因子向量構成映射關系,融入到訓練模型中,它考慮到了用戶偏好對用戶評分的影響.
?HFT(item)方法是以商品特性分布與商品潛在因子向量構成映射關系,融入到訓練模型中.文獻[12]中指出,用戶在對商品打分時關注商品特性多于關注自身的偏好.實驗結果表明,HFT(item)效果優(yōu)于HFT(user).
?TopicMF 方法是更換了主題發(fā)現的評論集主體,采用單條評論作為主題模型的輸入.而HFT(user)和HFT(item)的對主題偏好的學習是通過整體評論集使用主題發(fā)現,定義了主題偏好分布與用戶潛在因子向量和商品潛在因子向量的映射.實驗結果表明,TopicMF 方法均優(yōu)于HFT(item)和HFT(user),單條評論能夠更精準地表達某用戶對某商品的個性偏好.
?本文提出的PreferenceMF 是在TopicMF 基礎上加入了主題偏好的引導.經過實驗驗證,該引導項可以進一步提升推薦質量.后續(xù)有待進一步研究該方法在解決冷啟動問題的能力.
本文提出了融合評分與評論文本的推薦方法,即加入了偏好引導的PreferenceMF 方法.從不同角度進行分析后,給出了模型的數學表述形式和參數擬合求解的算法.最后,在28 組Amazon 數據子集上與多種相關的推薦方法進行實驗對比,結果表明,本文提出的PreferenceMF 方法的推薦質量相對于目前主流的方法有進一步提升.并分析了各個方法的實驗結果以及存在的問題.今后可以對隱因子數量和映射關系做進一步研究.本文在融合方法中假設主題發(fā)現的主題數量與潛在因子數相等,并且具有相同的權重,可以考慮不同權重的情況.在解決數據稀疏性、模型冷啟動和長尾現象等問題上,都有待進一步展開研究.此外,本文是從最大化似然的角度來使推薦模型適應數據,今后可以采用貝葉斯估計,從最大化后驗分布的角度來對模型進行建模和求解.