王三虎 王豐錦
1(呂梁學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 山西 呂梁 033000)2(同方股份有限公司 北京 100083)
融合用戶(hù)評(píng)分和屬性相似度的協(xié)同過(guò)濾推薦算法
王三虎1王豐錦2
1(呂梁學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 山西 呂梁 033000)2(同方股份有限公司 北京 100083)
為了提高協(xié)同過(guò)濾推薦系統(tǒng)的推薦效率和準(zhǔn)確性,更好地向用戶(hù)提供個(gè)性化的推薦服務(wù),提出一種用戶(hù)評(píng)分和屬性相似度的推薦算法。首先分析當(dāng)前協(xié)同過(guò)濾推薦研究的現(xiàn)狀,設(shè)計(jì)相似度、興趣傾向相似度、置信度等指標(biāo)作為評(píng)分標(biāo)準(zhǔn),使得用戶(hù)相似度的計(jì)算更加準(zhǔn)確、有區(qū)分度。然后根據(jù)用戶(hù)屬性來(lái)衡量用戶(hù)之間的相似度,利用MovieLens數(shù)據(jù)集和Book-Crossing數(shù)據(jù)集做對(duì)比實(shí)驗(yàn),對(duì)比精度、通用性和不同稀疏度及冷啟動(dòng)情況下的性能。實(shí)驗(yàn)結(jié)果表明,本文算法不僅提高了推薦精度,而且明顯優(yōu)于其他協(xié)同過(guò)濾推薦算法,具有更高的實(shí)際應(yīng)用價(jià)值。
推薦系統(tǒng) 協(xié)同過(guò)濾 相似性度量 稀疏性問(wèn)題
近十年,電子商務(wù)得到長(zhǎng)足的發(fā)展,商戶(hù)之間的競(jìng)爭(zhēng)也逐步需要商戶(hù)本身主動(dòng)去掌握更準(zhǔn)確的用戶(hù)的需求和偏好,從而有針對(duì)性地為客戶(hù)提供服務(wù)者。因此一種高準(zhǔn)確定、高性能的推薦過(guò)濾算法顯得十分重要[1]。協(xié)同過(guò)濾推薦可以充分利用信息間的聯(lián)系,執(zhí)行效率高,可以得到較好的推薦結(jié)果,因而成為當(dāng)前研究的熱點(diǎn)[2]。
針對(duì)協(xié)同過(guò)濾推薦問(wèn)題,國(guó)內(nèi)外學(xué)者和專(zhuān)家進(jìn)行了大量深入的研究。迄今為止,協(xié)同過(guò)濾推薦算法眾多[3-6],每一種協(xié)同過(guò)濾推薦算法的工作思想不同,在實(shí)際應(yīng)用,這些協(xié)同過(guò)濾推薦算法均存在各自的優(yōu)勢(shì),同時(shí)缺陷也十分明顯:如數(shù)據(jù)稀疏、冷啟動(dòng)、可擴(kuò)展性差等[7-9]。為了解決這些不足,一些學(xué)者提出了采用關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘、貝葉斯網(wǎng)絡(luò)、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等技術(shù)[10-12],以提高推薦系統(tǒng)的推薦精度,獲得了不錯(cuò)的推薦效果。然而用戶(hù)興趣受到多種因素的綜合作用和影響,當(dāng)前協(xié)同過(guò)濾推薦算法的相似度值計(jì)算不科學(xué),缺乏合理性,忽略了用戶(hù)的興趣信息,推薦精度有待進(jìn)一步提高[13]。
為了提高協(xié)同過(guò)濾推薦系統(tǒng)的推薦效率和準(zhǔn)確性,設(shè)計(jì)了一種基于用戶(hù)評(píng)分和屬性相似度相融合的協(xié)同過(guò)濾推薦算法。利用MovieLens數(shù)據(jù)集和Book-Crossing數(shù)據(jù)集做對(duì)比實(shí)驗(yàn),對(duì)比精度、通用性和不同稀疏度及冷啟動(dòng)情況下的性能。
1.1 經(jīng)典協(xié)同過(guò)濾推薦算法
經(jīng)典協(xié)同過(guò)濾推薦算法工作過(guò)程如下:
(1) 建立用戶(hù)對(duì)項(xiàng)目評(píng)價(jià)的評(píng)分矩陣R={rij}m×n,其中,m、n分別表示用戶(hù)數(shù)和項(xiàng)目數(shù),rij為用戶(hù)i對(duì)項(xiàng)目j的評(píng)分,其可以描述用戶(hù)的判斷和偏好,具體如表1所示。
表1 用戶(hù)-項(xiàng)目評(píng)分矩陣
(2) 根據(jù)評(píng)分值得到用戶(hù)的相似度值,然后對(duì)相似度值進(jìn)行排序,從中選擇k個(gè)近鄰。
(3) 根據(jù)k個(gè)近鄰對(duì)用戶(hù)與項(xiàng)目評(píng)分值進(jìn)行估計(jì)。設(shè)i的“最近鄰居”集為Si,i對(duì)項(xiàng)目x的評(píng)分值為Pix,那么有:
(1)
1.2 傳統(tǒng)相似度計(jì)算方法
傳統(tǒng)相似度計(jì)算方法主要有:余弦相似度、相關(guān)相似度。
(1) 余弦相似度:用戶(hù)評(píng)分為一個(gè)向量,當(dāng)用戶(hù)不對(duì)具體項(xiàng)目進(jìn)行評(píng)分時(shí),那么就認(rèn)為該評(píng)分值等于0,用戶(hù)i和j間的相似度sim(i,j)計(jì)算公式為:
(2)
其中:rix、rjx分別為用戶(hù)i和j對(duì)項(xiàng)目x的評(píng)分值。
(2)Pearson相似度:Pearson相似度只考慮兩個(gè)用戶(hù)共同評(píng)分的項(xiàng)目集合,去掉全部評(píng)分的平均值。兩個(gè)用戶(hù)i和j的共同評(píng)分為Iij(Iij=Ii∩Ij),Pearson相似度計(jì)算公式為:
(3)
經(jīng)典算法存在相似度值計(jì)算不科學(xué),缺乏合理性,忽略了用戶(hù)的興趣信息等缺陷,導(dǎo)致推薦誤差大,推薦結(jié)果不可靠[14]。為提高推薦精度,挖掘用戶(hù)評(píng)分中的興趣信息,本文提出了一種新的相似度計(jì)算方法。
2.1 用戶(hù)評(píng)分相似度
用戶(hù)評(píng)分相似度可以描述兩個(gè)用戶(hù)對(duì)同一項(xiàng)目評(píng)分的非線(xiàn)性變化趨勢(shì),為此,引入非線(xiàn)性函數(shù)描述用戶(hù)評(píng)分相似度,那么兩個(gè)用戶(hù)對(duì)同一項(xiàng)目評(píng)分的相似度計(jì)算公式為:
(4)
2.2 興趣的傾向相似度
每個(gè)用戶(hù)有自己的評(píng)分習(xí)慣,對(duì)一個(gè)具體項(xiàng)目,有的用戶(hù)給高分,然而有的用戶(hù)卻給低分,這樣用戶(hù)的平均評(píng)分描述了用戶(hù)對(duì)某目標(biāo)的興趣,用戶(hù)i和j對(duì)同一個(gè)項(xiàng)目興趣傾向相似度計(jì)算公式為:
(5)
2.3 用戶(hù)評(píng)分相似度的置信度
當(dāng)兩個(gè)用戶(hù)對(duì)某一個(gè)項(xiàng)目給出相近的分?jǐn)?shù)時(shí),但是也不完全表示兩個(gè)用戶(hù)是相似的,因?yàn)橄嗨贫冗€有一個(gè)置信度,為此選擇Jaccard函數(shù)度量置信度,具體計(jì)算公式為:
(6)
其中,Ii表示用戶(hù)i評(píng)價(jià)的項(xiàng)目集合。綜上所述,相似度最終計(jì)算公式為:
sim3(i,j)
(7)
2.4 用戶(hù)屬性相似度
經(jīng)典協(xié)同過(guò)濾推薦算法僅通過(guò)已有用戶(hù)相關(guān)信息實(shí)現(xiàn)推薦,無(wú)法對(duì)新用戶(hù)信息進(jìn)行精確評(píng)價(jià),導(dǎo)致產(chǎn)生冷啟動(dòng)的概率十分高。在用戶(hù)評(píng)分?jǐn)?shù)目不多時(shí),通過(guò)用戶(hù)屬性相似度進(jìn)行推薦,隨著用戶(hù)評(píng)分項(xiàng)目的增多,通過(guò)用戶(hù)評(píng)分來(lái)進(jìn)行推薦。為此,引入sigmoid函數(shù)將用戶(hù)屬性推薦和用戶(hù)評(píng)分推薦進(jìn)行融合,實(shí)現(xiàn)兩者的平滑過(guò)渡。設(shè)用戶(hù)i的特征向量為Attri=(ai1,ai2,…,ain),n是用戶(hù)屬性的個(gè)數(shù),如果用戶(hù)i和j的第m個(gè)屬性相同,simAttr(i,j,m)=1,不然simAttr(i,j,m)=0,這樣用戶(hù)i和j屬性的相似度計(jì)算公式為:
simAttr(i,j)=∑m∈Attrwm·simAttr(i,j,m)
(8)
其中,wi是第i個(gè)屬性的權(quán)值。
2.5 用戶(hù)屬性相似度與用戶(hù)評(píng)分相似度融合
用戶(hù)屬性相似度與用戶(hù)評(píng)分相似度融合的計(jì)算公式為:
sim(i,j)=α·simAttr(i,j)+β·simscore(i,j)
(9)
(10)
β+α=1
(11)
2.6 本文算法的工作步驟
Step1 收集用戶(hù)的屬性維度和對(duì)應(yīng)數(shù)據(jù)值,同時(shí)建立屬性矩陣。
Step2 收集用戶(hù)的屬性評(píng)分?jǐn)?shù)據(jù)及對(duì)應(yīng)的值,同時(shí)計(jì)算評(píng)分的值,建立相似度評(píng)分矩陣。
Step3 對(duì)兩種矩陣進(jìn)行分析,綜合兩者可以得到用戶(hù)相似度矩陣。
Step4 通過(guò)相似度矩陣得到用戶(hù)i的K個(gè)近鄰,通過(guò)式(12)估計(jì)未評(píng)分項(xiàng)目x的值,并根據(jù)結(jié)果得到相應(yīng)的推薦方案。
(12)
其中,NK是與用戶(hù)最相似的K個(gè)鄰居;rki是用戶(hù)k對(duì)x的評(píng)分。
3.1 數(shù)據(jù)集
在Intel(R)Corei5-3337U3.0GHzCPU,4GBRAM,WindowsXP操作系統(tǒng)計(jì)算機(jī)上,采用VisualC++編程進(jìn)行仿真測(cè)試。數(shù)據(jù)來(lái)自公開(kāi)數(shù)據(jù)集MovieLens,其描述具體見(jiàn)文獻(xiàn)[11]。
3.2 對(duì)比算法及評(píng)價(jià)標(biāo)準(zhǔn)
為了使本文算法實(shí)驗(yàn)結(jié)果更具說(shuō)服力,選擇文獻(xiàn)[15]、文獻(xiàn)[16]的協(xié)同過(guò)濾推薦算法進(jìn)行對(duì)比實(shí)驗(yàn),選擇平均絕對(duì)誤差(MAE)作為算法性能優(yōu)劣的評(píng)價(jià)標(biāo)準(zhǔn),其定義如下:
(13)
式中,N為測(cè)試集大小,pi為推薦算法的預(yù)測(cè)評(píng)分值,qi為用戶(hù)的實(shí)際評(píng)分值。
3.3 結(jié)果與分析
推薦精度比較 最近鄰數(shù)為35時(shí),采用推薦算法對(duì)問(wèn)題進(jìn)行求解,具體結(jié)果圖1所示。從圖1可以清楚看出,本文協(xié)同過(guò)濾推薦算法的MAE值低于對(duì)比算法,有效提高了推薦的精度,獲得了比較理想的推薦結(jié)果。
圖1 不同算法的推薦精度對(duì)比
冷啟動(dòng)條件下的結(jié)果分析 為了模擬冷啟動(dòng)條件,選擇10個(gè)用戶(hù),并刪除其評(píng)價(jià)信息,結(jié)果如圖2所示。對(duì)圖2進(jìn)行詳細(xì)分析可知,本文融合用戶(hù)評(píng)分和屬性相似度的協(xié)同過(guò)濾推薦算法能解決當(dāng)前存在的冷啟動(dòng)情況下推薦算法無(wú)法施行的難題,提高了推薦精度,獲得更優(yōu)的推薦結(jié)果。
圖2 冷啟動(dòng)條件下的算法性能對(duì)比
不同稀疏度下的性能對(duì)比 不同數(shù)據(jù)稀疏度的推薦誤差如圖3所示。數(shù)據(jù)稀疏度與MAE之間是一種近似線(xiàn)性變化關(guān)系,但是在同等條件下,與文獻(xiàn)[15]和文獻(xiàn)[16]的對(duì)比結(jié)果發(fā)現(xiàn)本文算法推薦結(jié)果的MAE值更小。因此本文算法的推薦精度優(yōu)于同樣條件下的文獻(xiàn)[15]和文獻(xiàn)[16]的算法。
圖3 稀疏度不同情況下三種算法的性能對(duì)比
通用性測(cè)試 為了驗(yàn)證本文融合用戶(hù)評(píng)分和屬性相似度的協(xié)同過(guò)濾推薦算法的通用性,選擇Book-Crossing數(shù)據(jù)集進(jìn)行仿真測(cè)試,有287 558個(gè)用戶(hù)信息及他們對(duì)231 797本電子書(shū)的1 491 807評(píng)分?jǐn)?shù)據(jù)。我們采取[0,10]區(qū)間內(nèi)數(shù)據(jù)對(duì)評(píng)價(jià)建模采取評(píng)分制,1:評(píng)價(jià)最高,0:評(píng)價(jià)最低。不同算法的實(shí)驗(yàn)結(jié)果如圖4所示。從圖4可知,相對(duì)于其他協(xié)同過(guò)濾推薦算法,本文協(xié)同過(guò)濾推薦算法的MAE也最小,推薦精度更高,再次證明了本文算法的優(yōu)越性以及良好的通用性。
圖4 與經(jīng)典算法的性能對(duì)比
過(guò)濾推薦系統(tǒng)一直是電子商務(wù)研究中的重點(diǎn)和熱點(diǎn),為了得到高準(zhǔn)確度、高性能、通用性和適應(yīng)性更強(qiáng)的推薦結(jié)果,本文設(shè)計(jì)了一種融合用戶(hù)相似度和評(píng)分屬性的協(xié)同過(guò)濾推薦算法。首先收集用戶(hù)的屬性維度和對(duì)應(yīng)的值,再收集描述用戶(hù)對(duì)項(xiàng)目的興趣信息的評(píng)分信息,以增強(qiáng)用戶(hù)相似度的區(qū)分度。然后采用用戶(hù)屬性來(lái)衡量用戶(hù)之間的相似度,最后采用多個(gè)數(shù)據(jù)集進(jìn)行仿真測(cè)試。仿真實(shí)驗(yàn)結(jié)果表明,本文方法利用了用戶(hù)依靠,能夠大幅度提高推薦質(zhì)量,推薦可以滿(mǎn)足用戶(hù)實(shí)際要求,具有一定的實(shí)際應(yīng)用價(jià)值。
[1]MichaelJ,AndreasT,RobertL.Combiningpredictionsforaccuraterecommendersystems[C]//Proceedingsofthe16thACMSIGKDDInternationalConferenceonKnowledgeDiscoveryandDataMining,2010:693-702.
[2]CachedaF,CarneiroV,FernA,etal.Comparisonofcollaborativefilteringalgorithms:Limitationsofcurrenttechniquesandproposalsforscalable,high-performancerecommendersystems[J].ACMTransactionsontheWeb,2011,5(1):2-10.
[3]BellogínA,CastellsP,CantadorI.Self-adjustinghybridrecommendersbasedonsocialnetworkanalysis[C]//Proceedingsofthe34thinternationalACMSIGIRconferenceonResearchanddevelopmentinInformationRetrieval,2011:1147-1148.
[4]HeZ.ThestudyofpersonalizedrecommendationbasedonWebdatamining[C]//IEEE,InternationalConferenceonCommunicationSoftwareandNetworks.IEEE,2011:386-390.
[5]DouGQ,ZhuYS,HanYM.ResearchonselectionsystembasedonBayesianrecommendationmodel[C]//InternationalConferenceonAdvancedMechatronicSystems.IEEE,2011:35-38.
[6]MaiJ,FanY,ShenY.ANeuralNetworks-BasedClusteringCollaborativeFilteringAlgorithminE-CommerceRecommendationSystem[C]//InternationalConferenceonWebInformationSystemsandMining.IEEE,2009:616-619.
[7] 韋素云,業(yè)寧,朱健,等.基于項(xiàng)目聚類(lèi)的全局最近鄰的協(xié)同過(guò)濾算法[J].計(jì)算機(jī)科學(xué),2012,39(12):149-152.
[8]ChenZhiMin,JiangYi,ZhaoYao.Acollaborativefilteringrecommendationalgorithmbasedonuserinterestchangeandtrustevaluation[J].InternationalJournalofDigitalContentTechnologyanditsApplications,2010,4(9):106-113.
[9]WangMJ,HanJT.Collaborativefilteringrecommendationbasedonitemratingandcharacteristicinformationprediction[C]//InternationalConferenceonConsumerElectronics,CommunicationsandNetworks.IEEE,2012:214-217.
[10]WuYK,TangZH.CollaborativefilteringsystembasedonclassificationandextendedK-meansalgorithm[J].AdvancesinInformationSciencesandServiceSciences,2011,3(7):187-194.
[11]WuYK,YaoJR,TangZH,etal.CollaborativeFilteringBasedonMulti-levelItemCategorySystem[J].JournalofConvergenceInformationTechnology,2012,7(7):64-71.
[12] 李鵬飛,吳為民.基于混合模型推薦算法的優(yōu)化[J].計(jì)算機(jī)科學(xué),2014,41(2),68-71.
[13] 孫金剛,艾麗蓉.基于項(xiàng)目屬性和云填充的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)應(yīng)用,2012,32(3):658-660,668.
[14] 韋素云,業(yè)寧,朱健,等.基于項(xiàng)目聚類(lèi)的全局最近鄰的協(xié)同過(guò)濾算法[J].計(jì)算機(jī)科學(xué),2012,39(12):149-152.
[15]QiL,EnhongC,HuiX,etal.EnhancingcollaborativefilteringbyuserinterestexpansionviapersonalizedRanking[J].IEEETransactionsonSystems,Man,andCybernetics,PartB:Cybernetics,2012,42(1):218-233.
[16] 鄒永貴,望靖,劉兆宏,等.基于項(xiàng)目之間相似性的興趣點(diǎn)推薦方法[J].計(jì)算機(jī)應(yīng)用研究,2012,29(1):116-118,126.
A COLLABORATIVE FILTERING RECOMMENDATION ALGORITHM BASED ON USER SCORE AND ATTRIBUTE SIMILARITY
Wang Sanhu1Wang Fengjin2
1(DepartmentofComputerScienceandEngineering,LvliangUniversity,Lvliang033000,Shanxi,China)2(TongfangCo.,Ltd,Beijing100083,China)
In order to improve the recommendation efficiency and accuracy of collaborative filtering recommendation system, and to provide personalized recommendation service, a recommendation algorithm based on user score and attribute similarity is proposed. Firstly, the current status of collaborative filtering recommendation research is analyzed, and the similarity, similarity of interest tendency, confidence and other indicators are used as the scoring criteria, which makes the calculation of user similarity more accurate and discriminative. Then the similarity between users is measured according to the attributes of the users. The comparison is made between the MovieLens data set and the Book-Crossing data set, and the accuracy, versatility and performance under different sparsity and cold start conditions are compared. Experimental results show that the proposed algorithm not only improves the recommendation accuracy, but also is superior to other collaborative filtering recommendation algorithms, and has higher practical application value.
Recommendation system Collaborative filtering Similarity measurement Sparsity problem
2016-11-09。山西省教育廳教學(xué)改革項(xiàng)目(J2014120,J2015121)。王三虎,副教授,主研領(lǐng)域:數(shù)據(jù)庫(kù)應(yīng)用技術(shù),算法設(shè)計(jì),數(shù)據(jù)挖掘。王豐錦,高工。
TP3
A
10.3969/j.issn.1000-386x.2017.04.052