焦東俊
(北京郵電大學(xué)智能通信軟件與多媒體北京市重點實驗室,北京 100876)
基于用戶人口統(tǒng)計與專家信任的協(xié)同過濾算法*
焦東俊
(北京郵電大學(xué)智能通信軟件與多媒體北京市重點實驗室,北京 100876)
推薦系統(tǒng)是學(xué)術(shù)研究的熱門課題,在工業(yè)界應(yīng)用也越來越廣泛,推薦系統(tǒng)旨在為用戶推薦相關(guān)的感興趣的物品。協(xié)同過濾算法被用來比較用戶及物品的相似度,向用戶推薦與其最近鄰用戶的偏好。為了提高協(xié)同過濾算法預(yù)測的準確率,提出基于用戶人口統(tǒng)計與專家信任的協(xié)同過濾算法,先比較用戶人口統(tǒng)計屬性,然后進一步比較用戶與專家的人口統(tǒng)計屬性來得到用戶與專家的相似度,從而提高預(yù)測的準確性。實驗驗證表明,提出的算法能夠有效提高協(xié)同過濾算法預(yù)測的準確率。
推薦系統(tǒng);協(xié)同過濾算法;人口統(tǒng)計;專家信任
近年來,推薦系統(tǒng)成為學(xué)術(shù)研究的熱門課題,在工業(yè)界應(yīng)用也越來越廣泛。推薦系統(tǒng)通過用戶的歷史偏好信息,來預(yù)測用戶可能感興趣的物品,好的推薦系統(tǒng)能夠為用戶準確推薦他們感興趣的項目。為了提高預(yù)測的準確率,本文提出基于用戶人口統(tǒng)計與專家信任的協(xié)同過濾算法,引入基于用戶人口統(tǒng)計來提高準確率,并將用戶與專家的背景知識相比較,使得預(yù)測結(jié)果在專家的專業(yè)意見和興趣相似、背景相似的用戶意見之間得到平衡。
現(xiàn)有的基于用戶的協(xié)同過濾算法僅利用用戶對項目的評分來計算用戶相似度,由于沒有考慮到用戶年齡、性別、職業(yè)、地區(qū)的差別性,推薦效果比較單一,讓用戶缺乏驚喜感,推薦準確率也不高。本文在協(xié)同過濾算法上引入基于用戶人口統(tǒng)計的方法,在用戶評分相似度的基礎(chǔ)上,比較用戶間的人口統(tǒng)計信息,找到同性別、同年齡段以及背景相似的用戶,以期在推薦系統(tǒng)中使用戶找到符合自己意愿的推薦結(jié)果。
有一些用戶打分記錄普遍比較高,存在著個人偏好,文獻[1]提出用基準偏移量bu,i來表示用戶偏好:
bu,i=u+bu+bi
其中,bu和bi分別表示用戶u對物品i的偏好,u表示評分矩陣里用戶評分的平均分。
考慮用戶人口統(tǒng)計資料來選擇近鄰和插入權(quán)重來計算用戶相似度:
其中,Rk(u)表示用戶u的k個鄰居的集合;bu,i表示基準偏移量;wu,v表示插入的權(quán)重,是在基準偏移量之上的偏移量;(rv,i-bu,i)表示偏移量的系數(shù)。當u和v相關(guān)度wu,v比較高,(rv,i-bu,i)也高時,表示實際值高出預(yù)測偏移量,增加(rv,i-bu,i)×wu,v偏移量到基準偏移量中。當(rv,i-bu,i)接近為0時,表示基準偏移量達到了一定的精確程度,不會增加過多偏移量到基準偏移量中。
當預(yù)測用戶u對物品i的評分時,查找對物品i打分的所有用戶集R(u),再計算用戶u和集合里每個用戶之間的相似度,通過用戶人口統(tǒng)計來計算kNN(k-Nearest Neighbor)近鄰。用戶u的m維人口統(tǒng)計信息向量為(V1,V2,…,Vm)。
用余弦相似性表示兩個用戶間的相關(guān)性:
其中,sim(u1,u2)表示通過用戶u1和用戶u2的兩個n維向量得到的兩個用戶的余弦相似性。
Pearson相關(guān)系數(shù)用下面的公式來計算:
其中,sim(u1,u2)表示用戶u1和用戶u2的相似程度,β為參數(shù),n/(n+β)表示兩個用戶對n個物品進行評分時,對越多物品評分則n(n+β)越接近于1,相似度高,反之則相似度低。
在相似度算法中,用sim(u1,u2)直接作為wu,v表示用戶u和v之間的評分關(guān)系。為了尋找相似背景的用戶,在計算用戶相似度時加入人口統(tǒng)計信息,比如本文中所使用的MovieLens數(shù)據(jù)集中用戶年齡、性別、職業(yè)和郵編。文獻[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的評分相似度,dem_cor(u,v)表示用戶u和用戶v的人口統(tǒng)計相似度。
文獻[1]在2009年提出在協(xié)同過濾算法中使用專家意見(比如在電影推薦系統(tǒng)中,使用電影評論家的評分和評論),拋棄除了活躍外的其他用戶的評分來提高推薦準確率。結(jié)合基于用戶人口統(tǒng)計的協(xié)同過濾算法,本節(jié)借助專家評分提高預(yù)測準確率。利用用戶的人口統(tǒng)計屬性來比較用戶間的相似度,然后把電影評論專家的評分結(jié)合用戶的評分,用來權(quán)衡專家和相似人口屬性的用戶間的預(yù)測結(jié)果。
基于專家意見協(xié)同過濾算法采用專家的評分數(shù)據(jù)。專家評分數(shù)據(jù)矩陣相比普通用戶的評分數(shù)據(jù)矩陣要更加合理,為用戶u做預(yù)測的時候,不采用除了u的別的用戶,使用專家的評分數(shù)據(jù)。先來計算u和專家e間的相似性sim(u,e):
sim(u,e)=
其中,|Iu|和|Ie|表示某用戶u與專家e評論的項目集合,|Iue|=|Iu|∪|Ie|。
在為u選擇最近鄰的時候,先選取和u相似度較高的前n位專家形成的相似近鄰集CS(u),篩選相似度的閾值與最近鄰閾值CS(u)得出相似近鄰集S(u),這樣用戶u對物品i的預(yù)測評分值ru,i為:
3.1 專家與用戶差異對預(yù)測結(jié)果的影響
基于專家意見的協(xié)同過濾算法只使用了專家的意見來做預(yù)測,因為專家評分數(shù)據(jù)與用戶評分數(shù)據(jù)相比有很多優(yōu)點,并且專家數(shù)量大大小于用戶數(shù)量,這樣為用戶查找相似最近鄰時搜索范圍也大大降低。
由于專家與用戶背景知識很不同,所以專家對同一事物的看法也會不同。比如對于電影評論家來說,他們對電影有比較深刻的認識,衡量電影好壞也是從專業(yè)的角度去看,利用專業(yè)評價標準來評價電影。普通用戶對同樣一部電影的評價會因為他們的職業(yè)、愛好以及所處環(huán)境不同而不同。這樣就造成電影評論專家認為是一部好電影,普通用戶則可能因為無法理解電影中內(nèi)容以及不符合自己的興趣、愛好等原因而不喜歡它。普通用戶評分很高的電影,電影評論專家又覺得不符合電影專業(yè)的標準而給電影差評。
只使用電影評論專家的評分數(shù)據(jù)并不太準確。平均絕對偏差是評價推薦質(zhì)量的公認標準,基于電影評論專家意見的協(xié)同過濾算法和傳統(tǒng)的基于用戶的協(xié)同過濾算法相比,并沒有很大程度地降低平均絕對偏差。
所以,基于以上分析,本節(jié)在基于用戶人口統(tǒng)計的基礎(chǔ)上,更進一步利用電影評論專家評分意見,來減少電影評論專家與用戶背景知識的差異對預(yù)測結(jié)果帶來的負面影響,為目標用戶尋找最近鄰的時候,使用一種新的級聯(lián)式的基于用戶人口統(tǒng)計的相似度度量方法。
3.2 用戶-專家最近鄰的選擇
由于相似專家集只是找到和目標用戶相似興趣的專家,用戶u的相似專家集記作S_E(u)。
相似用戶集要求找與目標用戶興趣相似以及背景知識相似的專家e。為了尋找這樣的專家,用公式計算用戶-專家人口統(tǒng)計相似度:
cor(u,e)=sim(u,e)+sim(u,e)×dem_cor(u,e)
本節(jié)提出級聯(lián)式的基于用戶人口統(tǒng)計與專家信任的協(xié)同過濾算法,以改進協(xié)同過濾算法的單一性。具體步驟是先使用協(xié)同過濾算法找到基于用戶評分的用戶相似度,在此基礎(chǔ)上比較用戶人口統(tǒng)計屬性來提高用戶相似度的準確性;然后進一步比較用戶與專家的評分相似度以及用戶-專家的人口統(tǒng)計屬性來得到用戶與專家的相似度,從而提高預(yù)測準確性。
在得到目標用戶u的相似專家集S_E(u)和相似用戶集S_U(u)后,u對項目i的預(yù)測評分Pu,j為:
這樣得到的Pu,j,通過ɑ的調(diào)節(jié),既得到專家的意見指導(dǎo),又參考了背景知識用戶的相似意見。
5.1 實驗環(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ù)據(jù)集及評測標準
用戶數(shù)據(jù)來自MovieLens[16]。本實驗采用100 K數(shù)據(jù)集,包含了943位用戶對1 682部電影的10多萬條評分。用戶屬性包括:年齡、性別、職業(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名用戶及專家對10 197部電影的855 598條評價。
實驗采用的度量標準和大多數(shù)協(xié)同過濾推薦算法采用的度量標準一樣,使用了平均絕對偏差MAE。
5.3 推薦結(jié)果比較
利用本文改進的基于人口統(tǒng)計與專家信任算法和傳統(tǒng)基于用戶的協(xié)同過濾算法比較,基于用戶人口統(tǒng)計的協(xié)同過濾算法以及基于專家信任的協(xié)同過濾算法進行了比較,實驗分別設(shè)置不同近鄰比例以及專家意見閾值ɑ (2%~20%),并計算最近鄰算法中相對應(yīng)的鄰近個數(shù),最近鄰相似度采用Pearson相關(guān)系數(shù),得出的實驗結(jié)果如圖1所示。
Figure 1 Experimental results of collaborative filtering algorithm based on user demographics and experts opinions
由實驗結(jié)果觀察:
改進前的結(jié)果:傳統(tǒng)基于用戶的協(xié)同過濾算法的準確率較低,而基于用戶人口統(tǒng)計的協(xié)同過濾算法對準確率提高很小。這表明,用戶在評分的過程中,用戶的年齡、性別、職業(yè)、地區(qū)已經(jīng)很大程度上反映在了評分結(jié)果中。單獨使用基于專家信任的協(xié)同過濾算法對準確度有一定的提高。
改進后的結(jié)果:改進的基于用戶人口統(tǒng)計與專家信任的協(xié)同過濾算法的準確率最好,算法既考慮了用戶的人口屬性對預(yù)測評分的影響,又考慮了專家信任的人口屬性對預(yù)測評分的影響,從而實現(xiàn)了比較好的預(yù)測準確率。
實驗表明,改進的基于人口統(tǒng)計屬性及專家信任的協(xié)同過濾算法好于傳統(tǒng)基于用戶的協(xié)同過濾算法,也好于分別使用基于人口統(tǒng)計的協(xié)同過濾算法和基于專家信任的協(xié)同過濾算法。
本文在傳統(tǒng)基于用戶的協(xié)同過濾算法基礎(chǔ)上,使用基于人口統(tǒng)計屬性的協(xié)同過濾算法,以改進傳統(tǒng)協(xié)同過濾推薦系統(tǒng),并進一步分析基于專家的協(xié)同過濾算法存在的缺點,提出要同時使用用戶評分和專家意見。使用用戶-專家的人口統(tǒng)計學(xué)屬性提出了一種相似度度量方法,找到用戶專家間的相似度。這樣在為目標用戶預(yù)測時,既考慮到用戶間的背景相似度,也同時借助于興趣相似、背景知識相近的專家意見,有效提高了預(yù)測準確率。實驗在Rotten Tomatoes上獲取的專家數(shù)據(jù)和MoiveLens數(shù)據(jù)的兩個子集上驗證了本文提出的結(jié)合人口統(tǒng)計屬性與專家意見的協(xié)同過濾算法的預(yù)測結(jié)果,最終結(jié)果顯示,該改進算法有效也提高了預(yù)測質(zhì)量。
致謝 感謝北京郵電大學(xué)孟祥武教授對本文研究工作的悉心指導(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/.
附中文參考文獻:
[3] 劉建國, 周濤, 汪秉宏. 個性化推薦系統(tǒng)的研究進展[J]. 自然科學(xué)進展, 2009, 19(1):1-15.
[6] 孫斌.個性化智能推薦引擎算法研究及應(yīng)用[D].武漢:華中科技大學(xué),2012.
[7] 云龍.協(xié)同過濾推薦系統(tǒng)中關(guān)鍵問題研究與實現(xiàn)[D].哈爾濱:黑龍江大學(xué),2011.
[8] 陳志敏,李志強.基于用戶特征和項目屬性的協(xié)同過濾推薦算法[J].計算機應(yīng)用,2011,31(7):1748-1755.
[9] 焦東俊.基于Mahout的電影推薦系統(tǒng)研究和實現(xiàn)[D].北京:北京郵電大學(xué),2014.
[11] 黃創(chuàng)光,印鑒,汪靜,等.不確定近鄰的協(xié)同過濾推薦算法[J].計算機學(xué)報,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-),男,安徽安慶人,碩士,高級工程師,研究方向為推薦系統(tǒng)和機器學(xué)習(xí)。E-mail:nelson.jiao@gmail.com
通信地址:100876 北京市北京郵電大學(xué)智能通信軟件與多媒體北京市重點實驗室
Address:Beijing Key Laboratory of Intelligent Telecommunications,Beijing University of Posts and Telecommunications,Beijing 100876,P.R.China