浙江工業(yè)職業(yè)技術(shù)學(xué)院 方 杰
基于時(shí)間因子的個(gè)性化推薦系統(tǒng)的算法改進(jìn)
浙江工業(yè)職業(yè)技術(shù)學(xué)院 方 杰
如何根據(jù)用戶自身特征準(zhǔn)確地向其反饋個(gè)性化的推薦,一直是學(xué)術(shù)界和產(chǎn)業(yè)界研究的重點(diǎn)和熱點(diǎn)。本文提出了一種新的個(gè)性化推薦方法,該方法在計(jì)算兩個(gè)資源相似度時(shí)考慮了標(biāo)簽的時(shí)間因子,設(shè)計(jì)了合理的時(shí)間衰減函數(shù),并以此對已有的推薦算法進(jìn)行了改進(jìn),并在實(shí)際數(shù)據(jù)集中對改進(jìn)前后的個(gè)性化推薦算法結(jié)果進(jìn)行了對比,最終的結(jié)果表明了我們提出的方法具備可行性和優(yōu)越性。
時(shí)間因子;個(gè)性化推薦;社會(huì)標(biāo)簽系統(tǒng)
目前,社會(huì)標(biāo)簽已經(jīng)成為web2.0的主要應(yīng)用之一,用戶可以自由地對網(wǎng)絡(luò)上各種類型的資源,比如視頻、照片等做出個(gè)性化的標(biāo)簽。這些標(biāo)簽可以在一定程度上反映用戶的興趣愛好和操作習(xí)慣。而個(gè)性化推薦系統(tǒng)恰恰是針對用戶的特點(diǎn)給予推薦,不同的用戶會(huì)得到不同的推薦。因此,用戶標(biāo)注的標(biāo)簽在個(gè)性化推薦系統(tǒng)中的地位舉足輕重,國內(nèi)外的一些論文對此已經(jīng)做了較深入的研究,并提出了許多有價(jià)值的算法。
目前的個(gè)性化推薦系統(tǒng)大多是基于資源、標(biāo)簽和用戶的三元關(guān)系,并以此設(shè)計(jì)了多種不同的推薦系統(tǒng)。通常,這些推薦系統(tǒng)都是根據(jù)用戶對資源的評價(jià)情況,來獲取用戶的特征,從而做出對用戶興趣的判斷并反饋推薦。但僅憑資源、標(biāo)簽和用戶所設(shè)計(jì)的個(gè)性化推薦系統(tǒng)存在著一定的局限性,因?yàn)橛脩魧σ粋€(gè)資源的態(tài)度和評價(jià)通常會(huì)隨著時(shí)間的推移而改變。比如用戶幾年前對某一地區(qū)房價(jià)的價(jià)格評價(jià)是“較低”,而現(xiàn)在的評價(jià)是“較高”,其實(shí)該用戶更關(guān)心的是當(dāng)前的價(jià)格;再比如用戶對某一部科幻電影幾年前的評價(jià)是“效果很好”,而隨著特技特效的快速發(fā)展,該用戶對該電影的評價(jià)換成了“效果一般”。所以標(biāo)簽?zāi)軌蚍从秤脩舻呐d趣和特點(diǎn)的變化,而這個(gè)變化是由時(shí)間的推移而造成的。
受到這一思想的啟發(fā),在這篇文章中,我們提出了一個(gè)新的個(gè)性化推薦方法,把時(shí)間因子與標(biāo)簽綁定,在已有的個(gè)性化推薦系統(tǒng)的基礎(chǔ)上,融入“最新的標(biāo)簽最能反映用戶的特征”的想法,從而在一定程度上提高推薦的準(zhǔn)確度。
本文的主要貢獻(xiàn)有:
(1)提出了個(gè)性化推薦系統(tǒng)加入時(shí)間因子的思想。
(2)設(shè)計(jì)了加入時(shí)間因子后的推薦系統(tǒng)模型。
(3)使用真實(shí)數(shù)據(jù)集,對所設(shè)計(jì)的模型進(jìn)行驗(yàn)證。
本文第二節(jié)介紹了相關(guān)的基礎(chǔ)工作,第三節(jié)詳細(xì)描述了本模型的設(shè)計(jì)過程,第四節(jié)給出了實(shí)驗(yàn)的方法和結(jié)果,第五節(jié)介紹了文章的結(jié)論和下一步的工作思路。
當(dāng)前的標(biāo)簽系統(tǒng)大多是由用戶、標(biāo)簽和資源這三個(gè)實(shí)體組成,并且這三個(gè)實(shí)體間互相關(guān)聯(lián),即用戶對資源注釋標(biāo)簽,我們把這種關(guān)系記為A,那么標(biāo)簽系統(tǒng)可以描述為一個(gè)四元組,即存在一個(gè)用戶集U,標(biāo)簽集T,資源集R,以及對用戶來說,一個(gè)注釋集合A。這樣可以用D來表示整個(gè)標(biāo)簽系統(tǒng),并定義。注釋集合A定義為一個(gè)三元組的集合,其中包含用戶,標(biāo)簽,以及資源,即:
個(gè)性化推薦系統(tǒng)由標(biāo)簽系統(tǒng)演化而來,秉承“以用戶為中心”的原則,重點(diǎn)研究用戶興趣的獲取方式和獲取效果。在獲取了用戶興趣以后,建立用戶模型,以方便把用戶興趣和資源對應(yīng)起來,最后通過該用戶模型和資源的匹配,進(jìn)行個(gè)性化的推薦。
基于經(jīng)典的余弦相似度的算法,Durao和Dolog[1]提出了一個(gè)個(gè)性化推薦的計(jì)算方法,把一些標(biāo)簽的自身因素融入到了算法中,如標(biāo)簽的代表性和標(biāo)簽的流行度等等。此外,他們的文獻(xiàn)中還給出了兩個(gè)資源A和B之間的相似度計(jì)算公式:
其中cos_similarity(TA,TB)是根據(jù)標(biāo)記在A和B兩個(gè)資源上的標(biāo)簽所計(jì)算的余弦相似度,而TA={TA1,TA2,TA3……TAn}。DA和DB是資源的評分,其計(jì)算方式為:
其中weigh(Tagi)表示標(biāo)簽的權(quán)重,與該標(biāo)簽在數(shù)據(jù)集中出現(xiàn)的次數(shù)成正比。而其中的representativness(Tagi)表示標(biāo)簽的典型度,類似與資源檢索中的詞頻概念。
基于時(shí)間因子的個(gè)性化推薦方法就是在使用標(biāo)簽時(shí)考慮到每個(gè)標(biāo)簽的時(shí)間因子,因此我們提出了如下資源相似度的計(jì)算方法:
這與(2)中DA的計(jì)算方法有所不同,這樣能夠防止同一標(biāo)簽出現(xiàn)次數(shù)過多而導(dǎo)致該標(biāo)簽在相似度的計(jì)算過程中起到過度決定性作用的情況。
而(3)中的cos_similarity(XATA,XBTB)所表示的是帶有時(shí)間因子的余弦相似度計(jì)算方法,其計(jì)算方式為:
其中XAi的表示所對應(yīng)標(biāo)簽的時(shí)間因子取值。
對于個(gè)性化推薦系統(tǒng)中的所有標(biāo)簽,它們之間的標(biāo)注時(shí)間肯定是有差異的。因此,如何合理設(shè)計(jì)時(shí)間因子是我們工作的重點(diǎn)。
遵循“最新的標(biāo)簽最能反映用戶的特征”的思想,我們?yōu)闀r(shí)間因子X設(shè)計(jì)了一個(gè)衰減函數(shù):
其函數(shù)曲線如下:
其中通過函數(shù)計(jì)算所得的時(shí)間因子X的值的范圍為[1,2],即函數(shù)能把最新的標(biāo)簽所產(chǎn)生的效果翻倍,而最舊的標(biāo)簽的保持不變。t表示一個(gè)時(shí)間值,其可取值的區(qū)間為[0,1]。為此,我們需要把個(gè)性化推薦系統(tǒng)中每個(gè)標(biāo)簽的時(shí)間戳si對應(yīng)到t的[0,1]區(qū)間中,數(shù)據(jù)中最新的時(shí)間戳記為s0,對應(yīng)到[0,1]區(qū)間中的0;而最舊的時(shí)間戳記為sn對應(yīng)到1。則系統(tǒng)中的某一時(shí)間戳si對應(yīng)到[0,1]區(qū)間中的值ti的計(jì)算方法為:
下面的例子能直觀的說明該方法的效果:
上面的例子描述了三部電影之間的關(guān)系,它們分別為《木乃伊》、《木乃伊歸來》和《加勒比海盜:黑珍珠的詛咒》。前兩部電影有3個(gè)相同的標(biāo)簽:“John Hannah”、“egypt”和“mummy”,而后兩部的電影有4個(gè)相同的標(biāo)簽:“sequel”、“action”、“adventure”和“comedy”。按照改進(jìn)前的方法,《木乃伊歸來》和《加勒比海盜:黑珍珠的詛咒》的相似度比《木乃伊》和《木乃伊歸來》的相似度要高。而加入時(shí)間因子改進(jìn)以后,《木乃伊》和《木乃伊歸來》的相似度則相對更高,符合它們是同一系列更相似的常理。
為了驗(yàn)證本論文提出的方法,我們用Movielens數(shù)據(jù)展開實(shí)驗(yàn)。MovieLens是歷史最悠久的推薦系統(tǒng)。它由美國Minnesota大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院的GroupLens項(xiàng)目組創(chuàng)辦,是一個(gè)非商業(yè)性質(zhì)的、以研究為目的的實(shí)驗(yàn)性站點(diǎn)。MovieLens主要使用Collaborative Filtering和Association Rules相結(jié)合的技術(shù),向用戶推薦他們感興趣的電影。Movielens數(shù)據(jù)集中的每一個(gè)標(biāo)簽均帶有時(shí)間戳,為我們的研究提供了條件。
MovieLens數(shù)據(jù)集包含有10000054個(gè)評分,10681部電影,以及71567個(gè)用戶對這些電影的所做的95580個(gè)標(biāo)簽。由于標(biāo)簽是用戶憑自己的喜好所標(biāo)注,因此對標(biāo)簽的研究存在著很多的局限性,比如用戶拼寫的錯(cuò)誤、多義詞等都會(huì)對實(shí)驗(yàn)帶來噪音。因此我們必須通過適當(dāng)?shù)倪^濾來提高標(biāo)簽的有效性,提高數(shù)據(jù)的質(zhì)量。這里,定義了兩個(gè)過濾條件,以提高實(shí)驗(yàn)中數(shù)據(jù)的質(zhì)量。首先,只考慮標(biāo)簽數(shù)量至少有15個(gè)的電影,其次,只有至少對10部電影做過評價(jià)的用戶才會(huì)認(rèn)為是有效的用戶。按照這樣的條件,最終采用的數(shù)據(jù)的統(tǒng)計(jì)信息如表四所示,即有3390部電影,1151個(gè)用戶,以及他們所做出的2645個(gè)標(biāo)簽,如表2所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集統(tǒng)計(jì)
在通過我們提出的方法計(jì)算完所有電影之間的相似度以后,便采用信息檢索領(lǐng)域的標(biāo)準(zhǔn)度量來評價(jià)本文所提出的方法。把數(shù)據(jù)集分成訓(xùn)練集和驗(yàn)證集兩部分,對每一個(gè)用戶,我們選取了帶有時(shí)間因子的相似度的最高的N部電影作為推薦。然后與該用戶數(shù)據(jù)集中的電影做對比,來計(jì)算推薦的精度。在我們的實(shí)驗(yàn)中,N的取值為5。
基于以上的方法,我們對兩種方法進(jìn)行了對比:
表2 兩種方法的整體精度
其中 TBR-CS是通過簡單余弦相似度的計(jì)算方法:
Similarity(A,B)=(DA+DB)*cos_similarity(TA,TB)。
TBR-TF是基于時(shí)間因子的相似度計(jì)算方法:
Similarity(A,B)=(DA+DB)*cos_similarity(XATA,XBTB)。
實(shí)驗(yàn)比較了兩種方法下,個(gè)性化推薦系統(tǒng)的推薦準(zhǔn)確度。
從實(shí)驗(yàn)的結(jié)果來看基于時(shí)間因子的個(gè)性化推薦方法有一定的優(yōu)越性。在今后的工作中,我們將進(jìn)一步改進(jìn)時(shí)間衰減函數(shù),并考慮更多的影響因素,采用更先進(jìn)的方法來展開研究。
[1]F.DuraoandDolog,Apersonalizedtag-basedrecommendationin socialwe systems,WorkshoponAdaptationandPersonalizationforWeb2.0,UMAP,09,2009.
[2]F.GedikliandD.Jannach,Ratingitemsbyratingtags,RecSys,10,2010.
[3]S.Zhao,N.Du,A.Nauerz,X.Zhang,Q.Yuan,andR.Fu,Improvedrec ommendationbasedoncollaborativetaggingbehaviors,IUI,08,2008.
[4]A.Shepitsen,J.Gemmell,B.Mobasher,andR.Burke,Personalize drecommendationinsocialtaggingsystemsusinghierarchicalclustering,R ecSys’08,2008.
[5]G.Xu,Y.Gu,P.Dolog,Y.Zhang,andM.Kitsuregawa,SemRec: ASemanticEnhancementFrameworkforTagbasedRecommendation,A AAI’11,2011.
[6]C.Leung,S.Chan,F.Chung,andG.Ngai,Aprobabilisticratinginferencefra meworkformininguserpreferencesfromreviews,www’11,2011.
[7]J.Wiebe,T.Wilson,R.Bruce,M.Bell,andMMartin,Learningsubj ectivelanguage,Comput.Linguist.,Vol.30,pp.277–308,2004.
[8]C.Whitelaw,N.Garg,andS.Argamon,Usingappraisalgroupsfors entimentanalysis,CIKM’05,pp.625–631,2005.
[9]J.KampsandM.Marx,Wordswithattitude,InProc.oftheFirstInte rnationalConferenceonGlobalWordNet,pp.332–341,2002.
[10]B.Pang,L.Lee,andS.Vaithyanathan,Thumbsup?sentimentclass ifcationusingmachinelearningtechniques,InEMNLP,2002.
[11]B.Liu,M.Hu,andJ.Cheng,Opinionobserver:analyzingandcom paringopinionsontheweb,InWWW,pp.342–351,2005.
[12]C.Scaffidi,K.Bierhoff,E.Chang,M.Felker,H.Ng,andC.Jin,RedOpal:product-featurescoringfromreviews,Proceedingsofthe8thAC MconferenceonElectroniccommerce,2007.
[13]L.Zhuang,F.Jing,andX.Zhu.Moviereviewminingandsummar ization,,InProceedingsofthe15thACMinternationalconferenceonInfor mationandknowledgemanagement,pp.43-50,2006.
[14]P.Heymann,D.Ramage,andH.Molina,Socialtagprediction, InSung-HyonMyaeng,DouglasW.Oard,FabrizioSebastiani,Tat-SengChua, andMun-KewLeong,editors,SIGIR,pp.531–538,2008.