焦東俊
(北京郵電大學(xué)智能通信軟件與多媒體北京市重點(diǎn)實(shí)驗(yàn)室,北京 100876)
基于用戶人口統(tǒng)計(jì)與專家信任的協(xié)同過濾算法*
焦東俊
(北京郵電大學(xué)智能通信軟件與多媒體北京市重點(diǎn)實(shí)驗(yàn)室,北京 100876)
推薦系統(tǒng)是學(xué)術(shù)研究的熱門課題,在工業(yè)界應(yīng)用也越來越廣泛,推薦系統(tǒng)旨在為用戶推薦相關(guān)的感興趣的物品。協(xié)同過濾算法被用來比較用戶及物品的相似度,向用戶推薦與其最近鄰用戶的偏好。為了提高協(xié)同過濾算法預(yù)測(cè)的準(zhǔn)確率,提出基于用戶人口統(tǒng)計(jì)與專家信任的協(xié)同過濾算法,先比較用戶人口統(tǒng)計(jì)屬性,然后進(jìn)一步比較用戶與專家的人口統(tǒng)計(jì)屬性來得到用戶與專家的相似度,從而提高預(yù)測(cè)的準(zhǔn)確性。實(shí)驗(yàn)驗(yàn)證表明,提出的算法能夠有效提高協(xié)同過濾算法預(yù)測(cè)的準(zhǔn)確率。
推薦系統(tǒng);協(xié)同過濾算法;人口統(tǒng)計(jì);專家信任
近年來,推薦系統(tǒng)成為學(xué)術(shù)研究的熱門課題,在工業(yè)界應(yīng)用也越來越廣泛。推薦系統(tǒng)通過用戶的歷史偏好信息,來預(yù)測(cè)用戶可能感興趣的物品,好的推薦系統(tǒng)能夠?yàn)橛脩魷?zhǔn)確推薦他們感興趣的項(xiàng)目。為了提高預(yù)測(cè)的準(zhǔn)確率,本文提出基于用戶人口統(tǒng)計(jì)與專家信任的協(xié)同過濾算法,引入基于用戶人口統(tǒng)計(jì)來提高準(zhǔn)確率,并將用戶與專家的背景知識(shí)相比較,使得預(yù)測(cè)結(jié)果在專家的專業(yè)意見和興趣相似、背景相似的用戶意見之間得到平衡。
現(xiàn)有的基于用戶的協(xié)同過濾算法僅利用用戶對(duì)項(xiàng)目的評(píng)分來計(jì)算用戶相似度,由于沒有考慮到用戶年齡、性別、職業(yè)、地區(qū)的差別性,推薦效果比較單一,讓用戶缺乏驚喜感,推薦準(zhǔn)確率也不高。本文在協(xié)同過濾算法上引入基于用戶人口統(tǒng)計(jì)的方法,在用戶評(píng)分相似度的基礎(chǔ)上,比較用戶間的人口統(tǒng)計(jì)信息,找到同性別、同年齡段以及背景相似的用戶,以期在推薦系統(tǒng)中使用戶找到符合自己意愿的推薦結(jié)果。
有一些用戶打分記錄普遍比較高,存在著個(gè)人偏好,文獻(xiàn)[1]提出用基準(zhǔn)偏移量bu,i來表示用戶偏好:
bu,i=u+bu+bi
其中,bu和bi分別表示用戶u對(duì)物品i的偏好,u表示評(píng)分矩陣?yán)镉脩粼u(píng)分的平均分。
考慮用戶人口統(tǒng)計(jì)資料來選擇近鄰和插入權(quán)重來計(jì)算用戶相似度:
其中,Rk(u)表示用戶u的k個(gè)鄰居的集合;bu,i表示基準(zhǔn)偏移量;wu,v表示插入的權(quán)重,是在基準(zhǔn)偏移量之上的偏移量;(rv,i-bu,i)表示偏移量的系數(shù)。當(dāng)u和v相關(guān)度wu,v比較高,(rv,i-bu,i)也高時(shí),表示實(shí)際值高出預(yù)測(cè)偏移量,增加(rv,i-bu,i)×wu,v偏移量到基準(zhǔn)偏移量中。當(dāng)(rv,i-bu,i)接近為0時(shí),表示基準(zhǔn)偏移量達(dá)到了一定的精確程度,不會(huì)增加過多偏移量到基準(zhǔn)偏移量中。
當(dāng)預(yù)測(cè)用戶u對(duì)物品i的評(píng)分時(shí),查找對(duì)物品i打分的所有用戶集R(u),再計(jì)算用戶u和集合里每個(gè)用戶之間的相似度,通過用戶人口統(tǒng)計(jì)來計(jì)算kNN(k-Nearest Neighbor)近鄰。用戶u的m維人口統(tǒng)計(jì)信息向量為(V1,V2,…,Vm)。
用余弦相似性表示兩個(gè)用戶間的相關(guān)性:
其中,sim(u1,u2)表示通過用戶u1和用戶u2的兩個(gè)n維向量得到的兩個(gè)用戶的余弦相似性。
Pearson相關(guān)系數(shù)用下面的公式來計(jì)算:
其中,sim(u1,u2)表示用戶u1和用戶u2的相似程度,β為參數(shù),n/(n+β)表示兩個(gè)用戶對(duì)n個(gè)物品進(jìn)行評(píng)分時(shí),對(duì)越多物品評(píng)分則n(n+β)越接近于1,相似度高,反之則相似度低。
在相似度算法中,用sim(u1,u2)直接作為wu,v表示用戶u和v之間的評(píng)分關(guān)系。為了尋找相似背景的用戶,在計(jì)算用戶相似度時(shí)加入人口統(tǒng)計(jì)信息,比如本文中所使用的MovieLens數(shù)據(jù)集中用戶年齡、性別、職業(yè)和郵編。文獻(xiàn)[2]提出將兩種用戶相似度結(jié)合,用以下公式表示:
cor(u,v)=sim(u,v)+sim(u,v)×dem_cor(u,v)
其中,cor(u,v)表示用戶u和用戶v的總體相似度,sim(u,v)表示用戶u和用戶v的評(píng)分相似度,dem_cor(u,v)表示用戶u和用戶v的人口統(tǒng)計(jì)相似度。
文獻(xiàn)[1]在2009年提出在協(xié)同過濾算法中使用專家意見(比如在電影推薦系統(tǒng)中,使用電影評(píng)論家的評(píng)分和評(píng)論),拋棄除了活躍外的其他用戶的評(píng)分來提高推薦準(zhǔn)確率。結(jié)合基于用戶人口統(tǒng)計(jì)的協(xié)同過濾算法,本節(jié)借助專家評(píng)分提高預(yù)測(cè)準(zhǔn)確率。利用用戶的人口統(tǒng)計(jì)屬性來比較用戶間的相似度,然后把電影評(píng)論專家的評(píng)分結(jié)合用戶的評(píng)分,用來權(quán)衡專家和相似人口屬性的用戶間的預(yù)測(cè)結(jié)果。
基于專家意見協(xié)同過濾算法采用專家的評(píng)分?jǐn)?shù)據(jù)。專家評(píng)分?jǐn)?shù)據(jù)矩陣相比普通用戶的評(píng)分?jǐn)?shù)據(jù)矩陣要更加合理,為用戶u做預(yù)測(cè)的時(shí)候,不采用除了u的別的用戶,使用專家的評(píng)分?jǐn)?shù)據(jù)。先來計(jì)算u和專家e間的相似性sim(u,e):
sim(u,e)=
其中,|Iu|和|Ie|表示某用戶u與專家e評(píng)論的項(xiàng)目集合,|Iue|=|Iu|∪|Ie|。
在為u選擇最近鄰的時(shí)候,先選取和u相似度較高的前n位專家形成的相似近鄰集CS(u),篩選相似度的閾值與最近鄰閾值CS(u)得出相似近鄰集S(u),這樣用戶u對(duì)物品i的預(yù)測(cè)評(píng)分值ru,i為:
3.1 專家與用戶差異對(duì)預(yù)測(cè)結(jié)果的影響
基于專家意見的協(xié)同過濾算法只使用了專家的意見來做預(yù)測(cè),因?yàn)閷<以u(píng)分?jǐn)?shù)據(jù)與用戶評(píng)分?jǐn)?shù)據(jù)相比有很多優(yōu)點(diǎn),并且專家數(shù)量大大小于用戶數(shù)量,這樣為用戶查找相似最近鄰時(shí)搜索范圍也大大降低。
由于專家與用戶背景知識(shí)很不同,所以專家對(duì)同一事物的看法也會(huì)不同。比如對(duì)于電影評(píng)論家來說,他們對(duì)電影有比較深刻的認(rèn)識(shí),衡量電影好壞也是從專業(yè)的角度去看,利用專業(yè)評(píng)價(jià)標(biāo)準(zhǔn)來評(píng)價(jià)電影。普通用戶對(duì)同樣一部電影的評(píng)價(jià)會(huì)因?yàn)樗麄兊穆殬I(yè)、愛好以及所處環(huán)境不同而不同。這樣就造成電影評(píng)論專家認(rèn)為是一部好電影,普通用戶則可能因?yàn)闊o法理解電影中內(nèi)容以及不符合自己的興趣、愛好等原因而不喜歡它。普通用戶評(píng)分很高的電影,電影評(píng)論專家又覺得不符合電影專業(yè)的標(biāo)準(zhǔn)而給電影差評(píng)。
只使用電影評(píng)論專家的評(píng)分?jǐn)?shù)據(jù)并不太準(zhǔn)確。平均絕對(duì)偏差是評(píng)價(jià)推薦質(zhì)量的公認(rèn)標(biāo)準(zhǔn),基于電影評(píng)論專家意見的協(xié)同過濾算法和傳統(tǒng)的基于用戶的協(xié)同過濾算法相比,并沒有很大程度地降低平均絕對(duì)偏差。
所以,基于以上分析,本節(jié)在基于用戶人口統(tǒng)計(jì)的基礎(chǔ)上,更進(jìn)一步利用電影評(píng)論專家評(píng)分意見,來減少電影評(píng)論專家與用戶背景知識(shí)的差異對(duì)預(yù)測(cè)結(jié)果帶來的負(fù)面影響,為目標(biāo)用戶尋找最近鄰的時(shí)候,使用一種新的級(jí)聯(lián)式的基于用戶人口統(tǒng)計(jì)的相似度度量方法。
3.2 用戶-專家最近鄰的選擇
由于相似專家集只是找到和目標(biāo)用戶相似興趣的專家,用戶u的相似專家集記作S_E(u)。
相似用戶集要求找與目標(biāo)用戶興趣相似以及背景知識(shí)相似的專家e。為了尋找這樣的專家,用公式計(jì)算用戶-專家人口統(tǒng)計(jì)相似度:
cor(u,e)=sim(u,e)+sim(u,e)×dem_cor(u,e)
本節(jié)提出級(jí)聯(lián)式的基于用戶人口統(tǒng)計(jì)與專家信任的協(xié)同過濾算法,以改進(jìn)協(xié)同過濾算法的單一性。具體步驟是先使用協(xié)同過濾算法找到基于用戶評(píng)分的用戶相似度,在此基礎(chǔ)上比較用戶人口統(tǒng)計(jì)屬性來提高用戶相似度的準(zhǔn)確性;然后進(jìn)一步比較用戶與專家的評(píng)分相似度以及用戶-專家的人口統(tǒng)計(jì)屬性來得到用戶與專家的相似度,從而提高預(yù)測(cè)準(zhǔn)確性。
在得到目標(biāo)用戶u的相似專家集S_E(u)和相似用戶集S_U(u)后,u對(duì)項(xiàng)目i的預(yù)測(cè)評(píng)分Pu,j為:
這樣得到的Pu,j,通過ɑ的調(diào)節(jié),既得到專家的意見指導(dǎo),又參考了背景知識(shí)用戶的相似意見。
5.1 實(shí)驗(yàn)環(huán)境
CentOS 5.10, JDK1.6.0_12,Apache-Tomcat-6.0.36,Apache-Maven-2.2.1,Hadoop-0.20.204.0,Mahout-0.5,MySQL 5.0.95,MyEclipse 2013 SR2。
5.2 實(shí)驗(yàn)數(shù)據(jù)集及評(píng)測(cè)標(biāo)準(zhǔn)
用戶數(shù)據(jù)來自MovieLens[16]。本實(shí)驗(yàn)采用100 K數(shù)據(jù)集,包含了943位用戶對(duì)1 682部電影的10多萬條評(píng)分。用戶屬性包括:年齡、性別、職業(yè)和郵編,電影屬性包括:名稱、年份及類別等。
設(shè)用戶有m維屬性,包括年齡、性別、職業(yè)和郵編。將每維數(shù)據(jù)信息處理成用數(shù)字表示下面的信息,比如,在本文中采用的MovieLens數(shù)據(jù)集里:
(1)性別信息。
0:男性;
1:女性。
(2)年齡信息。
1:18歲以下;
2:18~24歲;
3:25~34歲;
4:35~44歲;
5:45~49歲;
6:50~55歲;
7:56歲以上。
(3)職業(yè)信息。
0:“other”ornotspecified;
1:“academic/educator”;
2:“artist”;
3:“clerical/admin”;
4:“college/gradstudent”;
5:“customerservice”;
6:“doctor/healthcare”;
7:“executive/managerial”;
8:“farmer”;
9:“homemaker”;
10:“K-12student”;
11:“l(fā)awyer”;
12:“programmer”;
13:“retired”;
14:“sales/marketing”;
15:“scientist”;
16:“self-employed”;
17:“technician/engineer”;
18:“tradesman/craftsman”;
19:“unemployed”;
20:“writer”。
(4)郵政編碼采用原數(shù)據(jù)集中的數(shù)字郵政編碼。
專家數(shù)據(jù)集來自MovieLens+IMDb/RottenTomatoes[17],包含了2 113名用戶及專家對(duì)10 197部電影的855 598條評(píng)價(jià)。
實(shí)驗(yàn)采用的度量標(biāo)準(zhǔn)和大多數(shù)協(xié)同過濾推薦算法采用的度量標(biāo)準(zhǔn)一樣,使用了平均絕對(duì)偏差MAE。
5.3 推薦結(jié)果比較
利用本文改進(jìn)的基于人口統(tǒng)計(jì)與專家信任算法和傳統(tǒng)基于用戶的協(xié)同過濾算法比較,基于用戶人口統(tǒng)計(jì)的協(xié)同過濾算法以及基于專家信任的協(xié)同過濾算法進(jìn)行了比較,實(shí)驗(yàn)分別設(shè)置不同近鄰比例以及專家意見閾值ɑ (2%~20%),并計(jì)算最近鄰算法中相對(duì)應(yīng)的鄰近個(gè)數(shù),最近鄰相似度采用Pearson相關(guān)系數(shù),得出的實(shí)驗(yàn)結(jié)果如圖1所示。
Figure 1 Experimental results of collaborative filtering algorithm based on user demographics and experts opinions
由實(shí)驗(yàn)結(jié)果觀察:
改進(jìn)前的結(jié)果:傳統(tǒng)基于用戶的協(xié)同過濾算法的準(zhǔn)確率較低,而基于用戶人口統(tǒng)計(jì)的協(xié)同過濾算法對(duì)準(zhǔn)確率提高很小。這表明,用戶在評(píng)分的過程中,用戶的年齡、性別、職業(yè)、地區(qū)已經(jīng)很大程度上反映在了評(píng)分結(jié)果中。單獨(dú)使用基于專家信任的協(xié)同過濾算法對(duì)準(zhǔn)確度有一定的提高。
改進(jìn)后的結(jié)果:改進(jìn)的基于用戶人口統(tǒng)計(jì)與專家信任的協(xié)同過濾算法的準(zhǔn)確率最好,算法既考慮了用戶的人口屬性對(duì)預(yù)測(cè)評(píng)分的影響,又考慮了專家信任的人口屬性對(duì)預(yù)測(cè)評(píng)分的影響,從而實(shí)現(xiàn)了比較好的預(yù)測(cè)準(zhǔn)確率。
實(shí)驗(yàn)表明,改進(jìn)的基于人口統(tǒng)計(jì)屬性及專家信任的協(xié)同過濾算法好于傳統(tǒng)基于用戶的協(xié)同過濾算法,也好于分別使用基于人口統(tǒng)計(jì)的協(xié)同過濾算法和基于專家信任的協(xié)同過濾算法。
本文在傳統(tǒng)基于用戶的協(xié)同過濾算法基礎(chǔ)上,使用基于人口統(tǒng)計(jì)屬性的協(xié)同過濾算法,以改進(jìn)傳統(tǒng)協(xié)同過濾推薦系統(tǒng),并進(jìn)一步分析基于專家的協(xié)同過濾算法存在的缺點(diǎn),提出要同時(shí)使用用戶評(píng)分和專家意見。使用用戶-專家的人口統(tǒng)計(jì)學(xué)屬性提出了一種相似度度量方法,找到用戶專家間的相似度。這樣在為目標(biāo)用戶預(yù)測(cè)時(shí),既考慮到用戶間的背景相似度,也同時(shí)借助于興趣相似、背景知識(shí)相近的專家意見,有效提高了預(yù)測(cè)準(zhǔn)確率。實(shí)驗(yàn)在Rotten Tomatoes上獲取的專家數(shù)據(jù)和MoiveLens數(shù)據(jù)的兩個(gè)子集上驗(yàn)證了本文提出的結(jié)合人口統(tǒng)計(jì)屬性與專家意見的協(xié)同過濾算法的預(yù)測(cè)結(jié)果,最終結(jié)果顯示,該改進(jìn)算法有效也提高了預(yù)測(cè)質(zhì)量。
致謝 感謝北京郵電大學(xué)孟祥武教授對(duì)本文研究工作的悉心指導(dǎo)并提出的反復(fù)修改意見。
[1] Koren Y. Factorization meets the neighborhood:A multifaceted collaborative filtering model[C]∥Proc of ACM Conference on KDD, 2008:426-434.
[2] Shang Ming-sheng, Zhang Zi-ke, Zhou Tao, et al. Collaborative filtering with diffusion-based similarity on tripartite graphs[J]. Physica A:Statistical Mechanics and its Applications, 2010,389(6):1259-1264.
[3] Liu Jian-guo, Zhou Tao, Wang Bing-hong. Advances in personalized recommendation system[J]. Progress in Natural Science, 2009, 19(1):1-15. (in Chinese)
[4] Amatriain X, Lathia J M, Pujol H, et al. The wisdom of the few:A collaborative filtering approach based on expert opinions from the web[C]∥Proc of the 32nd International ACM SIGIR Conference on Research and Development in Information Retrieval,2009:532-539.
[5] Odic A, Tkalcic M, Tasic J F, et al. Relevant context in a movie recommender system:Users’ opinion vs. statistical detection[C]∥Proc of the 4th Workshop on Context-Aware Recommender Systems, 2012:1.
[6] Sun bin. Personalized intelligent recommendation engine algorithm and its application[D]. Wuhan:Huazhong University of Science and Technology,2012. (in Chinese)
[7] Yun Long. Research and implementation of collaborative filtering recommendation system key issues[D]. Harrbin:Heilongjiang University, 2011.(in Chinese)
[8] Chen Zhi-min,Li Zhi-qiang.Collaborative filtering recommendation algorithm based on user characteristics and project properties[J]. Computer Applications, 2011,31(7):1748-1755. (in Chinese)
[9] Jiao Dong-jun. Research and design movie recommender system based on Mahout[D]. Beijing:Beijing University of Posts and Telecommunications, 2014. (in Chinese)
[10] Aim H J. A new similarity measure for collaborative filtering to alleviate the new user cold--starting problem[J].Information Sciences, 2008,178(1):37-1.
[11] Huang Chuang-guang,Yin Jian,Wang Jing,et al.Uncertainty neighbor collaborative filtering recommendation algorithm[J]. Journal of Computers,2010,33(8):1369-1377.(in Chinese)
[12] Zhao Zhi-dan,Shang Ming-sheng.User-based collaborative-filtering recommendation algorithm on Hadoop[C]∥Proc of the 3rd International Conference on Knowledge Discovery and Data Mining, 2012:478-481.
[13] Ge Shi-ne, Gen Xin-yang. An SVD-based collaborative filtering approach to alleviate cold-start problems[C]∥Proc of 2012 9th International Conference on Fuzzy Systems and Knowledge Discovery (FSKD 2012),2012,DOI:10.1109/FSKD.2012.6233900.
[14] Xiao Min, Yan Bing-jie. Collaborative filtering recommendation algorithm based on shift on users’ preferences[C]∥Proc of 2011 International Conference on Business Management and Electronic Information, 2010:520-523.
[15] Vozalis M,Margaritis K G.Collaborative filtering enhanced by demographic correlation[C]∥Proc of the ALU Symposium on Professional Practice in AI,the 18th World Computer Congress,2004:393-402.
[16] http://grouplens.org/datasets/movielens/.
[17] http://grouplens.org/datasets/hetrec-2011/.
附中文參考文獻(xiàn):
[3] 劉建國, 周濤, 汪秉宏. 個(gè)性化推薦系統(tǒng)的研究進(jìn)展[J]. 自然科學(xué)進(jìn)展, 2009, 19(1):1-15.
[6] 孫斌.個(gè)性化智能推薦引擎算法研究及應(yīng)用[D].武漢:華中科技大學(xué),2012.
[7] 云龍.協(xié)同過濾推薦系統(tǒng)中關(guān)鍵問題研究與實(shí)現(xiàn)[D].哈爾濱:黑龍江大學(xué),2011.
[8] 陳志敏,李志強(qiáng).基于用戶特征和項(xiàng)目屬性的協(xié)同過濾推薦算法[J].計(jì)算機(jī)應(yīng)用,2011,31(7):1748-1755.
[9] 焦東俊.基于Mahout的電影推薦系統(tǒng)研究和實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2014.
[11] 黃創(chuàng)光,印鑒,汪靜,等.不確定近鄰的協(xié)同過濾推薦算法[J].計(jì)算機(jī)學(xué)報(bào),2010,33(8):1369-1377.
JIAO Dong-jun,born in 1970,MS,senior engineer,his research interests include recommender system, and machine learning.
Collaborative filtering algorithm based on user demographics and expert opinions
JIAO Dong-jun
(Beijing Key Laboratory of Intelligent Telecommunications,Beijing University of Posts and Telecommunications,Beijing 100876,China)
Recommender systems have been used tremendously in academia and industry, and the recommendations generated by these systems aim to offer relevant interesting items to users. Collaborative filtering algorithm is used to calculate the similarities between users and items, and recommends the nearest neighbors’ preferences to users. In order to improve the prediction accuracy of collaborative filtering algorithm, we propose a collaborative filtering algorithm based on user demographics and expert opinions. First we compare users’ demographic attributes, which are then compared with expert demographic attributes to calculate the similarities between users and experts. Experimental results verify that the algorithm proposed in this paper can effectively improve the prediction accuracy of collaborative filtering algorithm.
recommender system;collaborative filtering;demographic correlation;expert opinions
1007-130X(2015)01-0179-05
2014-09-13;
2014-11-16
TP274
A
10.3969/j.issn.1007-130X.2015.01.028
焦東俊(1970-),男,安徽安慶人,碩士,高級(jí)工程師,研究方向?yàn)橥扑]系統(tǒng)和機(jī)器學(xué)習(xí)。E-mail:nelson.jiao@gmail.com
通信地址:100876 北京市北京郵電大學(xué)智能通信軟件與多媒體北京市重點(diǎn)實(shí)驗(yàn)室
Address:Beijing Key Laboratory of Intelligent Telecommunications,Beijing University of Posts and Telecommunications,Beijing 100876,P.R.China