王 盛 文衛東
(武漢大學計算機學院 武漢 430072)
一種基于特征的混合推薦方法
王 盛 文衛東
(武漢大學計算機學院 武漢 430072)
論文給予用戶關注度提出了基于特征的混合推薦方法F-Hybrid(Feature-Hybrid)。通過LDA文本建模從電影摘要中抽取電影主題,并結合電影的其他基本信息構成電影的綜合特征;然后根據用戶評價過的電影的特征刻畫出用戶畫像;最終,用戶對新電影的預測評分由兩個因素決定:一是由用戶畫像計算出的用戶相似度;二是由變換用戶評分矩陣得到的電影與用戶關聯度。基于MovieLens-1m數據集上的實驗結果表明,F-Hybrid方法在準確率等指標上均優于一般的推薦方法。
混合推薦; 用戶畫像; 用戶相似度
Class Number TP301.6
如何從互聯網產生的海量數據中找到用戶感興趣的信息,是推薦系統要解決的關鍵問題。作為連接用戶和信息的橋梁,推薦系統從用戶歷史評分數據中發現用戶和物品的聯系,預測用戶對未知物品的評分,從而進行個性化推薦[1]。
大多數推薦系統都使用協同過濾方法(Collaborative-Filtering, CF)進行推薦。常見的協同過濾方法分為兩類:潛在因素模型和基于鄰域的方法[2]。潛在因素模型,例如奇異值分解(Singular Value Decomposition, SVD)通過矩陣變換將高維的用戶評分矩陣轉換為低維潛在特征矩陣,并根據目標用戶和未知物品對應的潛在特征預測評分[3];基于鄰域的方法使用評分矩陣計算用戶或物品相似度,尋找目標用戶的鄰域用戶或未知物品的鄰域物品,然后根據鄰域用戶或者鄰域物品的評分,預測目標用戶對未知物品的評分[4~5]。
協同過濾方法僅關注用戶評分數據,而忽略了物品本身可能吸引用戶關注的特征。例如,用戶喜歡一部電影可能是因為這部電影符合其喜歡的類型、主題或者有其喜歡的演員或導演。因此,物品本身的特征對構建用戶興趣,從而進行個性化推薦十分關鍵。Wilson J等對電影摘要進行LDA文本建模抽取電影的主題分布,然后分析用戶喜歡的電影主題從而生成推薦列表[6]。Cui H等利用電影的基本信息計算電影間的本體相似度,從而預測用戶對新電影的評分[7]。這些利用電影特征的方法能夠描述用戶的興趣,但上述方法對電影特征和用戶興趣的構建還不夠完善,且沒有充分利用用戶評分數據關聯用戶與物品,導致對電影的評分預測準確度不夠。
為更好地刻畫用戶興趣,本文提出基于特征的混合推薦方法。本方法通過物品的綜合特征來刻畫用戶興趣并根據用戶評分計算用戶與物品之間的關聯度。然后,在基于用戶的鄰域方法的基礎上,根據用戶興趣相似度和用戶物品關聯度來調整預測用戶評分的策略,從而生成最終的推薦列表。實驗結果顯示,本文提出的基于特征的混合方法要好于一般協同過濾推薦方法。
這部分介紹相關的方法和模型一般化的內容,包括基于用戶的協同過濾方法[8]、抽取電影主題用到的LDA模型[9]以及預測用戶與電影關聯度用到的PureSVD模型[10]。
2.1 基于用戶的協同過濾方法
對于用戶u(u∈U,U為用戶集合),首先尋找與u相似的用戶作為鄰域,那么用戶對新物品的評分可以通過式(1)來預測:

(1)
式(1)中Nu為用戶u的鄰域集合;I為集合Nu中用戶評價過的但用戶u尚未評價的所有物品集合;rvi表示用戶v對物品i的評分;sim(u,v)表示用戶u和用戶v的相似度,可以根據用戶評分向量的余弦相似度來計算,如式(2)所示:
(2)
式(2)中ru,rv分別表示用戶u和用戶v的評分向量(向量中每一維對應用戶的物品評分數值,若用戶沒有對該物品評分,則記為0)。
2.2 LDA模型

