夏景明 周剛 談玲 李沖



摘 ?要: 在新聞網站、電子書城等應用中,為了提高計算用戶間的相似性,在傳統基于用戶協同過濾和基于內容的混合推薦的基礎上,引入人口統計信息和專家信任等因子,對混合推薦算法進行改進。最后,通過GroupLens提供的數據集對算法進行驗證,與傳統基于用戶和基于項目的協同過濾算法相比,文中所提算法在準確率上有顯著的提高。
關鍵詞: 算法改進; 個性化推薦; 內容推薦; 協同過濾; 算法驗證; 混合推薦
中圖分類號: TN911.1?34; TP183 ? ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)15?0101?05
An improved hybrid multi?factor recommendation algorithm
XIA Jingming1, ZHOU Gang1, TAN Ling2, LI Chong1
(1. School of Electronic & Information Engineering, Nanjing University of Information Science and Technology, Nanjing 210044, China;
2. School of Computer and Software, Nanjing University of Information Science and Technology, Nanjing 210044, China)
Abstract: In news websites, e?book malls and other applications, in order to improve the similarity between computing users, the demographic information and expert trust factors are introduced on the basis of the traditional user?based collaborative filtering and content?based mixed recommendations. The hybrid recommendation algorithm is improved. The algorithm is verified by means of the dataset provided by GroupLens. In comparison with traditional user?based and project?based collaborative filtering algorithms, the accuracy of the algorithm has been significantly improved.
Keywords: algorithm improvement; personalized recommendation; content recommendation; collaborative filtering; algorithm verification; mixed recommendation
0 ?引 ?言
在實現基于內容推薦和協同過濾推薦的混合推薦算法時,存在數據稀疏性問題,如果用戶評分矩陣非常稀疏,在計算用戶相似性時將會遇到困難,如果單依靠傳統常見評級的推薦算法來確定用戶之間的相似性,任何一個都存在一定的誤差。所以,影響協同過濾技術的準確性是一個主要問題。在對用戶進行預測的過程中,用戶會得到推薦那些以前沒有評價過的商品,但是這些商品在他的小社區已經得到了用戶的正面評價,只依靠他的社區近鄰的小概率點擊是不準確的。同時,由于沒有考慮到用戶的年齡、性別、職業、地理位置等人口統計信息以及專家意見,在預測準確度上存在偏差。因此,本文在基于內容和協作推薦算法的基礎上,引入人口統計信息[1]和專家意見等因子[2]來提高預測評分的準確性。
基于協同過濾的推薦算法[3?4]是通過用戶與數據項之間的特殊關系,系統給出一個推薦物品列表。基于內容的推薦算法[5?6],考慮了屬性信息和文本的內容,因此系統會給出一個滿足用戶需求的推薦項目列表。人口統計信息考慮了用戶的性別、年齡、職業、薪資等因數,在計算用戶間的相似性起到一定程度的補充作用。專家意見相比普通用戶有著更好的合理性,提高了預測結果的置信度。結合以上方法的優點,本文設計一種混合的推薦算法,相比單一的基于內容推薦或者基于協同過濾的推薦在準確率上存在明顯的優勢。
1 ?混合推薦系統
在當今的推薦系統中,基于內容推薦和協同過濾在推薦系統應用中有著很重的比例,兩者各有優點,但是在單獨使用時,存在很多限制,同時,由于沒有考慮人口統計信息和專家意見,在計算準確度上存在一定的誤差。混合推薦作為兩種或更多種方法的組合,已經提出克服傳統推薦方法的主要限制并改進所提供的推薦質量[7]。
混合推薦算法類型如下:
集成類型:通過調整不同的推薦算法,將不同類型的算法組合成一個整體。
流式型:建議過程被分成幾個子過程,依次使用各種推薦算法生成最終的推薦列表。
并聯型:核心思想是利用幾種混合機制將推薦項目混合在一起的算法[8]。
三種并聯混合算法描述如下[9]:
1) 并聯混合:在呈現給用戶的階段,幾種方法的結果混合在一起。因此,在這種情況下,用戶[u]和項目[i]的推薦結果是一個推薦數組,每個推薦數組對應[n]個推薦結果,對應公式如下:
2) 權重混合:固定線性方程用于連接兩個獨立推薦算法結果列表。由于權重方案是靜態的,因此必須指定方程,推薦結果和相對權重定義如下:
3) 切換混合:切換混合算法存在幾個推薦人,選擇最相似的一個推薦人產生的推薦。對于[k]個推薦系統的情況,用戶[u]和項目[i]描述如下:
2 ?一種改進的用戶多因子混合推薦算法
2.1 ?算法策略
在計算兩個用戶相似度時,傳統的協同過濾算法沒有考慮專家意見、人口統計信息等間接因素,因此最終預測分數可能會有一些偏差。本文針對這些缺點進行改進,在對待普通用戶時,首先計算用戶興趣[10]的分布矩陣,完成用戶間興趣相似度計算。然后結合人口統計信息,進一步提高用戶間的相似度計算,完成預測分數。對待專家意見,由于在某個領域,專家評分矩陣相比普通用戶評分矩陣更加合理,借鑒專家意見可以提高推薦置信度。
在提出建議時,首先,找到與用戶[u]相似的資源聚合,使用[K]維向量來表示用戶偏好,計算用戶興趣相似度并更新用戶興趣的分布矩陣,經過多次操作,用戶興趣趨于穩定,計算用戶間的興趣相似性[11],找到基于興趣相似近鄰集合[Ulist]。然后,在興趣相似近鄰集合[Ulist]的基礎上,基于普通用戶間的人口統計信息,計算人口統計信息的相似性,找到最終的近鄰集合[Unear],完成普通用戶預測分數。其次,根據專家的評分矩陣計算用戶[u]和專家[e]之間的相似度,找到最終的近鄰結合[Ue],計算目標用戶[u]和近鄰專家[e]之間的相似度,進行預測評分。最后,基于協同過濾的推薦算法計算目標用戶對項目的評分,由普通用戶近鄰評分和專家近鄰評分的線性組合完成預測,最終的預測評分由基于內容和協作加權取得。
2.2 ?算法描述
由于資源類別的數量遠遠少于資源數量,因此將所有興趣資源轉變為用戶興趣類別,從而減少計算量。例如,圖書商城的資源包括期刊、專著、報紙和其他類型的財產,包括能源、計算機、建筑、機械、文學和其他屬性。根據項目類別表示用戶的興趣,這是基于用戶?項目評級矩陣和項目類別屬性特征建立用戶類別屬性矩陣,從而獲得每個用戶的興趣[12]。
根據項目類別表示用戶興趣,即基于用戶?項目評分矩陣和項目類別屬性特征建立用戶類別屬性矩陣,從而獲得各個類別的興趣。該分配可以按照下面的PM矩陣進行描述:
3 ?算法驗證
在本節中,將改進的混合算法與傳統的協同過濾算法和基于內容的算法進行比較,并且對得到的實驗結果進行分析。

