范慧婷 鐘春琳 龔海華
(中國科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 安徽 合肥 230027)
基于隱語義模型的個(gè)性化推薦
范慧婷 鐘春琳 龔海華
(中國科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 安徽 合肥 230027)
許多傳統(tǒng)的推薦方法如協(xié)同過濾和低秩矩陣分解都存在物品或用戶方面的稀疏性和冷啟動(dòng)問題。為了克服這兩方面的問題,提出一種基于隱語義模型的個(gè)性化推薦方法。通過對用戶行為進(jìn)行分析,利用隱語義模型推斷出用戶潛在的興趣因子,從而構(gòu)建用戶興趣特征矩陣來進(jìn)行個(gè)性化推薦。對現(xiàn)實(shí)的電影數(shù)據(jù)的實(shí)驗(yàn)證明了所提方法的有效性,并在準(zhǔn)確率、召回率和覆蓋率方面均優(yōu)于傳統(tǒng)的協(xié)同過濾方法和基于內(nèi)容的方法。
隱語義模型 稀疏性 冷啟動(dòng) 個(gè)性化推薦
隨著互聯(lián)網(wǎng)的快速發(fā)展,海量的信息呈現(xiàn)在用戶面前,比如各類新聞、電影、音樂、電子商務(wù)提供的商品等。這些信息種類繁雜,質(zhì)量和價(jià)值參差不齊,用戶(信息消費(fèi)者)需要花費(fèi)大量的時(shí)間從中獲得自己想要的信息,造成信息過載。這時(shí)就需要有技術(shù)或工具能夠幫用戶過濾掉不感興趣或者與所想要的信息不相關(guān)的信息。相對于經(jīng)典過濾工具如門戶網(wǎng)站(方案是分類目錄)和搜索引擎這類“被動(dòng)”地讓用戶獲取信息的方式,推薦系統(tǒng)考慮了用戶的個(gè)性化需求,是一種向用戶推薦可能感興趣的信息的智能化工具,能夠有效地解決信息過載問題[1]。
為了提供個(gè)性化推薦,系統(tǒng)需要收集用戶的各種數(shù)據(jù)。例如為了給用戶推薦電影,系統(tǒng)需要收集用戶的歷史觀影記錄。推薦系統(tǒng)通過挖掘用戶的歷史行為,為用戶興趣建模來找到用戶對物品的偏好,從而主動(dòng)地向用戶推薦他們可能感興趣的但之前沒有過行為的物品。
目前現(xiàn)存的大部分個(gè)性化推薦方法可以分為基于內(nèi)容的推薦、協(xié)同過濾以及混合方法[2-4]。下面將分別介紹這幾種方法及其優(yōu)缺點(diǎn)。
1.1 基于內(nèi)容的推薦
基于內(nèi)容的推薦方法為用戶推薦與過去所喜歡物品類似的物品[5]。例如我們知道某個(gè)用戶喜歡瀏覽金融類的新聞和哪些新聞是金融類的,則系統(tǒng)可能會(huì)推薦《保護(hù)主義或再次引發(fā)債務(wù)危機(jī)》這樣一篇新聞。該方法的前提是需要用戶歷史記錄(包括用戶已知的偏好、興趣等屬性信息)以及物品相關(guān)的特征信息,即需要豐富的領(lǐng)域知識(shí)。同時(shí)也設(shè)定用戶曾經(jīng)喜歡的物品的特征能夠反映用戶的偏好[6]。然后計(jì)算用戶與待推薦物品的相似度,最后為用戶推薦相似度高的物品。相似度的計(jì)算是該方法的關(guān)鍵部分,需要把用戶和物品映射到相同的特征空間。假設(shè)數(shù)據(jù)集中有I={Item1,Item2,…,Itemn}和m個(gè)用戶U={User1,User2,…,Userm},為了描述每個(gè)用戶和物品的屬性(內(nèi)容),把它們都表示為一個(gè)特征集合,即我們需要得到Itemi={wi1,wi2,…,wik},其中wik(1≤i≤n,k≤n)是物品i第k個(gè)特征的權(quán)重,以及Useri={wi1,wi2,…,wik},同理,wik(1≤i≤m,k≤m)是用戶i第k個(gè)特征的權(quán)重。
權(quán)重的眾多計(jì)算方法中,常用的是TF-IDF[7]。這個(gè)計(jì)算方法是一種基于文本的統(tǒng)計(jì)方法,在自然語言處理領(lǐng)域中應(yīng)用十分廣泛,可以用來提取關(guān)鍵詞。詞頻(TF)是指一個(gè)詞在指定文件中出現(xiàn)的次數(shù),逆文檔頻率(IDF)度量一個(gè)詞的重要性(權(quán)重)。如果按照詞頻來提取一篇文檔的特征,或者能表示這篇文檔的關(guān)鍵詞會(huì)有一個(gè)很大的問題,因?yàn)橥nD詞,如“的”、“是”、“在”,出現(xiàn)次數(shù)很多但卻不能表征一篇文檔,所以我們要給不同的詞添加不同權(quán)重。比如停頓詞應(yīng)該給一個(gè)很小的權(quán)重,而那些在其他文檔中很少出現(xiàn)的且本文檔中出現(xiàn)次數(shù)多的詞應(yīng)該給一個(gè)較大的權(quán)重。TF-IDF的函數(shù)為:
TF-IDF(ti,dj)=TF(ti,dj)×IDFi
(1)
式中:
(2)
(3)
式(2)中maxzfz,j是在文檔dj中所有詞tz的出現(xiàn)次數(shù)fz,j上計(jì)算得到的最大值,式(3)中|D|是語料庫中文檔總數(shù),|{j:ti∈dj}|是包含詞ti的文檔集合的數(shù)量。如果詞ti不在語料庫中,則除數(shù)會(huì)為零,所以一般情況下分母使用|{j:ti∈dj}|+1。
為了使權(quán)重落在[0,1]區(qū)間且用戶或物品能夠用相同數(shù)量的特征來表示,需要將式(1)歸一化:
(4)
現(xiàn)在我們需要得到基于內(nèi)容的推薦中用戶特征和待推薦物品特征的相似度。計(jì)算相似度的方法有很多,廣泛應(yīng)用的是利用余弦相似度。所以Useri與Itemj的相似度為:
(5)
1.2 基于協(xié)同過濾的推薦
基于協(xié)同過濾的推薦根據(jù)用戶對物品的評(píng)分或者其他行為(如點(diǎn)擊、購買)來進(jìn)行推薦,不同于基于內(nèi)容的推薦,該方法不需要得到用戶或物品的大量信息。例如學(xué)生Bob喜歡書籍A、書籍D,學(xué)生John喜歡書籍B、書籍C,學(xué)生Alice喜歡書籍A、書籍B、書籍D,從這些信息中我們發(fā)現(xiàn)學(xué)生Bob和學(xué)生Alice的對書籍的偏好比較類似,所以系統(tǒng)會(huì)把Alice喜歡的而Bob沒有看過的書籍B推薦給Bob?;趨f(xié)同過濾的推薦又分為基于用戶的協(xié)同過濾、基于項(xiàng)目的協(xié)同過濾和基于模型的協(xié)同過濾。
1.2.1 基于用戶的協(xié)同推薦
該方法首先挖掘與目標(biāo)用戶興趣、偏好相似的用戶群體,然后根據(jù)這個(gè)群體中用戶的歷史興趣偏好為目標(biāo)用戶推薦未曾有過行為的物品。
首先需要計(jì)算兩個(gè)用戶間的興趣/偏好相似度,找到與目標(biāo)用戶興趣相似的用戶群體。為了得到用戶興趣/偏好的相似度,主要利用用戶行為的相似度。假設(shè)有用戶u和用戶v,N(u)、N(v)分別表示用戶u、v歷史行為中有過正反饋的物品集。正反饋是指明確表現(xiàn)了用戶對物品喜好的行為中用戶喜歡某物品的行為,比如用戶在觀影網(wǎng)站中對某部電影評(píng)分5分(最高分)的行為為正反饋。計(jì)算用戶u、v的興趣/偏好相似度可以通過Jaccard公式:
(6)
或者通過余弦相似度:
(7)
得到用戶之間的興趣/偏好相似度后,基于用戶的協(xié)同過濾算法得到與目標(biāo)用戶興趣最相似的K個(gè)用戶,然后為目標(biāo)用戶推薦這K個(gè)用戶喜歡的而目標(biāo)用戶以前沒有行為的物品。用戶u對物品i的感興趣程度可以用以下公式計(jì)算:
(8)
式中:
1)S(u,K)為與用戶u興趣最相似的K個(gè)用戶集合;
2)N(i)表示對物品i有過行為的用戶集合;
3)wuv是用戶u和用戶v的興趣相似度;
4)rvi表示用戶v對物品i的興趣,比如用戶對電影的評(píng)分?jǐn)?shù)據(jù)。
1.2.2 基于物品的協(xié)同過濾算法
該協(xié)同過濾算法給用戶推薦的物品和他們之前喜歡的物品是相似的[8-9]?;趦?nèi)容推薦算法根據(jù)物品的內(nèi)容屬性來計(jì)算物品間的相似度,而基于物品的協(xié)同過濾算法是根據(jù)用戶的歷史行為來計(jì)算物品間的相似度,比如物品i和物品j相似度高是由于喜歡物品i的用戶基本也喜歡物品j。物品i和物品j的相似度計(jì)算公式為:
(9)
式中:N(i)、N(j)分別是喜歡物品i、j的用戶數(shù),|N(i)∩N(j)|為既喜歡物品i又喜歡物品j的用戶數(shù)。
最相似的K個(gè)物品,并通過下面的公式計(jì)算用戶u對物品i的興趣:
(10)
式中:
1)S(i,K)為與物品i最相似的K個(gè)物品集合;
2)N(u)是用戶u喜歡的物品集合;
3)wij是物品i和物品j的相似度;
傳統(tǒng)的鉆井施工經(jīng)驗(yàn)及模式在施工中根深蒂固,抓住“三個(gè)一”精準(zhǔn)化鉆井施工模式這一關(guān)鍵,推動(dòng)“五個(gè)轉(zhuǎn)變”,實(shí)現(xiàn)鉆井工作的高端化。
4)rui表示用戶u對物品i的興趣。
1.2.3 基于隱語義模型的協(xié)同過濾算法
前兩種協(xié)同過濾算法屬于基于領(lǐng)域的模型,因?yàn)樗鼈冎饕P(guān)注用戶之間或物品之間的相似性。而隱語義模型把用戶和物品映射到相同的隱語義空間,通過隱含特征把用戶的興趣和物品進(jìn)行關(guān)聯(lián)[10],這些隱含的特征可以解釋用戶的喜好(評(píng)分)。比如在對用戶Alice進(jìn)行電影推薦時(shí),我們可以首先對他的興趣分類,然后從分類中推薦符合他喜好的物品。假設(shè)有用戶-物品評(píng)分矩陣Cm×n(m個(gè)用戶,n個(gè)物品),通過不斷對訓(xùn)練數(shù)據(jù)進(jìn)行迭代學(xué)習(xí),可以把Cm×n分解成用戶特征矩陣P(P∈Rm×f,f是指特征數(shù))和物品特征矩陣X(X∈Rn×f),如公式所示:
Cm×n=P×XT
(11)
在這里,通過下面的式(12)計(jì)算用戶u對物品i的興趣:
(12)
式中:pu、xi分別是P、X中的行向量。
1.3 基于混合的推薦
上述的各種推薦算法都有其一定的局限性,比如基于內(nèi)容的推薦,其推薦結(jié)果只是那些與用戶曾經(jīng)有過行為的物品相似度高的物品,缺乏新穎性。基于用戶的協(xié)同過濾推薦在網(wǎng)站的用戶越來越多時(shí),維護(hù)用戶相似度矩陣代價(jià)很大?;谖锲返膮f(xié)同過濾推薦,當(dāng)物品列表更新很快時(shí)會(huì)很不穩(wěn)定。如果能夠?qū)追N算法組合在一種推薦算法里,充分利用各種算法的優(yōu)點(diǎn),使推薦結(jié)果令用戶更加滿意的話,混合推薦就應(yīng)運(yùn)而生了。Burke[11]提出了七種不同的混合策略:加權(quán)、交叉、切換、串聯(lián)、分層、特征組合和特征補(bǔ)充。目前,基于協(xié)同過濾和基于內(nèi)容的推薦方法的混合推薦是最常見的[12-17]。文獻(xiàn)[5]中提出了兩種主要的混合思路:推薦結(jié)果混合和推薦算法混合。前者是將兩種或者多種推薦方法的推薦結(jié)果混合得到最終的推薦結(jié)果[13,17],后者是以某種推薦方法為基準(zhǔn),混合其他的推薦方法[18-19]。
前面已經(jīng)簡單介紹了隱語義模型,用其來進(jìn)行協(xié)同過濾的主要目標(biāo)是揭示用戶隱藏的特征,當(dāng)為用戶興趣建模時(shí)能夠得到更加全面的興趣特征。上文中提到的方法都存在項(xiàng)目或者用戶的數(shù)據(jù)稀疏性和冷啟動(dòng)問題,本文將通過充分利用用戶行為隱性反饋和隱語義模型來解決這兩個(gè)問題。
用戶的行為分為兩種:顯示反饋和隱式反饋。顯示反饋主要是用戶的評(píng)分行為,能明顯地反映用戶的興趣/偏好,比如對電影評(píng)分5分代表喜歡,1分代表不喜歡。而隱式反饋主要是用戶行為日志,比如瀏覽新聞日志、聽歌日志,這些行為能隱含地表達(dá)用戶的興趣/偏好。在隱式反饋數(shù)據(jù)集中,又可以分為正反饋和負(fù)反饋。正反饋指用戶的行為表明他喜歡某種物品,負(fù)反饋指用戶的行為表明他對某種物品不感興趣。比如,瀏覽新聞時(shí)用戶點(diǎn)擊一條新聞或者再其上細(xì)想超過一個(gè)閾值時(shí)間能夠表明該用戶確定的偏好,而沒有點(diǎn)擊或者花極少的時(shí)間在一條新聞上則可以解釋為負(fù)反饋。如果用戶在某個(gè)物品集上反饋信息,我們就能嘗試為該用戶的興趣建模。很多時(shí)候,數(shù)據(jù)集中用戶的負(fù)反饋信息很少,我們需要為其生成負(fù)反饋。
如何給每個(gè)用戶生成負(fù)反饋信息,文獻(xiàn)[20]中提出了以下幾種方法:
1) 把某用戶沒有過行為的物品作為負(fù)反饋;
2) 在某用戶沒有過行為的物品中均勻采樣得到一些物品作為負(fù)反饋;
3) 在第二種方法中保證采樣時(shí)該用戶的正負(fù)反饋信息數(shù)相當(dāng);
4) 在第二種方法中保證偏重對不熱門的物品進(jìn)行采樣。
這幾種方法中,第一種方法副本太多,計(jì)算難度大且精度很差。文獻(xiàn)[20]中的作者比較了后三種方法,發(fā)現(xiàn)第三種方法好于第二種,第二種好于第四種。所以我們采用的方法是在保證正負(fù)反饋信息量相當(dāng)?shù)耐瑫r(shí),選取那些用戶沒有行為卻很熱門的物品。
2.2 利用隱語義模型為用戶興趣建模
為了解決數(shù)據(jù)稀疏性問題,我們在為每個(gè)用戶的興趣建模時(shí)使用所有用戶的數(shù)據(jù)。我們方法的核心思想是為所有用戶建立一個(gè)隱因子空間,在這個(gè)空間里即使是從所有可用的數(shù)據(jù)中學(xué)習(xí)得到用戶的興趣模型,但是仍能保證每個(gè)用戶的興趣有自己的特征,是可區(qū)分的。
首先,我們把每個(gè)用戶的興趣特征矩陣Pm×f分為兩個(gè)部分:
2) 一個(gè)從物品特征到潛在因子的映射S∈Rk×f,由所有用戶共享。
所以用戶的興趣特征矩陣P構(gòu)建為P=US。接下來就把問題轉(zhuǎn)化為如何學(xué)習(xí)得到U和S。這里我們用U、S和X來近似用戶-物品交互矩陣C,即:
C≈USXT
(13)
通過優(yōu)化如下AUC損失函數(shù)我們可以學(xué)習(xí)到U和S。
λu‖U‖2+λs‖S‖2
(14)
(15)
(16)
(17)
根據(jù)隨機(jī)梯度下降法,通過式(15)、式(16)我們求得了U和S的偏導(dǎo)數(shù),也即梯度,現(xiàn)在需要找到合適的樣本。我們采用了自助抽樣法來隨機(jī)得到正-負(fù)反饋樣本對,再利用下面兩個(gè)公式不斷交替更新U和S直到收斂:
(18)
(19)
式中:α是迭代步長或?qū)W習(xí)速率,其取值需要不斷地實(shí)驗(yàn)得到。因?yàn)棣撂笕菀讓?dǎo)致結(jié)果在最優(yōu)值附近震蕩,而太小收斂的速度太慢。
因子特征矩陣S是解決稀疏性和冷啟動(dòng)問題的關(guān)鍵。那些只有有限交互數(shù)據(jù)的用戶能夠通過S從其他用戶的交互數(shù)據(jù)中獲益,因?yàn)镾是對所有用戶共享的,而且在迭代中每個(gè)用戶的實(shí)例都會(huì)用來更新S一次。所以,即使一個(gè)用戶在與物品交互后只獲得了他很少的特征,我們?nèi)匀荒軌蛴肧推斷得到較廣范圍的特征。
我們進(jìn)行了實(shí)驗(yàn)來驗(yàn)證我們所提方法在為用戶興趣建模方面的性能,并評(píng)估了我們的方法在用戶推薦結(jié)果上的指標(biāo)。
實(shí)驗(yàn)所使用的數(shù)據(jù)是MoiveLens 10M數(shù)據(jù)集,其中有71 567 用戶的10 000 054條評(píng)分?jǐn)?shù)據(jù)和10 681部電影的95 580條標(biāo)簽。
首先建立用戶-電影矩陣,然后用所有用戶與90%電影的交互矩陣作為訓(xùn)練集,剩下的10%作為測試數(shù)據(jù)集。實(shí)驗(yàn)中,我們的隱因子個(gè)數(shù)設(shè)為10,學(xué)習(xí)速率α為0.02,λu和λs均為0.01,之后我們進(jìn)行了本文所提出算法與基于內(nèi)容的推薦和基于物品的協(xié)同過濾推薦在準(zhǔn)確率、召回率和覆蓋率三個(gè)指標(biāo)上的比較。這三個(gè)評(píng)價(jià)指標(biāo)的計(jì)算公式如下:
(20)
(21)
(22)
式中:R(u)是為用戶u推薦的列表,T(u)是用戶u的觀看列表。
通過實(shí)驗(yàn),我們得到表1、表2所示的結(jié)果。
表1 不同推薦算法的TOP5推薦結(jié)果
表2 不同推薦算法的TOP10推薦結(jié)果
通過實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),我們提出的基于隱語義模型的推薦算法在這三個(gè)指標(biāo)上都優(yōu)于傳統(tǒng)的基于內(nèi)容的推薦和基于物品的協(xié)同過濾推薦。
我們提出了基于隱語義模型的推薦算法為用戶興趣建模,然后根據(jù)用戶興趣進(jìn)行推薦物品。隱語義模型是推薦精度最高的單一模型,利用這一優(yōu)勢,我們在電影推薦中使用了這一模型,并且通過實(shí)驗(yàn)驗(yàn)證了這一方法的優(yōu)越性。
今后的研究需要解決在使用隱語義模型進(jìn)行推薦時(shí),如何解決當(dāng)數(shù)據(jù)規(guī)模大時(shí),其計(jì)算效率的提高。
[1] Resnick P,Varian H R.Recommender systems[J].Communications of the ACM,1997,40(3):56-58.
[2] 許海玲,吳瀟,李曉東,等.互聯(lián)網(wǎng)推薦系統(tǒng)比較研究[J].軟件學(xué)報(bào),2009,20(2):350-362.
[3] 劉建國,周濤,汪秉宏.個(gè)性化推薦系統(tǒng)的研究進(jìn)展[J].自然科學(xué)進(jìn)展,2009,19(1):1-15.
[4] 王國霞,劉賀平.個(gè)性化推薦系統(tǒng)綜述[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(7):70-80.
[5] Lops Pasquale,De Gemmis M,Semeraro G.Content-based recommender systems:State of the art and trends[M].Recommender Systems Handbook.Springer US,2011:73-105.
[6] Jiang Peng,Zhu Yadong,Zhang Yi,et al.Life-stage Prediction for product recommendation in E-commerce[C]//Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD’15).ACM,2015:1879-1888.
[7] Salton Gerar.Automatic Text Processing:the Transformation,Analysis and Retrieval of Information by Computer[M].Boston:Addison-Wesley Longman Publishing Co.,Inc.,1989.
[8] Deshpande Mukund,Karypis George.Item-based top-N recommendation algorithms[J].ACM Transactions on Information Systems (TOIS),2004,22(1):143-177.
[9] Linden Greg,Smith Brent,York Jeremy.Amazon.com recommendations:item-to-item collaborative filtering[J].IEEE Internet Computing,2003,7(1):76-80.
[10] 項(xiàng)亮.推薦系統(tǒng)實(shí)戰(zhàn)[M].北京:人民郵電出版社,2012.
[11] Burke Robin.Hybrid recommender systems:survey and experiments[J].User Modeling and User-adapted Interaction,2002,12(4):331-370.
[12] Balabanovic M,Shoham Y.Fab:Content-based collaborative recommendation[J].Communications of the ACM,1997,40(3):66-72.
[13] Claypool M,Gokhale A,Miranda T,et al.Combining content-based and collaborative filters in an online newspaper[C]//Proc of the ACM SIGIR’99 Workshop Recommender Systems:Algorithms and Evaluation.New York:ACM Press,1999.
[14] Yu Xiao,Ren Xiang,Sun Yizhou,et al.Personalized entity recommendation:a heterogeneous information network approach[C]//Proceedings of the 7th ACM international conference on Web search and data mining (WSDM’14).ACM,2014:283-292.
[15] Vahedian Fatemeh.Weighted hybrid recommendation for heterogeneous networks[C]//Proceedings of the 8th ACM Conference on Recommender systems (RecSys’14).ACM,2014:429-432.
[16] Schwab I,Kobsa A,Koychev I.Learning user interests through positive examples using content analysis and collaborative filtering[J].Internal Memo,GMD,St.Augustin,Germany,2001.
[17] Tran Thomas,Cohen Robin.Hybrid recommender systems for electronic commerce[C]//Proc Knowledge-Base Electronic Markets,papers from the AAAI Workshop.Menlo Park:AAAI Press,2000:78-83.
[18] Zhang Y C,Blattner M,Yu Y K.Heat conduction process on community networks as a recommendation model[J].Physical review letters,2007,99(15):154301.
[19] Zhou T,Su R Q,Liu R R,et al.Accurate and diverse recommendations via elimination redundant correlations[J].New Journal of Physics,2009,11.
[20] Pan Rong,Zhou Yunhong,Cao Bin,et al.One-class collaborative filtering[C]//The Eighth IEEE International Conference on Data Mining(ICDM),2008.
LATENTFACTORMODELBASEDPERSONALIZEDRECOMMENDATION
Fan Huiting Zhong Chunlin Gong Haihua
(SchoolofComputerScienceandTechnology,UniversityofScienceandTechnologyofChina,Hefei230027,Anhui,China)
Many traditional recommendation methods, such as collaborative filtering or low rank matrix factorization, have data sparsity and cold-start problems on items or users. In order to overcome these two problems, this paper proposes a personalized recommendation method based on the latent factor model. By analyzing behaviors of users, we utilize latent factor model to infer user interest feature vector so as to make a personalized recommendation. Our two kinds of experiments on realistic movie data demonstrate the efficacy of the proposed method, as well as the superiority compared to traditional collaborative filtering methods and content-based methods.
Latent factor model Data sparsity Cold-start Personalized recommendation
2017-04-05。范慧婷,碩士生,主研領(lǐng)域:推薦系統(tǒng),隱私保護(hù)。鐘春琳,碩士生。龔海華,碩士生。
TP391
A
10.3969/j.issn.1000-386x.2017.12.039