圖1 LDA圖模型
潛在狄利克雷分布(Latent Dirichlet Allocation,LDA)是一種主題模型,可以將文檔集合中的所有文檔的主題以概率分布的形式體現出來,它假定每個文檔是由一些主題組成而且每個詞語對應文檔的主題也有相應的分布概率[9]。用概率圖模型可以簡單明了地展示LDA模型,如圖1所示。
以上概率圖模型中,wm,n表示文檔(電影摘要)中詞,φk表示主題-詞的分布(β是超參數),θm表示文檔-主題分布(α是超參數)。生成文檔的過程可以分拆成兩個主要的步驟:α→θm→zm,n,表示產生第m篇文檔時,首先根據α→θm對應的狄利克雷分布產生θm,然后根據θm→zm,n對應的多項分布得到第n個詞的話題編號zm,n;β→φk→wm,n,表示產生第m篇文檔的第n個詞時,根據β→φk對應的狄利克雷分布分布產生φk,然后根據φk→wm,n多項分布得到這個詞wm,n。最終p(w,z)聯合分布如式(3)所示:
p(w,z|α,β)=p(w|z,β)p(z|α)
(3)
通過Gibbs Sampling算法[11]對這個聯合分布進行采樣,從而可得到LDA模型。本文將電影摘要看作一個文檔集合,然后根據LDA文本建模抽取電影主題。
2.3 PureSVD模型
PureSVD是一種基于矩陣變換的預測評分的方法。對于呈現出長尾分布的數據,PureSVD方法表現出很高的召回率[10]。PureSVD在SVD[12]基礎上將用戶-評分矩陣分解成三個不同的矩陣,如式(4)所示:
R=U·Σ·QT
(4)
定義P=U·Σ,這樣矩陣P的第u行就表示用戶特征向量pu,而式(4)中矩陣Q的第i行表示物品特征向量qi。矩陣Σ表示d維對角陣,維數d即是用戶-評分矩陣的奇異值的個數。很容易推導出,P=U·Σ=R·Q。這樣,評分預測可以通過式(5)來表示:
(5)

為清晰地描述出用戶對電影的興趣,本文選用電影主題、類型、導演和演員列表作為特征。以電影摘要為文檔通過LDA建模抽取電影主題,并結合電影的其他特征分析出每個用戶的興趣,生成用戶基于電影興趣的畫像。這個用戶畫像表征著用戶在電影的各個維度特征上的興趣,因此能夠準確地度量用戶間的興趣相似度,也將會提升基于用戶的協同過濾推薦的效果。最終用戶對新物品的預測評分由用戶興趣相似度以及物品與用戶關聯度共同決定。對于每個用戶以此評分對新物品進行排序,生成用戶的個性化推薦列表。
如圖2所示,推薦步驟可以分為三步: 根據用戶評價過電影的特征,刻畫用戶畫像;根據用戶畫像,計算用戶之間的相似度;根據用戶相似度,通過基于用戶的協同過濾方法。

圖2 基于特征的混合推薦模型的框架圖
3.1 用戶畫像的建立

3.1.1 用戶在電影主題上的興趣分布

(6)

3.1.2 用戶在電影類型、導演和演員列表上的興趣分布
用戶在電影類型、導演和演員列表上的興趣分布中每個維度對應的概率可用該維度對應項目的TF-IDF值表示。用戶u在電影類型上的興趣分布的計算,如式(7)所示:
(7)

3.2 用戶興趣相似度的計算
本文用KL散度來計算用戶在電影主題上的相似度,而用戶在電影類型、電影導演和演員列表上的相似度可以用對應多項式分布中的概率向量的余弦相似度(見式(2))度量。與式(2)不同的是,需將用戶評分向量換成對應的多項式分布的概率分布向量。最終的用戶興趣相似度可由這四種相似度的線性相加而得。
3.2.1 電影主題上的相似度的計算
對于用戶在電影主題上的興趣分布,可以通過KL散度來計算兩個用戶對應興趣分布的相似度。用戶u和用戶v在電影主題上的相似度t_sim(u,v)計算公式如式(8)所示:
t_sim(u,v)=e-KL(tu,tv)
(8)
其中,tu表示用戶u在電影主題上的概率分布向量,tv表示用戶v在電影主題上的概率分布向量;
KL(tu,tv)=KL(tu||tv)+KL(tu||tv)
(9)

(10)
將式(9)、(10)代入到式(8)中,最終可以計算出用戶u和用戶v在電影主題上的相似度。
3.2.2 用戶相似度公式
用戶間興趣相似度可以用在電影主題、電影類型、電影導演和演員列表上的相似度線性表示,如式(11)所示:
sim(u,v)=x·s
(11)

