練緒寶,林鴻飛+,徐 博,林 原
1.大連理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 大連 116024
2.大連理工大學(xué) 公共管理與法學(xué)學(xué)院,遼寧 大連 116024
融合項(xiàng)目標(biāo)簽信息面向排序的社會化推薦算法*
練緒寶1,林鴻飛1+,徐 博1,林 原2
1.大連理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 大連 116024
2.大連理工大學(xué) 公共管理與法學(xué)學(xué)院,遼寧 大連 116024
推薦系統(tǒng);社交網(wǎng)絡(luò);標(biāo)簽系統(tǒng);排序?qū)W習(xí);矩陣分解
隨著互聯(lián)網(wǎng)技術(shù)特別是電子商務(wù)的飛速發(fā)展,互聯(lián)網(wǎng)中數(shù)據(jù)的增長速度遠(yuǎn)遠(yuǎn)超過了人類的接收速度,信息過載問題顯得越來越嚴(yán)重。幫助人類從海量數(shù)據(jù)中篩選出有用數(shù)據(jù)的信息過濾技術(shù)顯得越來越重要,個(gè)性化推薦[1]技術(shù)正是一種根據(jù)用戶偏好從大規(guī)模數(shù)據(jù)中找到用戶感興趣數(shù)據(jù)的理想方法。
目前,個(gè)性化推薦的應(yīng)用主要分為兩類:第一類是評分預(yù)測,即通過給定一個(gè)用戶的歷史評分行為預(yù)測對未知項(xiàng)目的評分,評分值即表示用戶對項(xiàng)目的喜好程度。第二類是Top-K推薦,即為用戶推薦其最可能喜歡的前K個(gè)項(xiàng)目。由于用戶往往最關(guān)注排在前面的項(xiàng)目,因此和評分預(yù)測相比,Top-K更加直觀地為用戶提供排序的推薦列表,因此更加實(shí)用,這也是目前各大電子商務(wù)網(wǎng)站致力于解決的問題。本文的重點(diǎn)在于提高Top-K推薦的準(zhǔn)確率。
個(gè)性化推薦技術(shù)的核心在于推薦算法,目前推薦算法主要分為兩類,分別是內(nèi)容過濾和協(xié)同過濾。內(nèi)容過濾推薦方法主要通過分析用戶和項(xiàng)目的內(nèi)容信息,如用戶的人口統(tǒng)計(jì)信息、項(xiàng)目的描述信息等,從而構(gòu)建出用戶和項(xiàng)目的一系列特征,最終通過匹配用戶和項(xiàng)目的相似度來進(jìn)行推薦。與此不同的是,協(xié)同過濾方法不需要任何用戶或項(xiàng)目的內(nèi)容信息,是一種完全與領(lǐng)域無關(guān)的方法。協(xié)同過濾方法有效地利用了群體智慧,它基于這樣的假設(shè):用戶會喜歡和自己具有相同興趣的用戶喜歡的項(xiàng)目,同時(shí),用戶之間的共同行為越多,則用戶之間的興趣越相似。目前協(xié)同過濾方法主要分為基于記憶的協(xié)同過濾和基于模型的協(xié)同過濾,如矩陣分解[2]等。協(xié)同過濾方法有效地避免了需要專家標(biāo)注信息的問題,并且已經(jīng)廣泛地應(yīng)用在各種各樣的推薦系統(tǒng)中。
近年來,隨著在線社交網(wǎng)絡(luò)的發(fā)展,基于用戶社交關(guān)系的個(gè)性化推薦方法越來越受到工業(yè)界和研究人員的重視,這些基于用戶社交關(guān)系的推薦方法也稱為社會化推薦方法[3]。另外,互聯(lián)網(wǎng)中的標(biāo)簽系統(tǒng)也越來越流行,在傳統(tǒng)的推薦算法中融入標(biāo)簽信息也是一個(gè)新的研究方向。傳統(tǒng)的社會化推薦方法仍然是基于評分預(yù)測的模型,沒有考慮用戶感興趣項(xiàng)目的排序問題。
排序?qū)W習(xí)是一種在信息檢索領(lǐng)域中優(yōu)化文檔排序的方法。通過將用戶-項(xiàng)目對類比為信息檢索領(lǐng)域的查詢-文檔對,排序?qū)W習(xí)方法逐漸應(yīng)用在個(gè)性化推薦領(lǐng)域。和傳統(tǒng)排序?qū)W習(xí)方法類似,個(gè)性化推薦中的排序?qū)W習(xí)方法也主要分為3類,分別是點(diǎn)級(point-wise)方法、逐對級(pair-wise)方法和列表級(list-wise)方法。文獻(xiàn)[4]對基于排序?qū)W習(xí)的推薦方法進(jìn)行了總結(jié)。
面向排序的方法雖然在解決項(xiàng)目排序時(shí)具有一定的優(yōu)勢,但是仍然有一定的局限性。點(diǎn)級方法是面向評分預(yù)測的模型,沒有考慮排序的特性;逐對級方法需要考慮所有項(xiàng)目之間的偏序關(guān)系,模型訓(xùn)練的復(fù)雜度過高;列表級方法雖然考慮優(yōu)化整個(gè)推薦列表的排序,能在一定程度上解決項(xiàng)目的排序問題,但在模型中融入的信息太少,沒有考慮到用戶社交關(guān)系和項(xiàng)目標(biāo)簽信息的影響,一定程度上影響了推薦系統(tǒng)的準(zhǔn)確率,因此在實(shí)際應(yīng)用中仍然具有一定的局限性。
基于以上分析,本文提出了一種融合項(xiàng)目標(biāo)簽信息面向排序的社會化推薦算法。首先通過用戶之間的關(guān)注關(guān)系計(jì)算用戶之間的信任度,接著通過用戶之間的信任度在原始模型的損失函數(shù)中添加用戶社交約束項(xiàng)和項(xiàng)目標(biāo)簽約束項(xiàng),使相互信任的用戶偏好向量盡可能接近,標(biāo)簽相似的項(xiàng)目特征向量盡可能接近,設(shè)計(jì)了名為STListRank-MF的推薦算法。最后,本文在真實(shí)的Epinions數(shù)據(jù)集和百度電影推薦大賽公開的數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),選取了幾種基于Pair-Wise的排序?qū)W習(xí)模型和ListRank-MF作為對比,結(jié)果表明,STListRank-MF方法具有更高的推薦準(zhǔn)確率。
本文的主要貢獻(xiàn)有:(1)借鑒了信息檢索領(lǐng)域中排序?qū)W習(xí)的思想,將排序?qū)W習(xí)的方法應(yīng)用到個(gè)性化推薦領(lǐng)域;(2)對比了多種逐對級和列表級的排序損失函數(shù),并得到實(shí)驗(yàn)結(jié)果;(3)擴(kuò)展了一種基于列表級的排序?qū)W習(xí)方法,并且融入了項(xiàng)目標(biāo)簽信息和用戶社交信息,有效地提高了推薦結(jié)果的準(zhǔn)確率。
本文組織結(jié)構(gòu)如下:第2章介紹相關(guān)工作;第3章研究本文方法STListRank-MF的具體實(shí)現(xiàn);第4章給出實(shí)驗(yàn)數(shù)據(jù)集及實(shí)驗(yàn)結(jié)果,并對實(shí)驗(yàn)結(jié)果進(jìn)行對比分析;最后總結(jié)全文。
2.1 概率矩陣分解
本文方法基于Salakhutdinov等人[5]提出的概率矩陣分解模型(probabilistic matrix factorization,PMF)。假設(shè)推薦系統(tǒng)中一共有M個(gè)用戶,N個(gè)項(xiàng)目,R是一個(gè)M×N維的用戶-項(xiàng)目評分矩陣,Rij表示用戶i對項(xiàng)目j的評分,Rij通常是一個(gè)從1到Rmax的數(shù)(Rmax通常為5)。面向評分預(yù)測的協(xié)同過濾算法通過概率矩陣分解模型學(xué)習(xí)用戶和項(xiàng)目的潛在特征向量,然后根據(jù)用戶和項(xiàng)目的特征向量預(yù)測評分。概率矩陣分解通過極小化評分誤差損失函數(shù)訓(xùn)練模型,其損失函數(shù)如式(1)所示:
其中,Iij為指示函數(shù),若用戶i對項(xiàng)目j有評分記錄,則取值為1,否則取值為0。U和V分別是用戶和項(xiàng)目的潛在特征矩陣,U∈RD×M,V∈RD×N,且U和V的維度D要遠(yuǎn)遠(yuǎn)小于M和N。最后一項(xiàng)是防止過擬合的正則化項(xiàng),為正則化系數(shù)。,目的是將預(yù)測值映射到0到Rmax之間。最終通過用戶和項(xiàng)目的潛在特征向量的內(nèi)積再經(jīng)過g(x)作為預(yù)測的評分值,即Rij=g(UiTVj)。
由于分解出來的用戶和項(xiàng)目的特征向量維度遠(yuǎn)小于原始評分矩陣的維度,可以通過梯度下降的方法有效地實(shí)現(xiàn)降維。為了減少PMF中參數(shù)設(shè)定對算法的影響,Salakhutdinov等人[6]進(jìn)一步提出了貝葉斯概率矩陣分解(Bayesian probabilistic matrix factorization,BPMF)。BPMF采用馬爾可夫鏈蒙特卡洛算法進(jìn)行參數(shù)估計(jì),其推薦準(zhǔn)確率較PMF有了一定的提高。概率矩陣分解及其擴(kuò)展模型在評分預(yù)測問題上具有較高的準(zhǔn)確率,但是在做Top-K推薦時(shí)沒有考慮項(xiàng)目之間的排序關(guān)系,因此具有一定的局限性。本文提出的基于排序的矩陣分解方法能更好地解決Top-K推薦中的項(xiàng)目排序問題。
2.2 融合社交網(wǎng)絡(luò)和標(biāo)簽信息的推薦方法
近年來,隨著在線社交網(wǎng)絡(luò)的發(fā)展,基于社交網(wǎng)絡(luò)的個(gè)性化推薦方法越來越受到工業(yè)界和研究人員的重視。社交網(wǎng)絡(luò)是指社會個(gè)體成員因?yàn)榛?dòng)而形成的相對穩(wěn)定的關(guān)系體系,在計(jì)算機(jī)科學(xué)中社交網(wǎng)絡(luò)被描述成以用戶為節(jié)點(diǎn),社會關(guān)系或交互為邊的有向或無向圖。標(biāo)簽是一種無層次化結(jié)構(gòu)的、用戶描述信息的關(guān)鍵詞,可以用來描述物品的語義和用戶的興趣。另一方面,項(xiàng)目標(biāo)簽作為描述項(xiàng)目特征的一個(gè)重要維度,具有短小精煉的特點(diǎn),可以很大程度上反映一個(gè)項(xiàng)目的特征和用戶的偏好分布。2008年Ma等人[7]提出采用概率矩陣分解[5]的方法同時(shí)分解用戶-項(xiàng)目評分矩陣和用戶-用戶信任矩陣來進(jìn)行推薦;2010年Jamali等人[8]提出在矩陣分解過程中同時(shí)約束用戶和用戶朋友之間的特征向量的差異,是基于社交網(wǎng)絡(luò)采用信任傳導(dǎo)的矩陣分解方法;2012年Wu等人[9]提出利用用戶和項(xiàng)目的標(biāo)簽信息,在概率矩陣分解模型中加入用戶和項(xiàng)目的標(biāo)簽約束項(xiàng)來進(jìn)行模型訓(xùn)練,進(jìn)而得到用戶和項(xiàng)目的潛在特征矩陣,對用戶-項(xiàng)目偏好值進(jìn)行預(yù)測。2014年Li等人[10]利用標(biāo)簽信息構(gòu)建用戶-項(xiàng)目-標(biāo)簽的三部圖,并采用隨機(jī)游走算法構(gòu)建推薦模型。2013年Yan等人[11]提出在推薦系統(tǒng)中融合標(biāo)簽的語義關(guān)系以提高推薦準(zhǔn)確率?;谏缃痪W(wǎng)絡(luò)的推薦系統(tǒng)充分利用社交網(wǎng)絡(luò)中的社會影響、傳遞性和同質(zhì)性等特征,通過在社交網(wǎng)絡(luò)中與其直接相連或間接相連的用戶的偏好推測目標(biāo)用戶的偏好。綜上所述,在傳統(tǒng)的推薦方法中融入用戶社交信息和項(xiàng)目標(biāo)簽信息對提高推薦系統(tǒng)準(zhǔn)確率具有積極作用。
2.3 面向排序的推薦方法
排序?qū)W習(xí)是一種在信息檢索領(lǐng)域中優(yōu)化文檔排序的方法。傳統(tǒng)的基于評分預(yù)測的方法致力于降低評分預(yù)測誤差,但是忽略了項(xiàng)目之間的排序關(guān)系,與此不同的是,基于排序?qū)W習(xí)的推薦方法以優(yōu)化用戶感興趣的項(xiàng)目排列為目的,提供準(zhǔn)確的Top-K推薦結(jié)果,這也更加符合現(xiàn)實(shí)世界的推薦場景。將信息檢索領(lǐng)域的查詢-文檔對類比為用戶-項(xiàng)目對,排序?qū)W習(xí)的思想可以很好地應(yīng)用到個(gè)性化推薦領(lǐng)域中。類似地,在個(gè)性化推薦領(lǐng)域中的排序?qū)W習(xí)方法也主要分為3類,分別是基于點(diǎn)級的方法、基于逐對級的方法和基于列表級的方法。點(diǎn)級方法仍然等價(jià)于面向評分預(yù)測的模型。逐對級方法以一個(gè)項(xiàng)目對作為輸入樣本,將排序問題當(dāng)然一個(gè)項(xiàng)目對的二元分類問題,如2014年Liu等人[12]提出的基于RankNet[13]的矩陣分解方法RankNet-MF,2010年Nathan等人[14]提出的基于Bradley-Terry模型[15]的矩陣分解方法Bradley-TerryMF,2009年Rendle等人[16]提出的基于隱性反饋的貝葉斯個(gè)性化排序(Bayesian personalized ranking,BRP)方法。BPR方法將用戶未觀察到的項(xiàng)目看作負(fù)例,運(yùn)用貝葉斯最大后驗(yàn)概率方法優(yōu)化模型,訓(xùn)練過程采用隨機(jī)梯度下降方法。列表級方法將整個(gè)項(xiàng)目的排序列表作為一個(gè)訓(xùn)練樣本輸入,如直接優(yōu)化排序指標(biāo)的CofiRank[17],基于ListNet[18]優(yōu)化整個(gè)排序概率分布的ListRank-MF[19]。
基于評分預(yù)測的推薦方法以擬合評分為目標(biāo),沒有考慮項(xiàng)目之間的排序問題;Top-K推薦方法則以擬合推薦結(jié)果中前K個(gè)項(xiàng)目的排序質(zhì)量為目的,更加符合真實(shí)的推薦場景。本文擴(kuò)展了一種基于列表級的排序?qū)W習(xí)推薦方法,在此基礎(chǔ)上融入用戶社交信息和項(xiàng)目標(biāo)簽信息,取得了更加準(zhǔn)確的Top-K推薦結(jié)果。
3.1 社交網(wǎng)絡(luò)中信任度
在社交網(wǎng)絡(luò)(有向或無向)中用戶和用戶之間的信任度是有向的,并且用戶之間的信任度可以看作用戶之間的影響力大小。假設(shè)一共有M個(gè)用戶,若tuk表示用戶u對用戶k的信任度,則tuk越大表示用戶k對用戶u興趣的影響力越大;反之,用戶k對用戶u的影響力越小。同時(shí),如果用戶u關(guān)注越多用戶,則tuk應(yīng)該隨著減少;如果用戶k被越多用戶關(guān)注,則tuk應(yīng)該增加?;谝陨戏治?,本文運(yùn)用式(2)計(jì)算用戶u對用戶k的信任度tuk。
其中,d-(vk)表示用戶k被關(guān)注的數(shù)量;d+(vu)表示用戶u關(guān)注用戶的數(shù)量。特別地,在無向社交網(wǎng)絡(luò)(例如人人網(wǎng)、Facebook等)中,有d-(vu)=d+(vu)=d(vu)。
由于社交網(wǎng)絡(luò)中的社會影響,用戶的愛好(口味)會被他所關(guān)注的朋友所影響,換句話說,用戶u的潛在特征向量會被他的直接鄰居所影響,參照文獻(xiàn)[17]的方法,本文將這種社會影響按照式(3)量化:
其中,Nu代表用戶u的直接鄰居集合,將信任矩陣中每行進(jìn)行歸一化處理,使得,因此式(3)又可表示為。
3.2 項(xiàng)目的標(biāo)簽相似度
標(biāo)簽一方面反映了用戶的興趣,另一方面反映了項(xiàng)目的特點(diǎn),具有相同標(biāo)簽的項(xiàng)目往往有類似的特征,打過相同標(biāo)簽的用戶往往有類似的興趣。假設(shè)一共有N個(gè)項(xiàng)目,L個(gè)標(biāo)簽,若標(biāo)簽出現(xiàn)次數(shù)越多,則該標(biāo)簽越重要,同時(shí)標(biāo)簽標(biāo)注的項(xiàng)目越多,則其區(qū)分度越低,因此項(xiàng)目i中標(biāo)簽t的權(quán)重wit采用tf*idf權(quán)重,按照式(4)計(jì)算:
其中,tf(i,t)表示項(xiàng)目i被標(biāo)上標(biāo)簽t的次數(shù),沒有明顯標(biāo)記次數(shù)時(shí)記為1;df(t)表示標(biāo)簽t被標(biāo)記的項(xiàng)目個(gè)數(shù),沒有標(biāo)記的標(biāo)簽權(quán)重自動(dòng)記為0。至此,每個(gè)項(xiàng)目可以表示為L維的向量,項(xiàng)目i和j之間的標(biāo)簽相似度采用余弦相似度衡量,其計(jì)算方法如式(5)所示:
根據(jù)項(xiàng)目之間的標(biāo)簽相似度選擇項(xiàng)目的K近鄰,并對K近鄰項(xiàng)目相似度進(jìn)行歸一化,得到歸一化后的項(xiàng)目相似度,并將K近鄰之外的項(xiàng)目相似度置為0,其歸一化方法如式(6)所示:
其中,Ni是項(xiàng)目i的K近鄰集合;sim(i,j)是項(xiàng)目i和項(xiàng)目j的標(biāo)簽余弦相似度。
3.3 融合項(xiàng)目標(biāo)簽信息面向排序的社會化推薦算法
面向評分的協(xié)同過濾方法以預(yù)測評分為目標(biāo),在做Top-K推薦時(shí)具有很大的局限性;面向排序的推薦方法雖然能在一定程度上解決用戶感興趣的項(xiàng)目排序問題,但是由于模型中融入的信息太少,沒有考慮到用戶社交信息和項(xiàng)目標(biāo)簽信息的影響,在一定程度上限制了推薦準(zhǔn)確率。本文提出的融合標(biāo)簽信息面向排序的社會化推薦方法有效地解決了上述問題。
3.3.1 Top-one概率
假設(shè)一共有M個(gè)用戶,N個(gè)項(xiàng)目,R是一個(gè)M×N的用戶-項(xiàng)目評分矩陣,Rij表示用戶i對項(xiàng)目j的評分,Rij通常是一個(gè)從0到Rmax的數(shù)(Rmax通常為5)。文獻(xiàn)[15]將用戶i的排序列表li中評分為Rmax的項(xiàng)目排序在第一位的概率表示為Pli(Rij),其計(jì)算方法如式(7)所示:
其中,φ(x)為增函數(shù),且對于所有x都滿足φ(x)>0,令φ(x)=exp(x)。Pli(Rij)表示項(xiàng)目在給定排序列表中被排到第一位的概率值,簡稱Top-one概率。顯然,評分值Rij越大,則用戶對該項(xiàng)目的喜好程度越大,相應(yīng)Top-one概率值越高,更有可能被排到第一位。
3.3.2 融合項(xiàng)目標(biāo)簽信息和用戶社交信息
在信息論中,通常用交叉熵(cross-entropy)來衡量一個(gè)概率分布和給定概率分布的相似程度,交叉熵越小則表明兩個(gè)概率分布越相似,特別地,當(dāng)兩個(gè)概率分布完全一致時(shí),則交叉熵達(dá)到最小值。類似地,可以用交叉熵來衡量預(yù)測項(xiàng)目排序列表的Topone概率分布和已知項(xiàng)目排序列表的Top-one概率分布的相似程度。同時(shí)考慮到社交網(wǎng)絡(luò)中的朋友關(guān)系往往表示一種興趣愛好的認(rèn)同,互相信任用戶之間的興趣往往比較相似,信任度越大的用戶之間特征的相似度也往往會越大,用戶之間愛好的影響力也會越大;另一方面,項(xiàng)目標(biāo)簽作為描述項(xiàng)目特征的一個(gè)重要維度,具有短小精煉的特點(diǎn),可以很大程度上反映一個(gè)項(xiàng)目的特征,因此項(xiàng)目之間標(biāo)簽相似度越高,則項(xiàng)目之間的特征向量應(yīng)該越相似?;谝陨戏治觯谠袚p失函數(shù)中添加項(xiàng)目標(biāo)簽和用戶社交信息懲罰因子,即用戶信任度和標(biāo)簽相似度的懲罰項(xiàng),損失函數(shù)定義為式(8)所示:
3.4 模型參數(shù)訓(xùn)練
基于以上分析,本文提出的基于排序?qū)W習(xí)的社會化推薦算法通過極小化式(5)所示的損失函數(shù)訓(xùn)練模型,需要訓(xùn)練的參數(shù)有用戶潛在特征矩陣U和項(xiàng)目潛在特征矩陣V,訓(xùn)練過程采用梯度下降方法。由式(8)可得,Ui和Vj的梯度計(jì)算方法分別如式(9)和式(10)所示。通過計(jì)算好的梯度經(jīng)過多次迭代更新Ui和Vj直至收斂,得到最優(yōu)的Ui和Vj。
式(9)為用戶i的特征向量Ui的梯度計(jì)算方法;式(10)為用戶j的特征向量Vj的計(jì)算方法。
用戶i的偏好向量Ui和項(xiàng)目j的特征向量Vj的參數(shù)更新方法如式(11)、(12)所示,其中η是學(xué)習(xí)率。用戶i對項(xiàng)目j的偏好得分為用戶i的偏好向量Ui和項(xiàng)目j的特征向量Vj的內(nèi)積,最終的推薦列表由預(yù)測的項(xiàng)目偏好得分降序排列生成。
4.1 數(shù)據(jù)集描述
4.1.1 百度電影數(shù)據(jù)集
百度電影數(shù)據(jù)集由百度公司在2013年5月舉辦的電影推薦系統(tǒng)算法創(chuàng)新大賽中公開,該數(shù)據(jù)集主要有以下信息:用戶-電影評分記錄、用戶關(guān)注關(guān)系、電影標(biāo)簽信息。數(shù)據(jù)集中包含9 722個(gè)用戶對7 889個(gè)項(xiàng)目的1 256 998條評分記錄,評分?jǐn)?shù)據(jù)的密度為1.64%;同時(shí)這些用戶之間有7 898條關(guān)注關(guān)系,關(guān)注關(guān)系的密度為0.008 3%,有1 121個(gè)標(biāo)簽,平均每個(gè)項(xiàng)目被標(biāo)記了10個(gè)標(biāo)簽,其詳細(xì)統(tǒng)計(jì)信息如表1所示。
4.1.2 Epinions數(shù)據(jù)集
Epinions數(shù)據(jù)集是現(xiàn)在公開可用的社會評分網(wǎng)絡(luò)數(shù)據(jù)集之一,數(shù)據(jù)從網(wǎng)站Epinions(http://www.epinions.com)爬取,此網(wǎng)站提供各種商品的比較信息,可以在該網(wǎng)站上比較價(jià)格以及參考其他消費(fèi)者建議。本文使用的是文獻(xiàn)[10]的作者公開的數(shù)據(jù)集版本(http://www.trustlet.org/wiki/Downloaded_Epinions_dataset)。Epinions數(shù)據(jù)集中包含了評分信息和社交網(wǎng)絡(luò)信息,社交網(wǎng)絡(luò)信息也是單向的關(guān)注關(guān)系。表1列出了Epinions數(shù)據(jù)集的統(tǒng)計(jì)信息。
Table 1 Statistics information of two datasets表1 兩個(gè)數(shù)據(jù)集的統(tǒng)計(jì)信息
4.2 評價(jià)指標(biāo)
本文使用排序評價(jià)指標(biāo)NDCG(normalized discounted cumulative gain)對實(shí)驗(yàn)結(jié)果進(jìn)行評價(jià)。NDCG是信息檢索領(lǐng)域用于評價(jià)排序質(zhì)量的重要指標(biāo)之一,在個(gè)性化推薦中項(xiàng)目評分可以自然地當(dāng)作相關(guān)性等級。NDCG@k計(jì)算方法如式(13)所示:
其中,Q為數(shù)據(jù)集中的用戶集合;R(u,p)為用戶U在排序列表中第P位的項(xiàng)目賦予的評分;Zu是歸一化因子,使得最優(yōu)的排序NDCG值為1。
4.3 對比實(shí)驗(yàn)
本文采用6種方法進(jìn)行對比實(shí)驗(yàn),分別為基于評分預(yù)測的概率矩陣分解方法PMF[5]、基于RankNet[13]的矩陣分解方法(RankNet-MF[12])、基于Bradley-Terry模型[15]的矩陣分解方法(Bradley-TerryMF[14])、基于隱性反饋的貝葉斯個(gè)性化排序方法(BPR[6])、基于List-Net[18]的矩陣分解方法(ListRank-MF[19])。其中基于逐對級的RankNet-MF[12]和Bradley-TerryMF[14]方法都選取有評分記錄的正例項(xiàng)目對作為訓(xùn)練樣本,通過極小化其逐對級的誤差來優(yōu)化參數(shù)。這些方法的潛在特征空間維度都統(tǒng)一設(shè)置為5。同時(shí),為增強(qiáng)實(shí)驗(yàn)結(jié)果的說服力,消除由于數(shù)據(jù)劃分造成實(shí)驗(yàn)結(jié)果的不穩(wěn)定因素,實(shí)驗(yàn)中采用5-折交叉驗(yàn)證的方法,將數(shù)據(jù)平均劃分為5份,輪流選擇其中4份作為訓(xùn)練集,剩下1份作為測試集,訓(xùn)練5次模型,將5次訓(xùn)練結(jié)果評價(jià)指標(biāo)的平均值作為最終實(shí)驗(yàn)結(jié)果。將各方法的參數(shù)調(diào)至最佳情況下,在百度電影數(shù)據(jù)集和Epinions數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果對比分別如表2、表3所示。
Table 2 Result comparison of 6 methods in BaiduMovie dataset表2 百度電影數(shù)據(jù)集中6種方法結(jié)果對比
Table 3 Result comparison of 6 methods in Epinions dataset表3 Epinions數(shù)據(jù)集中6種方法結(jié)果對比
基于表3的實(shí)驗(yàn)結(jié)果,可以發(fā)現(xiàn)基于逐對級的3種方法RankNet-MF、Bradley-TerryMF和BPR,其整體表現(xiàn)不如基于列表級的排序方法和基于評分預(yù)測的矩陣分解方法。產(chǎn)生該結(jié)果的原因是:基于逐對級的方法以優(yōu)化項(xiàng)目偏序?qū)Φ姆诸愓`差為主要目標(biāo),沒有考慮用戶對項(xiàng)目列表整體排序結(jié)果的優(yōu)化,且貝葉斯個(gè)性化排序方法選擇將用戶未觀察到的項(xiàng)目當(dāng)作負(fù)例,沒有考慮用戶評分的差別對用戶偏好差異性的影響程度,并不適用于帶有評分的數(shù)據(jù)集?;贚ist-Wise的矩陣分解方法排序準(zhǔn)確率要優(yōu)于基于評分預(yù)測的矩陣分解方法。ListRank-MF的推薦準(zhǔn)確率要優(yōu)于PMF,本文提出的方法STListRank-MF要優(yōu)于SocialMF。產(chǎn)生該結(jié)果的主要原因是:ListRank-MF和STListRank-MF以最小化推薦結(jié)果的排序誤差為目標(biāo)對參數(shù)進(jìn)行優(yōu)化,而PMF和SocialMF以最小化優(yōu)化評分誤差為目標(biāo)對參數(shù)進(jìn)行優(yōu)化,本文的參數(shù)主要為用戶和商品的潛在特征向量。社交信息的融入可以提高推薦系統(tǒng)的準(zhǔn)確率。其中SocialMF的效果要優(yōu)于PMF,且STListRank-MF的效果要優(yōu)于ListRank-MF。融入用戶之間的信任度對用戶的特征向量進(jìn)行約束能夠更好地刻畫用戶的偏好。產(chǎn)生該結(jié)果的原因在于社交網(wǎng)絡(luò)中的用戶朋友關(guān)系能夠?qū)τ脩舻钠卯a(chǎn)生一定的影響。本文方法STListRank-MF取得了最優(yōu)的效果,也進(jìn)一步證明了在基于排序?qū)W習(xí)的推薦模型中融入社交網(wǎng)絡(luò)信息能提高推薦結(jié)果準(zhǔn)確率,同時(shí)本文提出的用戶之間信任度衡量方式也是合理的。從表2和表3中可以看到,對于不同的數(shù)據(jù)集,評分?jǐn)?shù)據(jù)越密集,推薦準(zhǔn)確率越高;社交數(shù)據(jù)越密集,推薦準(zhǔn)確率提高幅度越大。
4.4 參數(shù)設(shè)置
如式(8)所示,除了分解結(jié)果用戶和項(xiàng)目隱特征矩陣的維度K外,本文方法還有兩個(gè)參數(shù),分別是防止模型過擬合的正則化參數(shù)λ和社交信息懲罰參數(shù)λu。因?yàn)楸疚姆椒ㄊ腔贚istRank-MF所做的改進(jìn),所以首先確定正則化參數(shù)λ,在確定效果最優(yōu)的λ之后再調(diào)節(jié)社交信息懲罰參數(shù)λu,λu控制社交信息在模型中所占的重要性。針對不同的參數(shù)本文做了一系列實(shí)驗(yàn),這些實(shí)驗(yàn)全部基于Epinions數(shù)據(jù)集,且Epinions數(shù)據(jù)集缺少標(biāo)簽信息,因此將項(xiàng)目標(biāo)簽信息懲罰系數(shù)λv設(shè)置為0,研究社交信息懲罰系數(shù)λu和正則化參數(shù)λ對實(shí)驗(yàn)結(jié)果的影響。
將社交信息懲罰系數(shù)λu設(shè)為0.1,按照0.2的間隔調(diào)整正則化參數(shù)λ。將λ分別設(shè)為0.1、0.3、0.5、0.7、0.9訓(xùn)練模型,模型的NDCG@1值變化如圖1所示。從圖1中可以看出,當(dāng)λ小于0.3時(shí),模型有過擬合現(xiàn)象;當(dāng)λ為0.3時(shí),模型最優(yōu);當(dāng)λ大于0.3時(shí)模型出現(xiàn)欠擬合現(xiàn)象。
選取最優(yōu)的正則化參數(shù)λ=0.3,按照0.05的間隔調(diào)整社交信息懲罰參數(shù)λu。將λu分別設(shè)為0、0.05、0.10、0.15、0.20訓(xùn)練模型,特別地,當(dāng)λu取值為0時(shí)模型等價(jià)于ListRank-MF。模型的NDCG@1值變化如圖2所示。從圖2中可以看出,當(dāng)λu取0.15時(shí)模型最優(yōu);當(dāng)λu大于0.15時(shí),推薦準(zhǔn)確率下降。
Fig.1 Effect of regularization parameterλ圖1 正則化參數(shù)λ的影響
Fig.2 Effect of social penalty coefficientλu圖2 社交懲罰系數(shù)λu的影響
本文針對現(xiàn)有面向評分預(yù)測推薦方法的不足,將推薦問題看作排序問題,借鑒信息檢索領(lǐng)域排序?qū)W習(xí)的思想,擴(kuò)展了一種基于List-Wise排序?qū)W習(xí)的社會化推薦方法,在其基礎(chǔ)上融入了用戶社交信息和項(xiàng)目標(biāo)簽信息以提高推薦結(jié)果排序的準(zhǔn)確率。另外對比了幾種不同的排序損失函數(shù),包括RankNet和Bradley-Terry模型,從而證明將ListNet的損失函數(shù)融入矩陣分解模型要優(yōu)于RankNet和Bradley-Terry模型。同時(shí),不同稀疏性數(shù)據(jù)集中推薦準(zhǔn)確率也有明顯的差異。實(shí)驗(yàn)結(jié)果表明,在Top-k推薦場景中本文方法能有效地提高推薦結(jié)果的準(zhǔn)確率。
盡管本文方法融合了用戶社交信息和項(xiàng)目標(biāo)簽信息,并且對實(shí)驗(yàn)結(jié)果有一定提高,但是由于社交關(guān)系和評分信息過于稀疏等原因,實(shí)驗(yàn)結(jié)果提高的幅度并不是很大。因此本文方法仍然有很大的改進(jìn)空間,例如處理數(shù)據(jù)稀疏性問題,更加合理地衡量用戶之間的信任度,如何度量標(biāo)簽信息對項(xiàng)目特征向量的影響等,這些都是今后研究的改進(jìn)方向。
[1]Ricci F,Rokach L,Shapira B.Introduction to recommender systems handbook[M].New York:Springer US,2011.
[2]Koren Y,Bell R,Volinsky C.Matrix factorization techniques for recommender systems[J].Computer,2009,42(8):30-37.
[3]Jiang Meng,Cui Peng,Liu Rui,et al.Social contextual recommendation[C]//Proceedings of the 21st ACM International Conference on Information and Knowledge Management, Maui,USA,Oct 29-Nov 2,2012.New York:ACM,2012: 45-54.
[4]KaratzoglouA,Baltrunas L,Shi Y.Learning to rank for recommender systems[C]//Proceedings of the 7th ACM Conference on Recommender Systems,Hong Kong,China,Oct 12-16,2013.New York:ACM,2013:493-494.
[5]Mnih A,Salakhutdinov R.Probabilistic matrix factorization [C]//Proceedings of the 21st Annual Conference on Neural Information Processing Systems,Vancouver,Canada,Dec 3-6,2007.New York:CurranAssociates,2007:1257-1264.
[6]Salakhutdinov R,Mnih A.Bayesian probabilistic matrix factorization using Markov chain Monte Carlo[C]//Proceedings of the 25th International Conference on Machine Learning, Helsinki,Finland,Jun 5-9,2008.New York:ACM,2008: 880-887.
[7]Ma H,Yang H,Lyu M R,et al.SoRec:social recommendation using probabilistic matrix factorization[C]//Proceedings of the 17th ACM Conference on Information and Knowledge Management,Napa Valley,USA,Oct 26-30,2008. New York:ACM,2008:931-940.
[8]Jamali M,Ester M.A matrix factorization technique with trust propagation for recommendation in social networks [C]//Proceedings of the 4th ACM Conference on Recommender Systems,Barcelona,Spain,Sep 26-30,2010.New York:ACM,2010:135-142.
[9]Wu Le,Chen Enhong,Liu Qi,et al.Leveraging tagging for neighborhood-aware probabilistic matrix factorization[C]// Proceedings of the 21st ACM International Conference on Information and Knowledge Management,Maui,USA,Oct 29-Nov 2,2012.New York:ACM,2012:1854-1858.
[10]Li Ruimin,Lin Hongfei,Yan Jun.Mining latent semantic on user-tag-item for personalized music recommendation[J]. Journal of Computer Research and Development,2014,51 (10):2270-2276.
[11]Yan Jun,Liu Wenfei,Lin Hongfei.Music recommendation study based on tags multi-space[J].Journal of Chinese Information Processing,2014,28(4):117-122.
[12]Liu Xin,Aberer K.Towards a dynamic top-Nrecommenda-tion framework[C]//Proceedings of the 8th ACM Conference on Recommender Systems,Foster City,USA,Oct 6-10,2014.New York:ACM,2014:217-224.
[13]Burges C,Shaked T,Renshaw E,et al.Learning to rank using gradient descent[C]//Proceedings of the 22nd International Conference on Machine Learning,Bonn,Germany,Aug 7-11,2005.New York:ACM,2005:89-96.
[14]Liu N N,Cao Bin,Zhao Min,et al.Adapting neighborhood and matrix factorization models for context aware recommendation[C]//Proceedings of the 2010 Workshop on Context-Aware Movie Recommendation,Barcelona,Spain,Sep 30, 2010.New York:ACM,2010:7-13.
[15]Marden J I.Analyzing and modeling rank data[M].Boca Raton,USA:CRC Press,1996.
[16]Rendle S,Freudenthaler C,Gantner Z,et al.BPR:Bayesian personalized ranking from implicit feedback[C]//Proceedings of the 25th Conference on Uncertainty inArtificial Intelligence,Montreal,Canada,Jun 18-21,2009.Virginia,USA: AUAI Press,2009:452-461.
[17]Weimer M,Karatzoglou A,Le Q V,et al.COFIRANKmaximum margin matrix factorization for collaborative ranking [C]//Proceedings of the 21st Annual Conference on Neural Information Processing Systems,Vancouver,Canada,Dec 3-6,2007.Red Hook,USA:Curran Associates,2007:1593-1600.
[18]Cao Zhe,Qin Tao,Liu Tinyan,et al.Learning to rank:from pairwise approach to listwise approach[C]//Proceedings of the 24th International Conference on Machine Learning, Corvallis,USA,Jun 20-24,2007.New York:ACM,2007: 129-136.
[19]Shi Yue,Larson M,Hanjalic A.List-wise learning to rank with matrix factorization for collaborative filtering[C]//Proceedings of the 4thACM Conference on Recommender Systems,Barcelona,Spain,Sep 26-30,2010.New York:ACM, 2010:269-272.
附中文參考文獻(xiàn):
[10]李瑞敏,林鴻飛,閆俊.基于用戶-標(biāo)簽-項(xiàng)目語義挖掘的個(gè)性化音樂推薦[J].計(jì)算機(jī)研究與發(fā)展,2014,51(10):2270-2276.
[11]閆俊,劉文飛,林鴻飛.基于標(biāo)簽混合語義空間的音樂推薦方法研究[J].中文信息學(xué)報(bào),2014,28(4):117-122.
LIAN Xubao was born in 1993.He is an M.S.candidate at Dalian University of Technology.His research interests include recommender systems and machine learning,etc.
練緒寶(1993—),男,江西贛州人,大連理工大學(xué)碩士研究生,主要研究領(lǐng)域?yàn)橥扑]系統(tǒng),機(jī)器學(xué)習(xí)等。
LIN Hongfei was born in 1962.He is a professor and Ph.D.supervisor at Dalian University of Technology,and the senior member of CCF.His research interests include information retrieval,text mining,natural language processing and sentiment computing,etc.
林鴻飛(1962—),男,內(nèi)蒙古通遼人,大連理工大學(xué)教授、博士生導(dǎo)師,CCF高級會員,主要研究領(lǐng)域?yàn)樾畔z索,文本挖掘,自然語言處理,情感計(jì)算等。近年來發(fā)表學(xué)術(shù)論文100余篇,主持多項(xiàng)國家自然科學(xué)基金項(xiàng)目和國家高科技863計(jì)劃項(xiàng)目等。
XU Bo was born in 1988.He is a Ph.D.candidate at Dalian University of Technology.His research interests include information retrieval,machine learning and learning to rank,etc.
徐博(1988—),男,遼寧大連人,大連理工大學(xué)博士研究生,主要研究領(lǐng)域?yàn)樾畔z索,機(jī)器學(xué)習(xí),排序?qū)W習(xí)等。
LIN Yuan was born in 1983.He received Ph.D.degree from Dalian University of Technology.Now he is a lecturer at School of Public Administration and Law,Dalian University of Technology.His research interests include information retrieval,machine learning and learning to rank,etc.
林原(1983—),男,吉林梅河口人,大連理工大學(xué)公共管理與法學(xué)學(xué)院講師,主要研究領(lǐng)域?yàn)樾畔z索,機(jī)器學(xué)習(xí),排序?qū)W習(xí)等。
Rank-Oriented Social RecommendationAlgorithm with Item Tag Information*
LIAN Xubao1,LIN Hongfei1+,XU Bo1,LIN Yuan2
1.School of Computer Science and Technology,Dalian University of Technology,Dalian,Liaoning 116024,China
2.School of PublicAdministration and Law,Dalian University of Technology,Dalian,Liaoning 116024,China
+Corresponding author:E-mail:hflin@dlut.edu.cn
In recent years,recommender system has attracted more and more attention.According to application scenario,recommender system can be divided into rating prediction and Top-Krecommendation.Since traditional rating prediction and Top-Krecommendation only consider limited dual rating information between users and items,this paper extends a list-wise learning to rank-based matrix factorization method.On one hand,the method fully considers the focusing relationship among users.At first,compute trust values between users based on users’focusing relationship, then add trust matrix into the original loss function as a social penalty term to make users’preference vectors as near as possible.On the other hand,the method computes the weights of tags of items,based on which to compute the tag similarities between items,and then add the item tag penalty term to the loss function for training the model.The experimental results on the real Epinions and BaiduMovie datasets show that the proposed method outperforms several traditional methods,especially on the NDCG value,improving the recommendation accuracy effectively.
recommender system;social networks;tag system;learning to rank;matrix factorization
10.3778/j.issn.1673-9418.1603054
A
:TP311
*The National Natural Science Foundation of China under Grant Nos.61572102,61562080,61402075(國家自然科學(xué)基金);the Natural Science Foundation of Liaoning Province under Grant No.2014020003(遼寧省自然科學(xué)基金);the National 12th Five-Year Science and Technology Supporting Programs of China under Grant No.2015BAF20B02(國家“十二五”科技支撐計(jì)劃項(xiàng)目).
Received 2016-02,Accepted 2016-04.
CNKI網(wǎng)絡(luò)優(yōu)先出版:2016-04-01,http://www.cnki.net/kcms/detail/11.5602.TP.20160401.1614.012.html
LIAN Xubao,LIN Hongfei,XU Bo,et al.Rank-oriented social recommendation algorithm with item tag information.Journal of Frontiers of Computer Science and Technology,2017,11(3):373-381.
摘 要:近年來,推薦系統(tǒng)越來越受到人們的關(guān)注,按照應(yīng)用場景主要分為評分預(yù)測和Top-K推薦??紤]到傳統(tǒng)評分推薦系統(tǒng)和Top-K排序推薦系統(tǒng)只考慮用戶和項(xiàng)目的二元評分信息,具有一定的局限性,因此擴(kuò)展了一種基于列表排序?qū)W習(xí)的矩陣分解方法。一方面,充分考慮用戶之間關(guān)注關(guān)系。首先通過用戶之間的關(guān)注關(guān)系計(jì)算用戶之間的信任度,接著通過用戶之間的信任度在原始模型的損失函數(shù)中添加用戶社交約束項(xiàng),使相互信任的用戶偏好向量盡可能接近。另一方面,計(jì)算項(xiàng)目所擁有標(biāo)簽的權(quán)重,并以此計(jì)算項(xiàng)目之間的標(biāo)簽相似度,再將項(xiàng)目的標(biāo)簽約束項(xiàng)添加至損失函數(shù)中。在真實(shí)Epinions和百度電影數(shù)據(jù)集中的實(shí)驗(yàn)結(jié)果表明,該方法的NDCG值和原始模型相比具有一定的提高,有效地提高了推薦準(zhǔn)確率。