任保寧,梁永全,趙建立,廉文娟,李玉軍
(1.山東科技大學信息科學與工程學院,山東青島266500;
2.海信集團有限公司數(shù)字多媒體技術(shù)國家重點實驗室,山東青島266071)
基于多維度權(quán)重動態(tài)更新的用戶興趣模型
任保寧1,梁永全1,趙建立1,廉文娟1,李玉軍2
(1.山東科技大學信息科學與工程學院,山東青島266500;
2.海信集團有限公司數(shù)字多媒體技術(shù)國家重點實驗室,山東青島266071)
面向個性化電影推薦領(lǐng)域,提出一種基于多維度權(quán)重動態(tài)更新的用戶興趣模型。將電影分成演員、導(dǎo)演、類別、地區(qū)和時間5個維度,分別計算電影在這些維度上的相似度。采用歸一化方法將電影之間的相似度轉(zhuǎn)化為用戶興趣模型中的多維度權(quán)重,并應(yīng)用TF-IDF算法計算各維度中特征詞的權(quán)重,從而實現(xiàn)電影各維度權(quán)重及其特征詞權(quán)重的動態(tài)更新。利用基于內(nèi)容的推薦算法,在MovieLens數(shù)據(jù)集進行實驗,結(jié)果表明,該模型具有較高的推薦準確率和召回率,并且能夠發(fā)現(xiàn)用戶對電影維度的偏好,解決用戶興趣漂移問題。
用戶興趣模型;個性化推薦;動態(tài)權(quán)重更新;多維度;維度相似度;興趣漂移
隨著通信技術(shù)和互聯(lián)網(wǎng)的發(fā)展,信息量呈幾何級數(shù)增長,面對海量的信息,為使人們能找到自己需要的信息,搜索和推薦應(yīng)運產(chǎn)生,搜索是系統(tǒng)根據(jù)人們輸入的查詢條件檢索信息,推薦是系統(tǒng)根據(jù)人們的喜好,自動地為人們呈現(xiàn)信息,大大滿足了用戶的需求。
個性化推薦就是根據(jù)用戶的個人喜好進行推薦,成為一個越來越受關(guān)注的領(lǐng)域。在個性化推薦系統(tǒng)中,用戶興趣模型是基礎(chǔ)、推薦算法的核心。用戶興趣模型[1]的表示方法有:主題表示法[2],關(guān)鍵詞列表向量法,書簽表示法,基于本體的表示法,興趣粒度表示法,向量空間模型的表示法[3],其中,向量空間模型表示法的應(yīng)用較廣泛。
用戶興趣模型[4]用向量空間模型表示為:V= {PK:PW},其中,PK表示用戶興趣詞集;PW表示興趣詞對應(yīng)的權(quán)重集。在個性化電影推薦系統(tǒng)中,用一組關(guān)鍵詞表示一個電影,電影 M:{導(dǎo)演:導(dǎo)演名…;演員:演員名…;類別:類別名…;地區(qū):地區(qū)名…;上映時間:時間}。如果用向量空間模型表示用戶對電影的興趣模型,在PK中包含導(dǎo)演、演員、類別、地區(qū)等用戶感興趣的關(guān)鍵詞,可以用TF-IDF來統(tǒng)計各個詞的權(quán)重。
文獻[5]提出針對不同應(yīng)用領(lǐng)域特征,建立不同的用戶興趣模型,對于電影這種特殊的資源,含有明確的維度區(qū)分(演員、類別等),但是使用向量空間模型的表示方法只能體現(xiàn)用戶對哪個特征詞感興趣,不能體現(xiàn)出用戶對哪個維度比較感興趣。
針對該問題,本文建立了兩層用戶興趣模型,在此基礎(chǔ)上設(shè)計電影維度權(quán)重更新算法。由于用戶興趣模型是兩層的,因此在模型更新時,主要分成兩步:各維度中興趣詞及其權(quán)重的更新和各維度權(quán)重的更新,并給出經(jīng)過改進的用戶興趣模型與未改進的用戶興趣模型在基于內(nèi)容推薦算法中的對比結(jié)果。
用戶對電影的興趣不能簡單地分成喜歡和不喜歡,對一部喜歡的電影,不同的用戶對于該電影的喜歡程度不同、維度不同。一個電影可以分為導(dǎo)演、演員、類型、地區(qū)、時間5個維度,每個維度都有自己的特征值,比如類型維度,類型維度中的特征值為喜劇、愛情、驚悚、動作等。假設(shè)2個用戶喜歡同一部電影,但是他們可能對這部電影的維度側(cè)重不同,一個可能因為這個電影的演員而喜歡,另一個可能因為這個電影的導(dǎo)演而喜歡。
基于以上分析,本文建立的用戶對電影的興趣模型是一個兩層模型[6],如圖1所示,中間層表示電影的維度,底層表示電影各維度上的特征值。
圖1 用戶-電影興趣模型
用戶i對某個特征值j的興趣度為:
其中,對于Wij可以用該特征值的個數(shù)占該維度中所有特征值個數(shù)的比值來計算,也可以用TF-IDF來計算權(quán)重[7]。對于wi,應(yīng)該隨著用戶觀看電影的不同不斷變化。本文根據(jù)用戶看過的電影,設(shè)計一個算法來動態(tài)更新wi。
3.1 算法思想
用戶看過的電影能夠反映用戶對電影的喜好,假設(shè)用戶看過《功夫熊貓1》,并且評價還不錯,那么他看《功夫熊貓2》的概率是較大的;用戶看過周星馳演的電影并且評價不錯,那么他以后看周星馳演的電影的概率較大。
基于以上2點考慮,在用戶看過的電影記錄中取出用戶評價較高的N部電影,并且這N部電影是有順序的。用戶看第i部電影,與前i-1部電影有關(guān)。這些電影中不是在演員維度上是相似的、就是在類別維度上是相似的,又或者是在多個維度上是相似的。利用電影之間在各個維度上的相似度來調(diào)整用戶在各個維度上的權(quán)重[8]。
假設(shè)用戶看過第i-1部電影后,用戶對電影各維度上的權(quán)重為Wi-1,他因為看過第i-1部電影,才看第i部電影,那么這2部電影肯定存在一定的關(guān)系。
通過計算這2部電影在各個維度上的相似度,就可以找到這2部電影之間的關(guān)系。假設(shè)這2部用戶在導(dǎo)演這個維度上相似度比較大,則說明該用戶當時看這2部電影時是因為導(dǎo)演這個維度所致,那么該用戶在導(dǎo)演這個維度上權(quán)重就要增加。
本文將這2部電影在各個維度上的相似度表示為:
其中,Si表示各個維度相似度的值,它是一個[0,1]之間的數(shù)。然后把各個維度上的相似度,轉(zhuǎn)為單個維度上相似度占整個維度相似度之和的比值,即:
經(jīng)過轉(zhuǎn)化,可以把相似度轉(zhuǎn)化為用戶對這2部電影在各個維度上的偏好,表示為:
其中,λ表示W(wǎng)i-1所占的比率;1-λ表示P(Mi-1, Mi)所占的比率。
3.2 電影各維度的相似度計算
在用戶興趣模型中,把電影分成演員、導(dǎo)演、類別、地區(qū)和時間5個維度[9],分別計算電影在這些維度上的相似度。電影可以用向量M來表示,M= {M1,M2,M3,M4,M5},Mi表示電影維度。
每個維度的Mi可以表示為Mi={Mi1,Mi2,…, Min},Min表示該維度上的特征值,是有順序的。比如《大話西游之月光寶盒》,演員有周星馳、莫文蔚、吳孟達等。顯然,要計算電影的相似度,在演員這個維度上周星馳的權(quán)重是比后面2位演員的權(quán)重大。
因此,將電影在演員、導(dǎo)演、類別、地區(qū)這4個維度上的Mi表示為:
電影A和電影 B的在這4個維度上的相似度為:
其中,i表示電影的4個維度;j表示維度上的特征值;wij表示電影在第i個維度上、第j個特征值的權(quán)重。
電影在時間維度上一般只有一個值,電影A和電影B在時間維度上的相似度式為:
其中,Mi表示電影i的時間;Date表示當前時間;
Min()表示取最小值;Max()表示取最大值。
3.3 算法步驟
多維度權(quán)重動態(tài)更新算法步驟具體如下:
輸入 用戶看過且評分較好的電影列表 List<M>,初始值W1={0.2,0.2,0.2,0.2,0.2},λ表示式(8)中的閾值
輸出 Wi表示更新后的用戶興趣模型的權(quán)重,i表示電影列表List<M>的長度
(1)計算電影列表List<M>的長度,記為i;
(2)根據(jù)式(6)、式(7)計算第 i部電影與前i-1部電影在各個維度上的相似度,記為:Sim(Mj, Mi),其中,1<j<i;
(3)根據(jù)式(3)將Sim(Mj,Mi)轉(zhuǎn)化為P(Mj, Mi),其中,1<j<i;
(4)得到P(Mj,Mi)后,就能夠計算Wi,計算如下:
(5)輸出Wi。
多維度權(quán)重動態(tài)更新算法,是根據(jù)用戶的觀看記錄的順序以及電影之間的相似度進行動態(tài)更新。首先,設(shè)置各個維度的初值,這對所有用戶是一樣的。然后,通過式(3)把用戶觀看的電影之間的相似度轉(zhuǎn)化為用戶興趣模型中各維度的權(quán)重,這樣能夠體現(xiàn)用戶的個性化。另外,動態(tài)更新各維度的權(quán)重,能夠捕捉用戶的興趣漂移。
該算法的時間復(fù)雜度較高,對于觀看的N部電影,算法的時間復(fù)雜度為O(n2),需要進一步進行改進。
一個好的興趣模型是需要用戶與系統(tǒng)之間進行不斷的學習與更新,因為用戶興趣是不斷變化的,所以用戶興趣模型也應(yīng)該是不斷變化的[10]。用戶興趣模型中的信息源是用戶看過的電影信息。用戶興趣模型更新算法為:
輸入 當前的用戶興趣模型Vi-1,剛看過的電影i,閾值?
輸出 用戶興趣模型Vi
(1)計算電影i與前前i-1部電影的相似度,得到相似度集合S;
(2)根據(jù)相似度集合S與Vi-1中的各維度的權(quán)重wi-1,利用式(8),計算出wi;
(3)統(tǒng)計從1部 ~i部電影在各維度上的特征詞;
(4)利用TF-IDF計算特征詞的權(quán)重,得到的權(quán)重如果大于閾值?,則把該特征詞加入模型中,否則不加入;
(5)得到Vi。
用戶興趣模型更新算法,主要是包括電影各維度權(quán)重更新、各維度中特征詞及其權(quán)重的更新。
電影各維度權(quán)重更新主要是應(yīng)用多維度權(quán)重動態(tài)更新算法。各維度中特征詞及其權(quán)重的更新主要是應(yīng)用TF-IDF算法計算各維度中特征詞的權(quán)重,并通過設(shè)置閾值過濾掉不符合情況的特征詞。該算法的時間復(fù)雜度為O(n2)。
5.1 實驗數(shù)據(jù)
為驗證本文改進的用戶興趣模型在推薦算法中的有效性,采用推薦系統(tǒng)評測數(shù)據(jù)集MovieLens[11]。
該數(shù)據(jù)集中,包含943個用戶、1 682部電影及100 000條用戶對電影的評價記錄。用戶對電影的評價分為1個~5個等級。其中,80%的數(shù)據(jù)用于訓(xùn)練;20%數(shù)據(jù)用戶測試。在該數(shù)據(jù)集中,電影的信息主要為類別、上映時間、電影名稱。因此,本文對該數(shù)據(jù)集中的電影主要是在類別、時間這2個維度上進行實驗。
5.2 評價指標
本文采用基于內(nèi)容的推薦算法來進行驗證改進的用戶興趣模型的有效性,因此評價指標選取準確率和召回率。
準確率定義為推薦列表中與用戶測試集合同時存在的商品數(shù)目與推薦列表中所有商品的比率[12]:
其中,B表示測試集合中用戶喜歡的所有商品的數(shù)目;Ntp表示同時出現(xiàn)在用戶測試集合和推薦列表中的商品數(shù)目。
5.3 結(jié)果分析
在本文實驗中,分別利用用戶觀看的電影記錄構(gòu)建本文提出的用戶興趣模型,并將其與文獻[4]的用戶興趣模型(記為未改進的用戶興趣模型)進行比較。根據(jù)基于內(nèi)容推薦算法來進行推薦。推薦列表的長度分別為10,15,20,25,30。實驗結(jié)果如圖2、圖3所示。
其中,L表示推薦列表的長度;Ntp表示同時出現(xiàn)在用戶測試集合和推薦列表中的商品數(shù)目。
召回率定義為推薦列表中的用戶喜歡的商品與測試集合中用戶喜歡的所有商品的比率[12]:
圖2 準確率實驗結(jié)果
圖3 召回率實驗結(jié)果
通過實驗結(jié)果可以看出,經(jīng)過改進的用戶興趣模型在基于內(nèi)容推薦算法中的推薦準確率和召回率都有提高。
隨著信息的快速增長,個性化服務(wù)已經(jīng)越來越多的應(yīng)用到很多領(lǐng)域。面向個性化電影推薦領(lǐng)域,本文提出一種多維度權(quán)重動態(tài)更新的用戶電影興趣模型。該模型主要通過研究用戶的觀看記錄以及觀看電影之間的相似度,發(fā)現(xiàn)用戶對電影中維度的偏好,并且能夠較好地處理用戶興趣漂移問題。但是,該模型需要用戶的觀看記錄,并且時間復(fù)雜度較高,需要進一步優(yōu)化。
[1] 宋艷娟,陳振標.個性化檢索系統(tǒng)中用戶興趣模型的研究[J].計算機與數(shù)字工程,2013,(2):271-274.
[2] 顧雅楓.基于用戶興趣模型的信息檢索研究[D].蘭州:蘭州大學,2009.
[3] 韓 旭.個性化推薦系統(tǒng)用戶興趣建模方式的研究[J].數(shù)字技術(shù)與應(yīng)用,2010,(11):44-46.
[4] 薄 陽.基于用戶興趣模型的個性化推薦與搜索系統(tǒng)的研究[D].北京:華北電力大學,2010.
[5] 靳玉紅,李家會.個性化服務(wù)中用戶興趣的建模研究[D].綿陽:西南科技大學,2011.
[6] Zheng Nan,Li Qiudan.A Recommender System Based on Tag and Time Information for Social Tagging Systems [J].Expert Systems with Applications,2011,38(4): 4575-4587.
[7] Mojtaba S,Mohammad P,Seyed A R.Hybrid Attributebased Recommender System for Learning Material Using Genetic Algorithm and a Multidimensional Information Model[J].Egyptian Informatics Journal,2013,14(1):67-78.
[8] Lakiotaki K,Matsatsinis N F.Multi-criteria User Modeling in Recommender Systems[J].Intelligent Systems,2011,26(2):1541-1672.
[9] Adomavicius G,Tuzhilin A.Multidimensional Recommender Systems:A Data Warehousing Approach[C]// Proceedings ofthe 2nd InternationalWorkshop on Electronic Commerce.London,UK:Springer-Verlag, 2007:180-192.
[10] Manouselis N,Costopoulou C.Analysis and Classification of Multi-criteria Recommender Systems[J]. World Wide Web,2007,10(4):415-441.
[11] Grouplens[EB/OL].[2012-11-16].http://www. grouplens.org/node/73.
[12] 朱郁筱,呂琳媛.推薦系統(tǒng)評價指標綜述[J].電子科技大學學報,2012,41(2):163-175.
編輯 陸燕菲
User Interest Model Based on Dynamic Update of Multi-dimensional Weight
REN Bao-ning1,LIANG Yong-quan1,ZHAO Jian-li1,LIAN Wen-juan1,LI Yu-jun2
(1.College of Information Science and Engineering,Shandong University of Science and Technology,Qingdao 266500,China;
2.State Key Laboratory of Digital Multi-media Technology,Hisense Group Co.,Ltd.,Qingdao 266071,China)
For personalized movie recommendation domain,this paper proposes a user interest model based on dynamic update for multi-dimensional weight.It divides the movie into five dimensions of actor,director,categories,area and time,respectively to calculate the similarity among these dimensions of film.It uses the normalization method to change the similarity of film into multi dimension weight of the user interest model,and calculates the weights of features of each dimension in the application of TF-IDF algorithm,in order to achieve dynamic update of the film weight and dimensions of feature weight by using content-based recommendation algorithm.In the MovieLens data set for experiment,results show that,the model has higher recommendation accuracy rate and recall rate,and can find user preferences on the film dimensions,solve the problems of user interest drift.
user interest model;personalized recommendation;dynamic update of weight;multi-dimension;similarity of dimension;interest drift
1000-3428(2014)09-0042-04
A
TP183
10.3969/j.issn.1000-3428.2014.09.009
國家“973”計劃基金資助項目“云服務(wù)多媒體應(yīng)用平臺的基礎(chǔ)架構(gòu)研究與應(yīng)用研究”(2012CB724106);國家自然科學基金資助項目(71240003);山東省自然科學基金資助項目(ZR2012FM003);青島市科技計劃基礎(chǔ)研究基金資助項目(KJZD-13-29-JCH);青島市開發(fā)區(qū)重點科技計劃基金資助項目(2013-1-25)。
任保寧(1988-),男,碩士研究生,主研方向:數(shù)據(jù)挖掘,智能推薦;梁永全,教授、博士生導(dǎo)師;趙建立(通訊作者),副教授;廉文娟,博士;李玉軍,研究員。
2013-05-20
2013-09-23E-mail:renbaoning2007@126.com