3.3 用戶推薦列表的生成
根據3.2節中用戶相似度的方法,對任意用戶u都可以找到用戶u的鄰域集合Nu。與2.2節所說的基于用戶的協同過濾算法不同的是,在預測用戶u對集合I中物品i的評分p(u,i)時,將式(2)調整為式(12):

(12)

4.1 實驗數據集
本文使用MovieLens-1m數據集[13]來實施實驗,此數據集有6040個用戶、3883部電影以及1000209條評分記錄。本文采用交叉驗證,針對每個用戶將數據集隨機分為一個訓練集(占80%)和一個測試集(占20%)。詳細情況如表1所示。

表1 訓練集和測試集數據分布詳情
MovieLen-1m數據集中的電影基本信息僅有電影類型,電影摘要、電影導演、電影演員列表這些信息需要從IMDB[14]中獲取。3883部電影中共有3657部電影能夠獲取到完整電影特征。
4.2 實驗參數的選擇
為確定模型中參數,在訓練集中針對每個用戶抽取5%的評分數據作為驗證集。通過分析基于驗證集的實驗結果之后,本文取中用戶鄰域個數L=80、LDA中的主題個數K=125、PureSVD中特征個數Z=50以及式(10)中x1=0.7,x2=0.1,x3=0.1,x4=0.1和式(11)中y1=y2=0.5。
4.3 實驗評價方法
由于本文是基于TOP-N推薦的方法,因此采用標準的準確率、召回率和F-measure對實驗方法進行評估[15]。對于用戶集合U中任意用戶u,將其測試集中評價過電影集合記為Tu,將由推薦系統生成的推薦列表記為Ru,則用戶u推薦準確率(precision)、召回率(recall)和F-measure如式(13)、(14)、(15)所示。最終評價推薦方法的準確率、召回率和F-measure取所有用戶的平均值。
(13)
(14)
(15)
4.4 實驗結果
在本實驗數據集上,分別用本文提出的方法即基于特征的混合推薦方法(F-Hybrid)、基于電影主題推薦方法(LDA)、基于PureSVD的推薦方法(PureSVD)、基于LDA和PureSVD的混合推薦方法(LDA+PureSVD)、電影特征(不包含電影主題)結合協同過濾的推薦方法(Feature-CF)、傳統的協同過濾方法(CF)進行實驗。不同方法對應的準確率、召回率和F-measure結果如圖3、圖4和圖5所示。

圖3 推薦個數分別為5,10,20,30,50時各種方法的準確率對比

圖4 推薦個數分別為5,10,20,30,50時各種方法的召回率對比