3.1 ?評價指標
統計準確性度量標準是通過將預測評級直接與實際用戶評級進行比較來評估推薦技術的準確性。MAE(平均絕對誤差)通常用作統計精度度量。它是推薦偏離用戶特定值的一種度量,計算如下:
為了驗證實用性和可靠性,使用centOS6.8系統,用Python2.7進行算法實現。在實驗中,把數據集分成80%的訓練集和20%的測試集。在實驗過程中,根據用戶對訓練集中記錄的訪問來計算一組建議,如果推薦一組資源出現在訪問記錄的測試集中,則生成一個正確的推薦。
3.2 ?參數設置
影響混合算法推薦效果的參數有三個:第一個參數[a]是在計算普通用戶之間的相似度時根據普通用戶間的興趣度和人口統計信息的因數進行取值,參數大小取值范圍為[0.1,0.9];第二個參數[α]是在基于普通用戶的預測分數的基礎上,借鑒專家評分矩陣,兩個預測評分進行線性加權,參數大小取值范圍為[0.1,0.9];第三個參數[β]是對基于內容的推薦和基于用戶的協同推薦進行線性加權,加權后得到最終的預測分數,參數大小取值范圍為[0.1,0.9]。
試驗中,選擇的近鄰個數[N]分別為20,40,60,80,100,120和140。在本實驗中,不斷組合三個參數值的大小,使得混合算法的推薦效果最優,并與傳統的協同過濾等算法進行比較。
3.3 ?數據集
本試驗中使用了GroupLens數據集,該數據集總共有900個用戶對1 563本書進行評論,總評論數量達到了110 000條,其中,每位用戶評論了20本書,其分數由1~5構成,這些數據構成本實驗使用的參考數據集。
3.4 ?實驗結果
首先,[a]和[α]取值范圍為[0.1,0.9],依次代入式(9)、式(13)中,使得在普通用戶興趣度穩定下基于人口統計信息和專家建議的協同算法對目標用戶的物品打分的預測值與真實值之間的[MAE]最小,結果如圖2所示。

由圖2可知,當[a]取值為0.7,[α]取值為0.2時,在普通用戶興趣度穩定下基于人口統計信息和專家建議的協同算法下目標用戶對物品打分的預測值與真實值之間的[MAE]最小。
最后,由式(14)可知混合推薦結果加權系數 [β]取值范圍為[0.1,0.9],進行MAE測試,實驗結果如圖3所示。
由圖3可知,當[β]取值為0.6時,使得MAE值最小,結合內容推薦和協同過濾推薦效果達到最優。

