胡檢華,李 平,2
1.長沙理工大學 計算機與通信工程學院,長沙 410114
2.智能交通大數(shù)據(jù)處理湖南省重點實驗室,長沙 410114
隨著Facebook、Twitter、微博以及微信等社交媒體在全球流行,Web2.0[1]的普及與應用,越來越多的用戶在社交媒體上發(fā)布或傳播信息[2],尋求或采納其他用戶的意見或建議。社會媒體系統(tǒng)對內容搜索以及產品推廣等方面具有廣泛的潛在影響,例如幫助用戶快速找到喜歡的音樂或電影。然而,隨著社交用戶群體的不斷壯大,社交媒體平臺擁有海量的用戶信息和用戶記錄。因此,信息過載成為一個重大的挑戰(zhàn)議題。
推薦系統(tǒng)旨在從海量信息中過濾篩選,為用戶提供最具吸引力或最相關的項目(如新聞、音樂、影像等),以緩解信息過載問題。協(xié)同過濾是當前應用最流行的推薦算法,其根據(jù)用戶歷史記錄,預測特定用戶的興趣,為其提供個性化的服務。協(xié)同過濾算法可以分為基于記憶的方法和基于模型的方法?;谟洃浀姆椒ㄓ挚煞譃榛谟脩舻姆椒ê突陧椖康姆椒?。雖然基于記憶的方法易于實現(xiàn),但數(shù)據(jù)稀疏時,推薦結果不可靠。而基于模型的方法為當前的主流,包括數(shù)據(jù)挖掘和機器學習算法。例如:基于鄰域的協(xié)同過濾[3]、矩陣分解[4]、基于圖的方法[5]和基于模糊的協(xié)同過濾[6]。
然而,用戶反饋信息矩陣是稀疏的,即大多數(shù)的用戶標記過極少數(shù)的項目。數(shù)據(jù)稀疏問題導致傳統(tǒng)的協(xié)同過濾算法僅僅依靠反饋信息很難取得很好的效果。而社交媒體可以為推薦系統(tǒng)提供豐富的輔助信息,例如標簽、評論以及用戶社交關系。社交媒體與協(xié)同過濾相結合,可以有效緩解稀疏性問題,提高推薦效果。因此,如何利用社交媒體中豐富的信息來增強推薦模型,已成為學術界和行業(yè)極為關注的熱點問題[7-8]。目前,一些學者將項目內容信息和用戶社交網(wǎng)絡融入推薦模型,來提高推薦效果,取得了不錯的成果。例如,文獻[9]充分挖掘社交媒體中社會網(wǎng)絡信息,在協(xié)同主題回歸模型的基礎之上,提出一種融入社交網(wǎng)絡信息和協(xié)同主題回歸模型,該模型在推薦精度上有了較大的提高。
本章將回顧與總結一些關于基于協(xié)同過濾推薦的最新技術方法,可以分為:基于項目內容的協(xié)同過濾,基于社交網(wǎng)絡的協(xié)同過濾,以及基于項目內容與社交網(wǎng)絡的協(xié)同過濾。Wang等人[10]提出了協(xié)同主題模型(Collaborative Topic Regression modeling,CTR),通過將反饋矩陣和項目(文檔)內容信息有效地融合到同一模型,并向用戶推薦文檔,有效地緩解了傳統(tǒng)協(xié)同過濾預測不準確與不可靠的問題。Liu等人[11]在CTR模型的基礎之上,采用流式變分推理來優(yōu)化組合目標函數(shù),實現(xiàn)CTR模型在線并行處理,在保證推薦精度的同時,提高運行效率。Wang等人[12]將深度學習應用到推薦系統(tǒng)中,利用堆疊去噪自動編碼器學習項目內容,并與概率矩陣分解有效結合。在項目潛在特征學習上有效地去除噪聲,更好地挖掘項目潛在特征表示,推薦精確更高。但是,這類模型在新用戶或非活動用戶上,并不能有效地學習用戶潛在空間。
Xing等人[13]提出一種基于用戶朋友關系的社交網(wǎng)絡項目推薦模型,對用戶與朋友共同興趣特征進行潛在因式分解,預測用戶喜歡的項目,該模型推薦效果較好,并具有一定的擴展性。Ma等人[14-16]將社會信息與矩陣分解過程相結合提出了三種不同的社會推薦算法,分別是基于概率矩陣分解的社會推薦(Social Recommendation,SoRec)、社會信任集成(Social Trust Ensemble,STE)和社會正規(guī)化。在SoRec[14]中,通過共享用戶潛在因素來同時因子分解用戶-項目反饋矩陣和用戶-用戶社交矩陣。在STE[15]中,通過評分的全局偏移、基于用戶u和項目 j的潛在因素的預測,以及用戶u所有朋友對項目j的預測評分的加權和,來決定用戶u對項目 j的預測評分。社會規(guī)則化模型[16]間接模擬興趣在社交網(wǎng)絡中的傳遞性,并利用社會圈和用戶的潛在因素構建社會正則化項,來約束矩陣分解過程中的目標函數(shù)。以上三種模型比最初的矩陣分解能夠獲得更好的預測精度。然而,這些模型不能用來推薦新的項目。
上述文獻都是基于項目內容的協(xié)同過濾或基于社交網(wǎng)絡的協(xié)同過濾,因此,如何將兩者有效地與協(xié)同過濾算法結合,構建一個聯(lián)合推薦引擎,成為一個亟待解決的難題。Purushotham等人[17]在CTR的基礎之上,提出一種基于社交矩陣分解的協(xié)同主題回歸(Collaborative Topic Regression with Social Matrix Factorization,CTRSMF),將協(xié)同主題回歸和社交矩陣分解結合,構建一個動態(tài)的推薦系統(tǒng)。但CTRSMF直接分解社交矩陣,缺少物理解釋,很難揭示用戶之間的潛在關系。Kang等人[18]提出了一種基于社交媒體局部關注的協(xié)同主題回歸(Limited Attention Collaborative Topic Regression,LACTR),利用在社交媒體中的同質效應去平滑用戶與朋友之間興趣的相似性,直接學習用戶分配多少關注給朋友,并且利用這些影響去推薦。LACTR隱含了一個預設條件,即用戶之間的社交互動通常遵循主題內容局部相似。但該假設條件較強,導致LACTR對數(shù)據(jù)集敏感。Wu等人[19]提出了一種基于社會信任集成的協(xié)同主題回歸(Collaborative Topic Regression with Social Trust Ensemble,CTRSTE),將社會信任關系、主題模型和概率矩陣分解合并。在CTR-STE中,用戶采納項目的決定由用戶自身的興趣和他們信任朋友的興趣共同影響,它隱含了一個前提假設,即用戶與他們信任的朋友具有相似興趣,但有時用戶與他們信任的朋友興趣差異較大,這導致推薦效果不佳。
為了將用戶社會關系網(wǎng)絡和項目內容信息與協(xié)同過濾算法有效結合,本文引入概率鏈接函數(shù)[20]來挖掘社會關系網(wǎng)絡對用戶潛在興趣特征的影響,在協(xié)同主題回歸模型的基礎之上,提出一種融入用戶社會關系的協(xié)同主題回歸模型。本文的主要貢獻由兩點組成:一是本文提出一個新的算法框架,將用戶項目反饋信息、項目內容和用戶社會關系網(wǎng)絡有效結合在一起,構建一個基于分層貝葉斯模型的推薦引擎。二是引入鏈接概率函數(shù),將用戶潛在特征與用戶之間的社會關系建立聯(lián)系,并以此來評估社會關系對用戶興趣的影響,約束目標函數(shù),更好地挖掘用戶潛在的興趣特征。
CTR模型將傳統(tǒng)協(xié)同過濾和主題模型有效結合。CTR表示用戶具有主題興趣,假定項目是由主題模型生成的。此外,利用項目內容信息,CTR可以預測新增項目的評分。圖1展示了CTR模型。
圖1 CTR模型
CTR在主題占比θj和項目潛在向量vj之間引入項目潛在偏移向量εj。偏移表示為項目主題分布θj和項目潛在向量vj之間的差。假定有K個主題β=β1:K,CTR的生成過程如下所示。
The description of generative process
1.For each useri,Draw a user latent vector
2.For each item j,
(c)For each wordwjn,
3.Draw the feedbackrijfor each user-item pair(i,j),
用戶有著自己的興趣愛好,在不同的項目上有著不同的偏好,例如:搖滾音樂、流行音樂等。另外,用戶的興趣很容易受到社會關系網(wǎng)絡中其他用戶的影響,人們往往比較容易接受來自社區(qū)的朋友關于電影、音樂或書籍等方面的推薦。
基于以上動機,本文在協(xié)同主題回歸模型的基礎之上,引入概率鏈接函數(shù)來挖掘社會關系網(wǎng)絡對用戶潛在興趣特征的影響,以此來約束目標函數(shù),并提出一種融入用戶社會關系的協(xié)同主題模型。
圖2展示了UCRCTR模型的圖模型,其中用戶對項目的評分rij、項目內容信息Wj,n和用戶社會關系 fil為觀察量。模型根據(jù)項目內容信息Wj,n生成主題特征向量θj,項目潛在特征向量vj的初始值由θj得來。用戶潛在特征向量ui和項目潛在特征向量vj共同生成用戶對項目的預測評分。用戶社會關系向量si由ui生成,其表示其他用戶對用戶i的興趣影響。而用戶潛在特征向量ui通過用戶社會關系向量si受到用戶社會關系 fil的約束,即sl和si之間存在社會關系。η+為控制系數(shù)。
圖2 USRCTR模型
USRCTR模型的生成過程如下所示。
The description of generative process
1.For each useri,
(a)Draw a user latent vector
(b)Draw user social relation offsetand set user social relation vectorsi=ui+τi;
2.For each item j,
(a)Draw topic proportions θj~Dirichlet(?);
(c)For each wordwjn,
4.For each pair of users(i,j),draw a binary link indicator
5.Draw the feedback rijfor each user-item pair(i,j),
以上生成過程中,鏈接概率函數(shù)表示某兩個用戶之間的社會關系向量越相似,那么這兩個用戶之間存在社會關系的概率就越大。鏈接概率函數(shù)被定義為:
它表示兩個用戶之間的社會關系鏈接上的分布,其值取決于兩個用戶的用戶社會關系向量si和sl。其中,如果 fi,l=1,則表示用戶i和用戶l存在社會關系,v是一個標量值表示偏移量中的符合表示向量標量級聯(lián),運算符表示元素級矢量乘法。通過約束參數(shù)η和v來確保函數(shù)ψ的取值在0到1的范圍之內。
步驟1的(b),步驟3和4區(qū)分與CTR模型的生成過程不同。用戶社會關系偏移量τi是USRCTR模型中的一個關鍵屬性,與項目潛在偏移量εj類似,τi可以使得si在有需要的情況下偏離用戶潛在特征向量ui。用戶潛在特征向量ui表示用戶的自身興趣特征,si表示社會關系網(wǎng)絡中其他用戶對用戶i興趣特征的影響。λr越大,si和ui就越接近,當λr趨于無窮時,si=ui。
用戶社會關系的條件分布可以表示為:
在已知觀測數(shù)據(jù)用戶-項目評分矩陣R、項目內容信息W和用戶社會關系網(wǎng)絡 fi,l=1的情況下,用戶潛在特征矩陣U、項目潛在特征矩陣V、用戶社會關系矩陣S、控制系數(shù)η+和主題分布矩陣θ的聯(lián)合后驗概率函數(shù),即目標函數(shù)可以表示為:
其中,α、λu、λv、λe、λr分別為θ、U 、V 、η+和 si的超參數(shù)。K為主題的個數(shù),I為單位矩陣。P(W,θ|?,β)表示為潛在狄里克雷分布中文本描述的似然函數(shù),其中狄里克雷先驗參數(shù)?被設定為1,以便計算簡單。
給定訓練數(shù)據(jù)集,本文將所有參數(shù)視為隨機變量,采用馬爾可夫鏈蒙特卡羅方法和變分方法,用于學習和推理,并找到U、V、S和η+的最大后驗估計。參數(shù)的學習和推斷過程與CTR模型類似。最后,根據(jù)訓練得到潛在特征矩陣U和V來預測評分矩陣R中的缺失值,并通過預測評分來推薦。根據(jù)上一節(jié),需求聯(lián)合后驗概率函數(shù)公式(3)的最大后驗,即等價于求給定超參數(shù)λu、λv、λr、λe、?和 β 的U、V、s1:I、η+和 θ1:J的對數(shù)似然的最大值,如公式(4)所示:
在協(xié)同主題回歸模型中,主題模型的超參數(shù)α設置為1。由于L對于所有變量中很難同時達到最優(yōu),因此本文采用坐標上升算法來優(yōu)化目標函數(shù),通過設計一個交替算法來學習參數(shù),即每次優(yōu)化某個參數(shù)時將其他參數(shù)固定不變。
對于ui和vj,通過將其的梯度設置為零,可以得到以下更新規(guī)則:
其中,Ci={cij|j=1,2,…J}是一個對角矩陣,cij是用戶i對項目 j評分rij的置信參數(shù),如果cij越大,rij就越可信。通常,如果rij=1,那么cij=a,如果rij=0,那么cij=b,其中a和b都是置信參數(shù),并滿足a>b>0。是用戶i對所有項目反饋信息的列向量。對于每個項目 j,Cj和Rj被類似定義。
對于si和η+,由于不能直接求得L關于si或η+的梯度,并將其設置為零。因此,梯度上升被用來更新變量si和η+。L相對于si和η+的梯度分別為:
對于θj,首先定義q(zjn=k)=ψjnk,然后在將包含θj的項目分離出來之后應用Jensen不等式:
對于參數(shù)β,并遵循與LDA中相同的M步更新。
在學習到所有最優(yōu)參數(shù)U 、V 、θ1:J、φ 、η+和S之后,本模型可用于用戶對項目評分的預測。D表示為觀察到的測試數(shù)據(jù),用戶i對項目 j的預測評分被估計為:
對于非冷啟動預測,使用ui、θj和εj的點估計值來估計用戶i對項目 j的評分如下:
對于項目特定的冷啟動預測,項目剛剛發(fā)布,沒有觀察到的評分數(shù)據(jù)可用。因此,E[εj]=0。用戶i對項目 j的評分如下:
實驗數(shù)據(jù)來自知名社交音樂媒體Lastfm上收集的真實數(shù)據(jù)集。Lastfm是全球最大的社交音樂平臺,允許用戶標記音樂曲目和藝術家,本文選用hetrec2011-lastfm-2k數(shù)據(jù)集。該數(shù)據(jù)集,把藝術家當作項目,如果用戶已經收聽過某個藝術家,那么用戶對這個藝術家的評分為“1”。該數(shù)據(jù)集包含社交網(wǎng)絡、標簽和用戶對項目的評分信息。數(shù)據(jù)集的統(tǒng)計資料如表1所示。
表1 數(shù)據(jù)集的統(tǒng)計
準確性是衡量推薦系統(tǒng)好壞的一個重要屬性,其特征是產生的推薦是否能準確地匹配用戶的興趣/喜好。本文同時采用準確率和召回率來評估推薦的精度。相關項目(relevance items)為測試集中的驗證項目,top-N項目為預測評分排名前N的項目。給出推薦項目的排名列表,準確率Precision表示在top-N項目中檢索到相關項目所占的比例。
召回率Recall表示在所有相關項目中檢索到相關項目所占的比例。
推薦的質量可以沿著多個維度進行評估,僅僅依靠推薦的精度可能不足以為每個用戶找到最有用的項目。推薦的多樣性和覆蓋率也是衡量推薦推薦質量的重要標準。在推薦系統(tǒng)中,多樣性可分為用戶間的多樣性和用戶內的多樣性。本文只考慮用戶間的多樣性,即向不同用戶推薦不同項目的能力。本文采用漢明距離(Hamming Distance,HD)來衡量推薦系統(tǒng)的綜合多樣性。
其中,Qut(top-N)為用戶i和用戶 j的推薦列表top-N中相同項目的數(shù)目。
覆蓋率表示所有用戶推薦列表top-N中的項目占全部項目的比例。
其中,Nd(top-N)表示所有用戶推薦列表top-N中不同項目的個數(shù)。
本文采用五折交叉驗證將數(shù)據(jù)集分為訓練集和測試集,其中80%用于訓練,20%用于測試。通過網(wǎng)格搜索的方法找到最優(yōu)參數(shù),當λu=0.01,λv=100,a=1,b=0.01,k=200時,CTR模型給出的推薦性能最好。為了更好地與其他幾種基于CTR的模型進行對比,對于USRCTR模型,本文給定參數(shù) λu=0.01,λv=100,a=1,b=0.01,其中a和b為置信參數(shù)。
4.2.1 λr和λe參數(shù)對推薦精度的影響
首先給定主題的數(shù)目k=200,并向用戶推薦預測評分排名前20的項目,即top-N=20,使用網(wǎng)格搜索的方法來分析不同用戶社會關系參數(shù)λr和系數(shù)參數(shù)λe對USRCTR推薦的準確率和召回率的影響,來獲得更好的項目推薦。當λr=0時,USRCTR模型退化為CTR模型,即沒有考慮用戶社會關系。當λr=∞時,用戶社會關系向量si與用戶潛在特征向量ui相等。在其他情況下,USRCTR模型將主題模型和用戶社會關系網(wǎng)絡融合到矩陣分解,并預測用戶評分。
圖3(a)展示隨著λr和λe值變化時,準確率變化的3D圖,圖3(b)是其輪廓圖。由圖3可以發(fā)現(xiàn),λr的最優(yōu)值較小,而λe的最優(yōu)值較大,當λr=0.1和λe=1 000時,USRCTR模型的準確率最高。
圖4(a)展示隨著λr和λe的值變化時,召回率變化的3D圖,圖4(b)是其輪廓圖。由圖4可以發(fā)現(xiàn),當λr=0.1和λe=1 000時,USRCTR模型的召回率最高。
然后,在給定λr=0.1和λe=1 000的情況下,來分析主題數(shù)目K=50,K=100和K=200時,其對推薦前20項目的準確率和召回率的影響。
圖3 λr和λe對準確率的影響
圖4 λr和λe對召回率的影響
從圖5可以發(fā)現(xiàn),隨著K的增加,準確率和召回率顯著提高。這說明,隨著K的增加,更有意義的主題將會被發(fā)現(xiàn),這有助于提高用戶興趣模型的粒度,從而提高推薦的性能。和CTRSTE作為參照方法,因為CTRSMF、LACTR和CTRSTE這三種模型都是利用社會信息來提高CTR模型,CTR模型是這幾種模型的基礎。
圖5 K對準確率與召回率的影響
將參數(shù)K=200,λv=0.01,λr=100,λr=0.1,λe=1 000,推薦項目的數(shù)量Top-N設置為Top-N=5,10,20和50來比較USRCTR模型和其他基于CTR的模型的精確度、召回率、多樣性和覆蓋率。
圖6表明,隨著推薦項目的數(shù)量Top-N增加,各個模型的準確率降低,而召回率明顯提高,USRCTR模型比其他四種模型在準確率和召回率上表現(xiàn)更加優(yōu)異。當Top-N=50時,USRCTR模型比CTR模型,在準確率上提高2.1%,在召回率上提高4.6%。在Lastfm網(wǎng)站上,大多數(shù)用戶將喜歡的藝術家(項目)與朋友在線共享。實驗結果表明,用戶的社會關系網(wǎng)絡在推薦預測中扮演重要角色。
圖7表明,隨著推薦項目的數(shù)量Top-N增加,各模型
4.2.2 與其他基于CTR模型的比較
圖6 USRCTR與其他模型在準確率和召回率上的比較
圖7 USRCTR與其他模型在多樣性和覆蓋率上的比較
通過使用項目推薦的不同質量評價指標——準確率、召回率、多樣性和覆蓋率來比較USRCTR模型和其他四種基于CTR的模型。本文將CTR、CTRSMF、LACTR推薦項目多樣性,即漢明距離略有減少,而各模型的推薦項目覆蓋率顯著提高。CTR模型在推薦項目多樣性和覆蓋率上的表現(xiàn)要優(yōu)于其他幾種模型,即CTR模型給用戶推薦項目的種類較多,推薦多樣新穎的可能性要大。USCTR雖然在推薦的多樣性和覆蓋率上效果不如CTR,但總體表現(xiàn)穩(wěn)定,比其他幾種基于CTR的模型要好。
4.2.3 時間復雜度分析
本模型USRCTR與CTR模型都是采用LDA方法進行主題建模,因此與傳統(tǒng)矩陣分解不同,時間復雜度更高。根據(jù)USRCTR學習過程中的更新規(guī)則,對于每次迭代,更新η的時間復雜度為O(KL),其中K是潛在因素的空間維度,L是用戶社交網(wǎng)絡中社會關系的總數(shù)。對于每次迭代,更新用戶社會關系矩陣S={si|i=1,2,…,I}的時間復雜度是O(KL),其他變量更新的時間復雜度與CTR模型相同。對于用戶潛在因素矩陣U,時間復雜度是O(IK3+IJK2),對于項目潛在因素矩陣V,時間復雜度也是O(IK3+IJK2),其中I是用戶的數(shù)量,J是項目的數(shù)量。在每一次迭代過程中,與CTR模型相比,USRCTR模型只增加了額外的時間復雜度O(KL)。由于用戶社交網(wǎng)絡通常是稀疏的,這意味著L可被視為I的常數(shù)倍數(shù)。因此,USRCTR模型的額外時間成本是最小的。
學習參數(shù)的收斂閾值設定為1E-4,設置K=50,K=200分別得到CTR模型和USRCTR模型時間成本。
圖8表明,USRCTR模型每次迭代運行的時間比CTR模型略長,但USRCTR模型達到收斂條件所需的迭代次數(shù)比CTR模型要小。因此,USRCTR模型的總體時間復雜度比CTR模型要低。
圖8 CTR模型和USRCTR模型時間成本的比較
本文提出融入用戶社會關系的協(xié)同主題回歸模型,可以為社交媒體系統(tǒng)提供項目推薦。通過將用戶社會關系網(wǎng)絡引入?yún)f(xié)同主題回歸模型,USRCTR將用戶-項目反饋信息、項目內容和用戶社會網(wǎng)絡關系集成到基于分層貝葉斯模型的算法框架中,并完成項目推薦。實驗結果表明,USRCTR模型與其他幾種基于CTR的模型相比,推薦結果更好,預測評分更具解釋性。
今后工作中,希望研究更多先進的方法,如深度學習,使得USRCTR更好地挖掘用戶之間的關系對用戶評分的影響,以提高推薦效果。