丁艷會(huì), 郝俊壽, 李春明
(1.內(nèi)蒙古工業(yè)大學(xué) 信息工程學(xué)院,內(nèi)蒙古 呼和浩特010051;2.內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院 數(shù)字媒體與藝術(shù)系,內(nèi)蒙古 呼和浩特010070;3.內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院 教務(wù)處,內(nèi)蒙古 呼和浩特010070;4.內(nèi)蒙古工業(yè)大學(xué) 信息工程學(xué)院,內(nèi)蒙古 呼和浩特010051)
隨著電子商務(wù)的日益發(fā)展,大量的商品信息充斥著整個(gè)互聯(lián)網(wǎng).推薦系統(tǒng)通過(guò)分析,過(guò)濾用戶(hù)不感興趣的商品,并選出用戶(hù)可能喜歡的商品推薦給用戶(hù).通過(guò)對(duì)用戶(hù)進(jìn)行個(gè)性化的商品推薦,一些著名的電子商務(wù)網(wǎng)站,如Amazon和Netflix,在擴(kuò)大商品市場(chǎng)和收益上都取得了巨大的成功.
然而,現(xiàn)有的客戶(hù)評(píng)論網(wǎng)站往往都沒(méi)有用戶(hù)的興趣主題信息.最直接的解決方法是計(jì)算用戶(hù)關(guān)于該領(lǐng)域的購(gòu)買(mǎi)次數(shù)或鼠標(biāo)點(diǎn)擊次數(shù),但是卻忽略了那些只有社會(huì)關(guān)系而沒(méi)有交互行為的用戶(hù).本文通過(guò)為用戶(hù)社團(tuán)挖掘出可解釋的主題,提出了一種面向領(lǐng)域的推薦算法.首先將用戶(hù)聚類(lèi)成不同的社團(tuán),然后與預(yù)先定義的領(lǐng)域相匹配,最后應(yīng)用同一領(lǐng)域的用戶(hù)協(xié)同信息進(jìn)行推薦.
基于模型的協(xié)同過(guò)濾方法通過(guò)機(jī)器學(xué)習(xí)或統(tǒng)計(jì)技術(shù)對(duì)已有的用戶(hù)進(jìn)行建模,然后按照該模型對(duì)未知的用戶(hù)行為進(jìn)行預(yù)測(cè)[1].常用的用戶(hù)建模的方法有潛在因子模型[2]、圖模型[3]、聚類(lèi)模型[4]以及貝葉斯模型[5]等.潛在因子模型最重要的方法之一是低秩矩陣分解.低秩矩陣分解[6]僅僅應(yīng)用部分用戶(hù)的偏好信息來(lái)估計(jì)所有用戶(hù)的特征,并應(yīng)用這些低秩的潛在因素來(lái)估計(jì)用戶(hù)對(duì)商品的評(píng)價(jià)值.從矩陣的完整度角度來(lái)看,低秩潛在因子模型在矩陣缺失大量值的情況下可以勝任位置元素的預(yù)測(cè).大量的事實(shí)表明,矩陣分解模型的預(yù)測(cè)性能優(yōu)于協(xié)同過(guò)濾方法.
協(xié)同過(guò)濾方法的假設(shè)前提是用戶(hù)之間是獨(dú)立同分布的,即用戶(hù)和用戶(hù)之間不相互影響.然而實(shí)際上,用戶(hù)之間往往存在著千絲萬(wàn)縷的聯(lián)系,即用戶(hù)在進(jìn)行決策時(shí)往往受他人的干擾.基于信任敏感的協(xié)同過(guò)濾方法假設(shè)用戶(hù)之間不是獨(dú)立同分布的,這種方法基于如下原理:用戶(hù)在購(gòu)買(mǎi)商品時(shí)往往與社會(huì)網(wǎng)絡(luò)中的那些可信的好友有著相同的品位.本文工作的創(chuàng)新是在推薦系統(tǒng)中應(yīng)用網(wǎng)絡(luò)規(guī)劃主題模型對(duì)用戶(hù)進(jìn)行聚類(lèi),并應(yīng)用統(tǒng)一聚類(lèi)中的用戶(hù)進(jìn)行預(yù)測(cè).
除了社會(huì)關(guān)系外,其他的關(guān)系,如項(xiàng)的分類(lèi),也可以用來(lái)彌補(bǔ)評(píng)價(jià)矩陣的稀疏性,并進(jìn)行評(píng)價(jià)值的預(yù)測(cè).Zhang等[7]對(duì)概率矩陣分解進(jìn)行了擴(kuò)展,提出了一種多領(lǐng)域下的評(píng)價(jià)值預(yù)測(cè)方法.Yang等通過(guò)用戶(hù)評(píng)價(jià)矩陣和信任關(guān)系,將包含多方面信息的信任網(wǎng)絡(luò)建模成社會(huì)矩陣分解的形式.[8]對(duì)預(yù)測(cè)結(jié)果進(jìn)行評(píng)價(jià)時(shí)是對(duì)每個(gè)領(lǐng)域進(jìn)行預(yù)測(cè),而并不是整個(gè)矩陣的性能.
本文提出的推薦框架包含3種類(lèi)型的數(shù)據(jù):所有用戶(hù)之間的社會(huì)網(wǎng)絡(luò),用戶(hù)對(duì)商品的評(píng)價(jià)記錄和項(xiàng)的分類(lèi)信息.圖1為一個(gè)包含興趣交互和社會(huì)網(wǎng)絡(luò)的異構(gòu)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu).本文的目標(biāo)是通過(guò)給定的數(shù)據(jù)構(gòu)建領(lǐng)域,挖掘主題社會(huì)團(tuán)體,并進(jìn)行面向領(lǐng)域的推薦.該框架包含如下兩個(gè)步驟:
(1)社團(tuán)主題挖掘.本步驟基于以下三點(diǎn)應(yīng)用概率主題模型挖掘社團(tuán)主題.首先,現(xiàn)實(shí)生活中每個(gè)人都是多方面的.用戶(hù)興趣不同僅限于某一個(gè)主題,因此離散混合成員模型更適合用戶(hù)特征描述.其次,例如在Epinions等消費(fèi)者評(píng)論網(wǎng)站中,在每個(gè)領(lǐng)域里都有活躍的用戶(hù)(如圖1中較大的節(jié)點(diǎn)),這些用戶(hù)在主題定位時(shí)可以為概率模型提供先驗(yàn)知識(shí).最后,概率主題模型允許相似用戶(hù)通過(guò)社會(huì)關(guān)系相聯(lián)系,并可以解釋他們?yōu)槭裁绰?lián)系在一起.
(2)領(lǐng)域相關(guān)的協(xié)同過(guò)濾.在提取出主題社團(tuán)后,根據(jù)用戶(hù)感興趣的主題將用戶(hù)分成若干個(gè)社團(tuán).在每個(gè)領(lǐng)域中采用概率矩陣分解方法預(yù)測(cè)用戶(hù)的偏好,并根據(jù)預(yù)測(cè)值返回一個(gè)有序的列表.
假設(shè)推薦系統(tǒng)包含 N 個(gè)用戶(hù),M 個(gè)項(xiàng),U = {u1,u2,…,uN}為用戶(hù)的集合,V = {v1,v2,…,vM}為項(xiàng)的集合.用戶(hù)對(duì)項(xiàng)的評(píng)價(jià)矩陣為R={r1,r2,…,rN}T,其中ri為用戶(hù)ui對(duì)項(xiàng)集V的評(píng)價(jià)的列向量.同時(shí),ri也可以看作用戶(hù)ui的特征表示,即用戶(hù)ui可以用戶(hù)一系列評(píng)價(jià)值表示.T= (t1,ti,…,tN),T∈ ?N×N為用戶(hù)之間的二值社會(huì)信任網(wǎng)絡(luò),其中ti表示用戶(hù)ui信任用戶(hù)集合U的列向量.該信任網(wǎng)絡(luò)T是一個(gè)有向的網(wǎng)絡(luò),將其轉(zhuǎn)化為無(wú)向網(wǎng)絡(luò)后可用鄰接矩陣來(lái)W表示.
如果領(lǐng)域的個(gè)數(shù)為K,領(lǐng)域Dk由項(xiàng)的子集Vk和用戶(hù)的子集Uk組成,其中k=1,…,K,每個(gè)領(lǐng)域包含Nk個(gè)用戶(hù)和Mk個(gè)項(xiàng).于是,領(lǐng)域的集合可以表示為D={D1,…,DK}.
如圖1所示,假定不同的商品分別屬于不同的領(lǐng)域(即商品的分類(lèi)目錄),那么領(lǐng)域的個(gè)數(shù)取決于商品的分類(lèi)級(jí)別.商品的分類(lèi)越細(xì),得到的領(lǐng)域越多,反之領(lǐng)域越少.不同領(lǐng)域包含的項(xiàng)的子集之間是不相交的,所有領(lǐng)域的項(xiàng)合起來(lái)就是項(xiàng)的集合.在每個(gè)領(lǐng)域中,同樣包含了對(duì)領(lǐng)域中的項(xiàng)進(jìn)行評(píng)價(jià)的用戶(hù)子集,而不同的領(lǐng)域之間可能包含了相同的用戶(hù),即用戶(hù)子集之間有交差,這表明同一用戶(hù)購(gòu)買(mǎi)了不同領(lǐng)域中的商品.
給定評(píng)價(jià)矩陣R,社會(huì)信任網(wǎng)絡(luò)T和項(xiàng)的領(lǐng)域信息Vk={v1,v2,…,vMk},目標(biāo)是:在第一步,通過(guò)挖掘用戶(hù)子集Uk= {u1,u2,…,uMk}發(fā)掘領(lǐng)域信息Dk= (Uk,Vk),k=1,…,K.第二步,對(duì)每一個(gè)領(lǐng)域Dk,應(yīng)用用戶(hù)與項(xiàng)對(duì)(ui,vj)對(duì)概率矩陣分解模型進(jìn)行訓(xùn)練,其中ui∈Uk,vj∈Vk.最后,應(yīng)用經(jīng)過(guò)訓(xùn)練的與領(lǐng)域相關(guān)的潛在特征進(jìn)行預(yù)測(cè).
將專(zhuān)家指導(dǎo)的主題模型與網(wǎng)絡(luò)約束的主題模型進(jìn)行線(xiàn)性組合,構(gòu)建成公式(1)所示的統(tǒng)一推薦模型.在該統(tǒng)一推薦模型中,規(guī)范化參數(shù)λ控制著網(wǎng)絡(luò)中的主題在兩個(gè)模型中的分布情況.
通過(guò)對(duì)專(zhuān)家指導(dǎo)的主題模型和網(wǎng)絡(luò)約束的主題模型進(jìn)行整合,得到一個(gè)既包含主題一致性又包含鏈接相干性的聯(lián)合目標(biāo)函數(shù).分別將后驗(yàn)概率公式和正則化矩陣公式代入公式(1),可以得到如下的統(tǒng)一推薦模型.
試驗(yàn)采用了兩個(gè)帶有信任網(wǎng)絡(luò)的多領(lǐng)域產(chǎn)品評(píng)論數(shù)據(jù)集,Epinions和Ciao.這兩個(gè)數(shù)據(jù)集都來(lái)自于著名的消費(fèi)者評(píng)論網(wǎng)站,數(shù)據(jù)集中不僅包含了消費(fèi)者對(duì)商品的評(píng)論,還包含了消費(fèi)者之間的信任關(guān)系.數(shù)據(jù)集的詳細(xì)信息見(jiàn)表1.圖2為兩個(gè)數(shù)據(jù)集的度分布圖.從圖中可以看出,這兩個(gè)數(shù)據(jù)集都是稀疏的并且用戶(hù)關(guān)于商品的偏好服從冪率分布.
表1 數(shù)據(jù)集基本信息Tab.1 Basic information of the data set
實(shí)驗(yàn)中,兩個(gè)數(shù)據(jù)集隨機(jī)選取了80%的評(píng)論數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),并將余下的20%作為測(cè)試數(shù)據(jù),每組數(shù)據(jù)測(cè)試10次取其平均值.
實(shí)驗(yàn)通過(guò)對(duì)測(cè)試結(jié)果的top-n項(xiàng)進(jìn)行分析,從而能評(píng)價(jià)算法的性能.采用的評(píng)價(jià)標(biāo)準(zhǔn)分別為MAP(Mean Average Precision),F(xiàn)1值和nDCG(normalized Discounted Cumulative Gain),其定義分別如下.
其中IDCG是通過(guò)精確的排名算法得到的排序結(jié)果,nDCG對(duì)排名靠前的實(shí)體賦予更大的信任值.MAP,F(xiàn)1和nDCG越大,得到的推薦結(jié)果越好.
在實(shí)驗(yàn)中,將本文提出的算法記為T(mén)opRec,并將其與概率矩陣分解PMF[12]和隨機(jī)方法RANDOM進(jìn)行對(duì)比.在概率矩陣分解中,令低秩矩陣特征矩陣的潛在維度為d=10,并且令規(guī)范化稀疏為β=0.1.對(duì)于TopRec算法,分別考慮算法在單類(lèi)、多類(lèi)和網(wǎng)絡(luò)約束下三種情況.在單類(lèi)下,TopRec-S算法的聚類(lèi)標(biāo)準(zhǔn)是:用戶(hù)ui對(duì)zk感興趣當(dāng)且僅當(dāng)所有的zk'都滿(mǎn)足f(zk,ui)>f(zk',ui).在多類(lèi)下,TopRec-M算法認(rèn)為用戶(hù)對(duì)多個(gè)領(lǐng)域感興趣.在網(wǎng)絡(luò)約束下,TopRec-Net算法在TopRec-M算法下加入了網(wǎng)絡(luò)約束,其定義如公式(2)所示.
首先,對(duì)比各種算法的性能.表2為各種算法在Epinions和Ciao兩個(gè)數(shù)據(jù)集下的性能測(cè)試結(jié)果對(duì)比.實(shí)驗(yàn)中,每個(gè)算法都令最近鄰的個(gè)數(shù)為5,即n=5.從表中可以看出,TopRec算法在單類(lèi)下效果比較差,多類(lèi)情況下效果優(yōu)于單類(lèi)下的性能,在多類(lèi)下如果與網(wǎng)絡(luò)約束相結(jié)合(TopRec-Net)效果最好,并且明顯優(yōu)于其他的四種算法.
表2 實(shí)驗(yàn)結(jié)果對(duì)比(n=5)Tab.2 Comparison of experimental results(n=5)
接著,對(duì)TopRec算法的三種情況下的專(zhuān)家自信參數(shù)σk進(jìn)行了分析,實(shí)驗(yàn)結(jié)果如圖3和圖4所示.在Epinions數(shù)據(jù)集中,三種算法的MAP@5都隨著專(zhuān)家置信參數(shù)的增大而增大.然而在Ciao數(shù)據(jù)集中,三種算法的MAP@5隨著專(zhuān)家置信參數(shù)的增大先增加,增加到一定程度時(shí)再減小.這表明在專(zhuān)家置信參數(shù)的選擇時(shí)置信參數(shù)應(yīng)該選取較大的值.
然后,對(duì)規(guī)范化參數(shù)λ的選擇進(jìn)行了分析,結(jié)果如圖5和圖6所示.這里,λ分別取自為10,100,1 000,和10 000.從這兩個(gè)圖中可以看出只有在TopRec-Net算法下,算法的MAP@5隨著λ的變化而變化,其他算法的MAP@5都為恒定的值.當(dāng)λ取很小的值時(shí),TopRec-M和TopRec-Net算法的性能較好.當(dāng)λ的值增大時(shí),TopRec-M的性能很好,TopRec-Net算法的性能逐漸降低.因此,為了使TopRec算法的性能達(dá)到最優(yōu),λ的取值不宜過(guò)大.
最后,對(duì)TopRec-Net算法中每個(gè)領(lǐng)域的專(zhuān)家個(gè)數(shù)進(jìn)行了分析,實(shí)驗(yàn)結(jié)果如圖7和圖8所示.實(shí)驗(yàn)應(yīng)用F-measure對(duì)TopRec-Net算法的性能進(jìn)行評(píng)價(jià).從圖中可以看出,當(dāng)每個(gè)領(lǐng)域中的專(zhuān)家個(gè)數(shù)增大時(shí)算法的F-measure也隨著增大.這表明,在推薦算法的設(shè)計(jì)中,用戶(hù)社團(tuán)中的專(zhuān)家越多,推薦結(jié)果的性能越好,這充分表明了專(zhuān)家在推薦時(shí)的作用.
在推薦系統(tǒng)中,有效的對(duì)用戶(hù)的興趣進(jìn)行分類(lèi),并據(jù)此向用戶(hù)推薦他們喜愛(ài)的商品是推薦系統(tǒng)的基本問(wèn)題.本文提出了一種結(jié)合了社團(tuán)挖掘和面向領(lǐng)域的協(xié)同過(guò)濾推薦框架.首先,在構(gòu)建用戶(hù)主題時(shí),通過(guò)專(zhuān)家指導(dǎo)的方式,對(duì)用戶(hù)進(jìn)行聚類(lèi);然后,利用社會(huì)網(wǎng)絡(luò)數(shù)據(jù)將用戶(hù)劃分為不同的主題;最后,將專(zhuān)家指導(dǎo)的主題模型與社會(huì)網(wǎng)絡(luò)約束主題模型結(jié)合成統(tǒng)一模型并用于推薦服務(wù).實(shí)驗(yàn)表明,在兩個(gè)真實(shí)的帶用戶(hù)信任網(wǎng)絡(luò)的消費(fèi)者評(píng)論數(shù)據(jù)集中,本文提出的方法具有較好的預(yù)測(cè)準(zhǔn)確性,其性能明顯優(yōu)于其他相關(guān)算法.
[1]許海玲,吳瀟,李曉東,等.互聯(lián)網(wǎng)推薦系統(tǒng)比較研究[J].軟件學(xué)報(bào),2009,20(2):350-362.
[2]KOOPMAN S J,LUCAS A,MONTEIRO A.The multi-state latent factor intensity model for credit rating transitions[J].Journal of Econometrics,2008,142(1):399-424.
[3]YUAN M,LIN Y.Model selection and estimation in the Gaussian graphical model[J].Biometrika,2007,94(1):19-35.
[4]BANERJEE A,KRUMPELMAN C,GHOSH J,et al.Model-based overlapping clustering[C]//Proceedings of the Eleventh ACM SIGKDD International Conference on Knowledge Discovery in Data Mining.ACM,2005:532-537.
[5]WASSERMAN L.Bayesian model selection and model averaging[J].Journal of Mathematical Psychology,2000,44(1):92-107.
[6]SALAKHUTDINOV R,MNIH A.Probabilistic matrix factorization[J].Neural Information Processing Systems,2007,1(1):2-10.
[7]ZHANG Y,CAO B,YEUNG D Y.Multi-domain collaborative filtering[C]//Proceedings of the Twenty-Sixth Conference on Uncertainty in Artificial Intelligence,2010:725-732.
[8]YANG X,STECK H,LIU Y.Circle-based recommendation in online social networks[C]//Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2012:1 267-1 275.
[9]龍際珍,趙歡.基于一種混合算法的分類(lèi)規(guī)則挖掘[J].湘潭大學(xué)自然科學(xué)學(xué)報(bào),2006,28(1):37-41.