為驗證所提方法的有效性,與傳統的協同過濾推薦算法相比,用戶數逐漸增加,計算推薦算法的MAE實驗結果如圖4所示,當近鄰數為120,參數[(a,α,β)=(0.7,0.2,0.6)]時,混合推薦算法產生的推薦效果最佳。

4 ?結 ?論
本文提出一種在內容與協作基礎上融入人口統計信息和專家意見的混合推薦算法。該混合推薦算法使用歷史信息的用戶評級來生成用戶興趣并產生最近鄰集合,再參考人口統計信息和專家意見生成有效最近鄰組進行預測評分,最終根據內容推薦和協作推薦的預測評分產生最終的預測評分,生成目標用戶的推薦列表。實驗結果表明,在計算預測評分上,與傳統基于用戶和基于項目的協作算法相比,有效地提高了預測評分的準確性。
參考文獻
[1] DAI Y, YE H, GONG S. Personalized recommendation algorithm using user demography information [C]// 2009 Second International Workshop on Knowledge Discovery and Data Mining. ?Moscow: [s.n.], 2009: 100?103.
[2] 高發展,黃夢醒,張婷婷. 綜合用戶特征及專家信任的協作過濾推薦算法[J].計算機科學,2017,44(2):103?106.
GAO Fazhan, HUANG Mengxing, ZHANG Tingting. Collabo?rative filtering recommendation algorithm based on user characteristics and expert opinions [J]. Computer science, 2017, 44(2): 103?106.
[3] WU Q, HUANG M, MU Y. A collaborative filtering algorithm based on user similarity and trust [C]// 2017 14th Conference on Web Information Systems and Applications (WISA). Liuzhou, Guangxi Province, China: [s.n.], 2017: 263?266.
[4] WANG X, WANG C. ?Recommendation system of e?commerce based on improved collaborative filtering algorithm[C]// 2017 8th IEEE International Conference on Software Engineering and Service Science. Beijing: IEEE, 2017: 332?335.
[5] PAL A, PARHI P, AGGARWAL M. An improved content based collaborative filtering algorithm for movie recommendations [C]// Proceedings of 2017 Tenth International Conference on Contemporary Computing. Noida: [s.n.], 2017: 1?3.
[6] MATHEW P, KURIAKOSE B, HEGDE V. Book recommendation system through content based and collaborative filtering method [C]// 2016 International Conference on Data Mining and Advanced Computing. Ernakulam: [s.n.], 2016: 47?52.
[7] 高虎明,趙鳳躍.一種融合協同過濾和內容過濾的混合推薦方法[J].現代圖書情報技術,2015(6):20?26.
GAO Huming, ZHAO Fengyue. A hybrid recommendation method combining collaborative filtering and content filtering [J]. New technology of library and information service, 2015(6): 20?26.
[8] 肖斌,徐佳慶,張宇洋.基于協同過濾算法的個性化圖書推薦系統研究[J].電腦知識與技術,2016,12(27):155?158.
XIAO Bin, XU Jiaqing, ZHANG Yuyang. Research on perso?nalized book recommendation system based on collaborative filtering algorithm [J]. Computer knowledge and technology, 2016, 12(27): 155?158.
[9] REDDY Raj. Million books digital library project: research issues in data mining and text mining [D]. Pittsburgh: Carnegie Mellon University, 2006.
[10] 全海金,邱玉輝,李瑞.基于用戶行為及語義相關實時更新用戶興趣的推薦系統[J].計算機科學,2005(3):76?78.
QUAN Haijin, QIU Yuhui, LI Rui. The recommender system with real?time updated user interests based on user behaviors and similar semantic [J]. Computer science, 2005(3): 76?78.
[11] 楊秀萍.融合用戶評分和屬性相似度的協同過濾推薦算法[J].計算機與現代化,2017(7):16?19.
YANG Xiuping. Collaborative filtering recommendation algorithm based on user score and user attributes similarity [J]. Computer and modernization, 2017(7): 16?19.
[12] YANG W, CUI X, ?LIU J, et al. Users interests?based movie recommendation in heterogeneous network [C]// 2015 International Conference on Identification, Information, and Know?ledge in the Internet of Things. Beijing: [s.n.], 2015: 74?77.
[13] 焦東俊.基于用戶人口統計與專家信任的協同過濾算法[J].計算機工程與科學,2015,37(1):179?183.
JIAO Dongjun. Collaborative filtering algorithm based on user demographics and expert opinions [J]. Computer engineering &science, 2015, 37(1): 179?183.
[14] WANG B, TAO Z, HU J. Improving the diversity of user?based Top?N recommendation by cloud model [C]// 2010 5th International Conference on Computer Science & Education. Hefei: [s.n.], 2010: 1323?1327.