圖5 推薦個數分別為5,10,20,30,50時各種方法的F-measure對比
實驗結果顯示,當推薦個數從5依次上升到50時,各種方法的準確率依次降低而召回率和F-measure依次上升。當推薦個數相同時,F-Hybrid方法效果最好,其次是LDA+PureSVD方法,然后依次是 LDA、PureSVD、Feature-CF、CF。當推薦個數為10時,推薦準確率方面F-Hybrid方法相比原始CF方法提高了161%,比Feature-CF方法提高了105%,相比PureSVD、LDA、LDA+PureSVD依次提高了23%、21%、14%。可見,文本提出的方法在利用電影特征和用戶評分數據方面發揮了很好的作用。然而,LDA+PureSVD相比PureSVD、LDA提高得并不顯著,而且PureSVD和LDA方法表現幾乎相當,原因是PureSVD模型提取的潛在因素與LDA中的主題對電影的分類效果差別并不大,導致存在相似的推薦結果。PureSVD、LDA、LDA+PureSVD這三種基于模型方法相比原始的CF和Feature-CF實驗效果有很大的提升,說明LDA提取的電影主題相對其他電影特征發揮了更大的作用,PureSVD轉換對評分的預測比傳統協同過濾方法要好。同時,從Feature-CF與CF以及F-Hybrid與LDA+PureSVD的對比實驗可以看出,引入電影的特征對推薦效果確有提升。
傳統的協同過濾方法僅從用戶行為數據本身來挖掘用戶與物品的關聯,這不足以刻畫用戶的興趣,由此進行的個性化推薦的效果必然不很理想。本文提出從電影綜合特征(電影主題、類型、導演和演員列表)的角度來刻畫用戶畫像,這樣對用戶興趣的刻畫更加全面。綜合不同電影特征的用戶畫像能更精確地找到與用戶相似的領域用戶集合,由此進行的協同過濾推薦效果有相應的提升。因此,在預測用戶對新電影的評分時,本文結合兩個因素:一是用戶間的興趣相似度,二是根據PureSVD計算出的用戶與物品之間的關聯度。基于MovieLens-1m數據集上的實驗結果也表明,本文提出的基于特征的混合推薦方法在準確率、召回率和F-measure這些方面的指標上均比一般協同過濾方法要高。
本文對電影不同特征的整合是通過線性相加計算用戶間的相似度,對特征之間的內在聯系值得進一步研究。因此,下一步工作試圖將電影的各種特征用一種聯合分布表示,然后通過聯合分布來計算用戶興趣相似度,可能對推薦效果有進一步的提升。
[1] Goldberg D, Nichols D, Oki B M, et a1. Using collaborative filtering to weavean information tapestry[J]. Commun,ACM,1992,35(12):6170.
[2] Adomavicius G, Tuzhilin A. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions[J]. IEEE transactions on knowledge and data engineering,2005,17(6):734-749.
[3] Y. Koren. Factorization meets the neighborhood: a multifaceted collaborative filtering model[C]//Proceeding of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining,New York, NY,USA,2008:426-434.
[4] Sarwar B, Karypis G, Konstan J, et al. Item-based collaborative filtering recommendation algorithms[C]//Proceedings of the 10th international conference on World Wide Web. ACM,2001:285-295.
[5] Herlocker J L, Konstan J A, Borchers A l, et al.An algorithmic framework for performing collaborative filtering [C]//Proceedings of the 22nd ACM SIGIR,1999,230-237.
[6] Wilson J, Chaudhury S, Lall B. Improving Collaborative Filtering based Recommenders using Topic Modelling[C]//Proceedings of the 2014 IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT)-Volume 01. IEEE Computer Society,2014:340-346.
[7] Cui H, Zhu M, Yao S. Ontology-based top-N recommendations on new items with matrix factorization[J]. Journal of Software,2014,9(8):2026-2032.
[8] Breese J S, Heckerman D, Kadie C. Empirical analysis of predictive algorithms for collaborative filtering[C]//Proceedings of the Fourteenth conference on Uncertainty in artificial intelligence. Morgan Kaufmann Publishers Inc.,1998:43-52.
[9] Blei, David M., Andrew Y. Ng, and Michael I. Jordan. Latent dirichlet allocation[J]. Journal of machine Learning research,2003(3):993-1022.
[10] P. Cremonesi, Y. Koren, and R. Turrin. Performance of recommender algorithms on top-n recommendation tasks[C]//Proceedings of the fourth ACM conference on Recommender systems. ACM, 2010:39-46.
[11] George E I, McCulloch R E. Variable selection via Gibbs sampling[J]. Journal of the American Statistical Association, 1993,88(423):881-889.
[12] Golub G H, Reinsch C. Singular value decomposition and least squares solutions[J]. Numerische mathematik, 1970,14(5):403-420.
[13] MovieLens dataset[EB/OL]. http://grouplens.org/datasets/movielens/
[14] IMDb. The Internet Movie Database[EB/OL]. http://www.imdb.com/interfaces
[15] Herlocker, Jonathan L., Joseph A. Konstan, Loren G. Terveen, and John T. Riedl. Evaluating collaborative filtering recommender systems[J]. ACM Transactions on Information Systems (TOIS) 22,2004(1): 5-53.
A Hybrid Recommendation Method Based on Features
WANG Sheng WEN Weidong
(Computer School, Wuhan University, Wuhan 430072)
This paper proposes a hybrid method based on features of movies in terms of user interests. In this paper, topics of the movie can be captured by LDA model with the documents of movie plots. Accommodating with all the above mentioned features, user profile which presents user interests can be created by the rated movies. Finally, the predict rating for user to the new movies depends on the user similarity calculated by the user profile and the affinity of the user and the movie. Experiments based on the MovieLens-1m dataset show that the proposed method is better than the existing collaborative filtering method.
hybrid recommendation, user profile, user similarity
2016年8月10日,
2016年9月23日
王盛,男,碩士研究生,研究方向:數據挖掘,自然語言處理。文衛東,男,副教授,研究方向:自然語言處理,文本挖掘,并行與分布式計算。
TP301.6
10.3969/j.issn.1672-9722.2017.02.013