王曉耘 趙 菁 徐作寧(杭州電子科技大學(xué)管理科學(xué)與工程,浙江 杭州 310018)
以用戶(hù)原創(chuàng)內(nèi)容為標(biāo)志的Web2.0的出現(xiàn)和流行,用戶(hù)角色從被動(dòng)的消費(fèi)者轉(zhuǎn)為積極的內(nèi)容生產(chǎn)者。CiteUlike、YouTube、Delicious、Flickr等社會(huì)化標(biāo)注系統(tǒng)不斷涌現(xiàn),吸引了大量用戶(hù)興趣。標(biāo)簽作為社會(huì)化標(biāo)注系統(tǒng)的載體,成為Web2.0時(shí)代下一種重要的信息組織形式,越來(lái)越多學(xué)者對(duì)標(biāo)簽展開(kāi)研究。將標(biāo)簽與協(xié)同過(guò)濾等個(gè)性化推薦技術(shù)結(jié)合起來(lái),大大提高了推薦效果,同時(shí)在一定程度上克服了推薦系統(tǒng)冷啟動(dòng)問(wèn)題。
社會(huì)化標(biāo)注系統(tǒng)是Web2.0環(huán)境下的典型應(yīng)用,用戶(hù)采用標(biāo)簽的方式對(duì)自身感興趣的網(wǎng)絡(luò)資源進(jìn)行無(wú)約束標(biāo)注,且所有用戶(hù)標(biāo)注互為可見(jiàn)。目前基于標(biāo)簽的用戶(hù)興趣研究中,主要基于兩種方式:
Li L等[1]對(duì)標(biāo)簽下的用戶(hù)和字眼聚類(lèi),采用關(guān)聯(lián)規(guī)則算法尋找頻繁共現(xiàn)的標(biāo)簽,最后建立基于標(biāo)簽主題的用戶(hù)群與資源群;Kim H N等[2]將標(biāo)簽作為用戶(hù)偏好指標(biāo),挖掘出與用戶(hù)相關(guān)及不相關(guān)的主題,依據(jù)其他相似用戶(hù)的協(xié)同拓展用戶(hù)個(gè)人興趣模型;Ferrara F等[3]以單一用戶(hù)標(biāo)簽集提取該用戶(hù)興趣主題并產(chǎn)生個(gè)性化推薦,該方法可根據(jù)用戶(hù)特定興趣主題自適應(yīng)過(guò)濾并合并用戶(hù)反饋;夏寧霞等[4]基于自然法和共現(xiàn)法思想,在用戶(hù)興趣模型中引入單個(gè)標(biāo)簽和標(biāo)簽對(duì),更全面、準(zhǔn)確反映用戶(hù)興趣偏好;Tao Z等[5]借鑒數(shù)據(jù)場(chǎng)理論,通過(guò)計(jì)算每個(gè)標(biāo)簽潛在權(quán)值,將權(quán)值最大的標(biāo)簽作為代表標(biāo)簽,將以它為中心、權(quán)值遞減的其他標(biāo)簽劃為一類(lèi),進(jìn)行用戶(hù)興趣主題提取。
Wu B X等[6]利用LDA方法提取用戶(hù)興趣主題,利用多視點(diǎn)用戶(hù)相似性方法計(jì)算興趣主題、資源及標(biāo)簽相似性,建立相似形圖,最后挖掘該圖實(shí)現(xiàn)基于用戶(hù)興趣的推薦;易明等[7]構(gòu)建了網(wǎng)站層次和用戶(hù)層次的社會(huì)化標(biāo)簽網(wǎng)絡(luò),基于該網(wǎng)絡(luò)進(jìn)行社團(tuán)結(jié)構(gòu)分析,得到社會(huì)化標(biāo)簽文檔和用戶(hù)標(biāo)簽網(wǎng)絡(luò),計(jì)算兩者相似度后建立細(xì)粒度用戶(hù)興趣模型;Yao D等[8]采用CPM識(shí)別出用戶(hù)興趣并劃分興趣主題,構(gòu)建資源網(wǎng)絡(luò)并計(jì)算各節(jié)點(diǎn)權(quán)重,基于此選出每個(gè)主題下的權(quán)威用戶(hù),將權(quán)威用戶(hù)經(jīng)常使用的標(biāo)簽推薦給普通用戶(hù),該方法提高了用戶(hù)標(biāo)注的質(zhì)量。
以上綜述可見(jiàn)大量學(xué)者利用標(biāo)簽挖掘用戶(hù)興趣時(shí),主要從標(biāo)簽數(shù)量和結(jié)構(gòu)上入手,但在社會(huì)化標(biāo)注系統(tǒng)中,標(biāo)簽的不可控性導(dǎo)致社會(huì)化標(biāo)簽存在語(yǔ)義模糊及數(shù)據(jù)稀疏性等問(wèn)題,如果直接使用標(biāo)簽構(gòu)建用戶(hù)興趣,精確度將大打折扣。此外,標(biāo)簽具有隨時(shí)間變化的動(dòng)態(tài)性,用戶(hù)興趣也具有動(dòng)態(tài)性及漂移性,利用主題的方法雖然解決了標(biāo)簽雜亂與冗余問(wèn)題,但這種靜態(tài)建模沒(méi)有刻畫(huà)出用戶(hù)興趣的動(dòng)態(tài)性。因此,將標(biāo)簽主題特征與興趣漂移性融合,建立更為準(zhǔn)確的用戶(hù)興趣模型,對(duì)實(shí)現(xiàn)高效的個(gè)性化推薦具有極大的實(shí)踐意義。
基于社會(huì)化標(biāo)簽的個(gè)性化推薦研究多基于應(yīng)用層面,以設(shè)計(jì)算法為主。Ma T等[9]在協(xié)同過(guò)濾技術(shù)基礎(chǔ)上融合用戶(hù)標(biāo)簽和社會(huì)關(guān)系,反映用戶(hù)動(dòng)態(tài)變化的個(gè)性化需求;Kim H N等[10]將社會(huì)化標(biāo)簽融入到適用于社區(qū)推薦的技術(shù)中,根據(jù)社區(qū)內(nèi)其他用戶(hù)的標(biāo)注向目標(biāo)用戶(hù)進(jìn)行推薦;馮勇等[11]分析用戶(hù)間信任關(guān)系,對(duì)協(xié)同過(guò)濾算法加以改進(jìn),有效提高推薦準(zhǔn)確性;孫甲申等[12]通過(guò)在主題模型中引入標(biāo)簽粒度,建立新模型解決主題與文檔不一致及部分標(biāo)簽與文檔內(nèi)容無(wú)關(guān)等問(wèn)題。目前這些方法都在一定程度上提高了推薦準(zhǔn)確率,但各方法都有待深入研究。易明等[13]在分析各類(lèi)方法優(yōu)缺點(diǎn)后,提出組合推薦的思想,結(jié)合基于社會(huì)化網(wǎng)絡(luò)的內(nèi)容推薦與協(xié)同過(guò)濾推薦,構(gòu)建了個(gè)性化知識(shí)推薦框架;劉健等[14]利用詞匯鏈的方法構(gòu)建資源描述向量,并考慮用戶(hù)動(dòng)態(tài)變化,利用動(dòng)態(tài)鄰居重組實(shí)現(xiàn)個(gè)性化推薦;魏建良等[15]提出主流標(biāo)簽的概念,通過(guò)分析標(biāo)簽平均標(biāo)注率確定主流標(biāo)簽數(shù)量,構(gòu)建用戶(hù)協(xié)同模型,同時(shí)結(jié)合用戶(hù)興趣度改進(jìn)模型。
本文在相關(guān)文獻(xiàn)研究基礎(chǔ)上,嘗試在興趣模型構(gòu)建時(shí)融入用戶(hù)社會(huì)關(guān)系網(wǎng)絡(luò),并提出興趣模型更新策略;然后結(jié)合協(xié)同過(guò)濾產(chǎn)生個(gè)性化推薦。該方法緩解了標(biāo)簽語(yǔ)義模糊等問(wèn)題,并考慮到用戶(hù)興趣漂移性,克服了傳統(tǒng)方法的局限性,能提高推薦準(zhǔn)確率。
社會(huì)化標(biāo)注系統(tǒng)中的用戶(hù)關(guān)系,是指單個(gè)用戶(hù)在社會(huì)化標(biāo)注系統(tǒng)的使用過(guò)程中,因自身需求形成了各種活動(dòng)(如關(guān)注、標(biāo)注、瀏覽等),隨著用戶(hù)數(shù)量增多,具有相似偏好、行為的單個(gè)用戶(hù)聚集成群體,通過(guò)用戶(hù)關(guān)系網(wǎng)絡(luò)分析可進(jìn)行群體用戶(hù)的偏好與行為分析。用戶(hù)關(guān)系形成過(guò)程如圖1所示。
圖1 和戶(hù)關(guān)系形成過(guò)程圖
Liu K等[16]在社會(huì)化標(biāo)注建模中引入了用戶(hù)社會(huì)關(guān)系,假設(shè)用戶(hù)間的信任關(guān)系是對(duì)等的,且信任級(jí)別呈平均分布,然后將用戶(hù)間邊權(quán)重定義為一種信任級(jí)別的函數(shù),采用隨機(jī)游走的相似度函數(shù)計(jì)算出用戶(hù)相似度,最后產(chǎn)生個(gè)性化推薦。實(shí)驗(yàn)結(jié)果表明這種基于用戶(hù)社會(huì)關(guān)系的個(gè)性化標(biāo)簽推薦算法效率有所提升。劉等人假設(shè)用戶(hù)信任關(guān)系是對(duì)稱(chēng)的,將用戶(hù)社會(huì)關(guān)系構(gòu)建為一個(gè)無(wú)向圖網(wǎng)絡(luò),邊權(quán)重為用戶(hù)信任級(jí)別函數(shù)得出的值。但在現(xiàn)實(shí)中,用戶(hù)在互聯(lián)網(wǎng)中添加或關(guān)注好友時(shí),形成的好友關(guān)系可以是單向的,也可以是雙向的,因此本文將用戶(hù)社會(huì)關(guān)系構(gòu)建為一個(gè)有向圖,將其應(yīng)用到標(biāo)簽主題模型進(jìn)行聚類(lèi)[17]。
本文構(gòu)建的用戶(hù)加權(quán)LDA標(biāo)簽主題模型通過(guò)提取標(biāo)簽主題刻畫(huà)用戶(hù)興趣,具體思想如圖2所示,建模分為3個(gè)過(guò)程:用戶(hù)社會(huì)關(guān)系建模、“用戶(hù)—標(biāo)簽”關(guān)系矩陣構(gòu)建,LDA建模分析。
第一階段,用戶(hù)社會(huì)關(guān)系建模及鏈接分析,獲取用戶(hù)影響度分?jǐn)?shù)。
基于社會(huì)化標(biāo)注系統(tǒng)中用戶(hù)關(guān)系的特點(diǎn),在劉[16]模型基礎(chǔ)上,本文構(gòu)建出一個(gè)有向圖模型,若用戶(hù)ui與其他用戶(hù)uj之間建立了某種鏈接關(guān)系,則在用戶(hù)ui與uj間添加一條指向uj的有向邊,若兩個(gè)用戶(hù)間存在互相鏈接關(guān)系,則用?將兩個(gè)用戶(hù)連接起來(lái)。將用戶(hù)社會(huì)關(guān)系加入到“用戶(hù)—標(biāo)簽”二元模型中,用虛線(xiàn)連接用戶(hù)與標(biāo)簽,虛線(xiàn)權(quán)重表示用戶(hù)標(biāo)注該標(biāo)簽頻次。
圖2 建模思路
通過(guò)鏈接分析獲取用戶(hù)影響度分?jǐn)?shù)。若一個(gè)用戶(hù)被其他影響度高的用戶(hù)建立鏈接,則該用戶(hù)也具備較高的影響度。每一條鏈接邊都視作一個(gè)互增強(qiáng)關(guān)系,并且用戶(hù)影響度可以通過(guò)所有的鏈接邊傳播,采用隨機(jī)游走算法計(jì)算用戶(hù)影響度。
首先設(shè)定G=(U,E,W)為用戶(hù)的社會(huì)關(guān)系圖,其中U={u1,u2,…,uU}為用戶(hù)集合,E?U*U為鏈接關(guān)系集合,W為U鄰接矩陣,定義公式(1),表示對(duì)于兩個(gè)頂點(diǎn)ui、uj,若存在1條ui→uj的邊,則wi,j=1,否則為0。
(1)
對(duì)于已建立的用戶(hù)社會(huì)關(guān)系圖G,根據(jù)鄰接矩陣W建立轉(zhuǎn)移概率矩陣P。定義公式(2)表示節(jié)點(diǎn)ui跳轉(zhuǎn)到uj的轉(zhuǎn)移概率。圖3展示了用戶(hù)關(guān)系鏈接分析過(guò)程。
(2)
圖3 用戶(hù)聯(lián)系鏈接分析
(3)
τ(n)=ζPτ(n-1)+(1-ζ)π
(4)
τ(∞)=(1-ζ)(1-ζP)-1π
(5)
本文設(shè)定參數(shù)ζ值為0.85,π服從均勻分布,迭代終止條件為:用戶(hù)影響度向量τ(n+1)與τ(n)符合=τ(n+1)-τ(n)=2/=τ(n)=2≤ψ,其中ψ指預(yù)先設(shè)定的閾值,取0.001。
第二階段,基于用戶(hù)加權(quán)的“用戶(hù)—標(biāo)簽”關(guān)系矩陣構(gòu)建。
假定U={u1,u2,…,um}為社會(huì)化標(biāo)注系統(tǒng)中m個(gè)用戶(hù)集合,R={r1,r2,…,rk}為k個(gè)被標(biāo)注的資源集合,T={t1,t2,…,tn}為用戶(hù)標(biāo)注的n個(gè)標(biāo)簽集合,u∈U,r∈R,t∈T,a=(u,r,t)∈A表示一次標(biāo)注行為,則社會(huì)化標(biāo)注行為可定義為四元組P=(U,T,R,A)。根據(jù)系統(tǒng)中用戶(hù)標(biāo)注行為可分解統(tǒng)計(jì)出用戶(hù)—標(biāo)簽二元關(guān)系矩陣Y。
根據(jù)Y,將每一個(gè)用戶(hù)的標(biāo)注行為表示為1個(gè)文本文檔,將其轉(zhuǎn)換為向量形式:
YT(u)=[t1,y(t1,u);t2,y(t2,u)…;ti,y(ti,u)…tT,y(tT,u)]
y(ti,u)表示為用戶(hù)u標(biāo)注過(guò)標(biāo)簽ti的次數(shù)。設(shè)用戶(hù)u的影響度分?jǐn)?shù)為τu,則基于標(biāo)注行為的用戶(hù)加權(quán)表示形式為:
g_YT(u)=[t1,gy(t1,u);t2,gy(t2,u)…;ti,gy(ti,u)…tT,gy(tT,u)]
gy(ti,u)表示標(biāo)簽ti在用戶(hù)u中的加權(quán)標(biāo)注頻次。可由公式(6)計(jì)算得出。
(6)
由于上文基于隨機(jī)游走的用戶(hù)影響度排序以均勻分布為初始分?jǐn)?shù),在迭代學(xué)習(xí)過(guò)后各節(jié)點(diǎn)的影響度分?jǐn)?shù)較小,若直接將其加權(quán)到用戶(hù)標(biāo)注行為上,則無(wú)法保證加權(quán)后的用戶(hù)標(biāo)注頻次為整數(shù)且總出現(xiàn)頻次降低。因此在不改變影響度分?jǐn)?shù)權(quán)重比例的情況下,將影響度分?jǐn)?shù)最小值對(duì)每個(gè)用戶(hù)的影響度分?jǐn)?shù)進(jìn)行定制,定制后的用戶(hù)影響度分?jǐn)?shù)與標(biāo)簽頻次值加權(quán)取整,這樣能提高高影響用戶(hù)低頻次標(biāo)簽在主題分配上的能力,降低低影響用戶(hù)高頻次標(biāo)簽在主題表達(dá)上的占比。
將“加權(quán)的用戶(hù)—標(biāo)簽語(yǔ)料庫(kù)”導(dǎo)入R中進(jìn)行LDA建模處理時(shí),需轉(zhuǎn)換成矩陣格式,如圖4所示。
第三階段:LDA建模分析。
根據(jù)上述加權(quán)的用戶(hù)—標(biāo)簽矩陣進(jìn)行LDA潛在語(yǔ)義主題建模,如圖5所示。
圖5 融合用戶(hù)加權(quán)的標(biāo)簽LDA模型
采用吉布斯采樣算法迭代學(xué)習(xí)出用戶(hù)標(biāo)簽的潛在主題,吉布斯采樣公式如公式(7)所示。
(7)
根據(jù)獲取到的用戶(hù)標(biāo)簽主題及主題概率分布,將用戶(hù)興趣模型抽象為若干主題分量,且每個(gè)主題由若干標(biāo)簽來(lái)描述。用戶(hù)興趣模型分為兩層:第一層興趣主題層——由LDA模型迭代學(xué)習(xí)出的標(biāo)簽語(yǔ)義主題及其權(quán)重構(gòu)成;第二層特征標(biāo)簽層——由相關(guān)語(yǔ)義主題下的標(biāo)簽及其權(quán)重構(gòu)成,如圖6所示。
圖6 用戶(hù)興趣模型簡(jiǎn)化
定義用戶(hù)多興趣模型由五元組表示:U={Z,T,W,F,P},其中Z為用戶(hù)興趣主題集合;T為各個(gè)興趣主題下對(duì)應(yīng)的標(biāo)簽集合;W為主題下各標(biāo)簽權(quán)值p(ti|zi=n);F為各標(biāo)簽遺忘因子,更新用戶(hù)興趣變化;P指用戶(hù)對(duì)興趣主題感興趣程度,即偏好程度p(zi=n|ui)。
(8)
式中,F(xiàn)(ti,j)表示興趣模型中第i個(gè)主題Topici下第j個(gè)標(biāo)簽的遺忘因子;cur代表當(dāng)前日期;tagged為標(biāo)簽最近被標(biāo)注的日期;hl指用戶(hù)興趣半衰期(由大量數(shù)據(jù)訓(xùn)練得到)。
本文通過(guò)調(diào)整用戶(hù)興趣主題及特征標(biāo)簽權(quán)值來(lái)反映用戶(hù)興趣變化,實(shí)現(xiàn)興趣模型更新。如圖7所示,模型更新流程如下:
2)針對(duì)用戶(hù)新添加標(biāo)簽情況,分以下3種情形對(duì)各主題與標(biāo)簽權(quán)重值重新調(diào)整:
a)用戶(hù)新添加標(biāo)簽tα可歸于興趣模型原來(lái)主題中,且該主題已包含該標(biāo)簽,則重新計(jì)算標(biāo)簽tα權(quán)重wi,j及該標(biāo)簽所在主題權(quán)重wi,同時(shí)將tα的遺忘因子中tagged日期改為當(dāng)前標(biāo)注日期;
b)用戶(hù)新添加標(biāo)簽tα可歸于興趣模型原來(lái)主題中,當(dāng)該主題沒(méi)有標(biāo)簽tα,則將該標(biāo)簽加入主題模型中,計(jì)算tα遺忘因子,將tagged日期改為當(dāng)前標(biāo)注日期,重新計(jì)算tα所在主題權(quán)重;
c)用戶(hù)新添加標(biāo)簽tα不能歸于興趣模型原來(lái)主題中,則將tα作為新主題加入主題模型中,計(jì)算tα的遺忘因子,將tagged日期改為當(dāng)前標(biāo)注日期,tα以權(quán)重作為新主題權(quán)重。
圖7 用戶(hù)興趣模型動(dòng)態(tài)更新流程圖
3)刪減舊標(biāo)簽:對(duì)用戶(hù)興趣模型中各主題下的所有標(biāo)簽按權(quán)重值降序排序,設(shè)定權(quán)重閾值δ,將小于δ的標(biāo)簽刪減并對(duì)各主題權(quán)重重新調(diào)整。
4)刪減舊主題:對(duì)用戶(hù)興趣模型中各主題按權(quán)重降序排序,設(shè)定主題權(quán)重閾值ξ,刪減小于ξ的主題。
由圖6可以看出,隨著砂粒含量的增大,砂質(zhì)黃土的黏聚力減小,砂粒含量從30%增長(zhǎng)至45%,黏聚力從6.08減至3.28,降幅為46%。曲線(xiàn)形態(tài)表現(xiàn)為先緩后陡,即當(dāng)砂粒含量小于35%時(shí)黏聚力隨砂粒含量的增加緩慢降低,當(dāng)砂粒含量大于35%時(shí)黏聚力隨砂粒含量的增加其降低趨勢(shì)增大。
傳統(tǒng)協(xié)同過(guò)濾算法依賴(lài)“用戶(hù)—資源評(píng)分”矩陣,系統(tǒng)中巨大的資源數(shù)量容易產(chǎn)生矩陣稀疏性問(wèn)題,并且僅根據(jù)用戶(hù)對(duì)資源的評(píng)分并不能完全刻畫(huà)用戶(hù)興趣偏好。基于此,本文引入社會(huì)化標(biāo)注改進(jìn)傳統(tǒng)協(xié)同過(guò)濾算法,具體算法流程如圖(8)所示。
Step1:鄰居用戶(hù)發(fā)現(xiàn)
用戶(hù)相似度計(jì)算:結(jié)合多層、多維用戶(hù)興趣模型,構(gòu)建用戶(hù)—標(biāo)簽語(yǔ)義主題的相關(guān)性矩陣,將用戶(hù)相似性轉(zhuǎn)換為興趣模型主題層向量的相似性計(jì)算。
采用修正的余弦相似度計(jì)算相似性,公式如下:
(9)
圖8 個(gè)性化推薦流程
圖9 用戶(hù)—主題矩陣
鄰居用戶(hù)選取:根據(jù)用戶(hù)相似度計(jì)算,采用閾值設(shè)置方法選取鄰居用戶(hù)集合。設(shè)定閾值δ,當(dāng)sim(u,v)大于δ時(shí),該用戶(hù)歸入鄰居用戶(hù)集合中。
Step2:資源集確定與特征表示
通過(guò)獲取鄰居用戶(hù)集合中用戶(hù)標(biāo)注、收藏或?yàn)g覽過(guò)的資源,過(guò)濾目標(biāo)用戶(hù)已標(biāo)注和已收藏的資源。得到這類(lèi)資源集的資源—標(biāo)簽關(guān)系矩陣X,矩陣X中的Xrt元素表示資源r被標(biāo)注過(guò)標(biāo)簽t的次數(shù),然后進(jìn)行LDA潛在語(yǔ)義主題建模,計(jì)算得到標(biāo)簽潛在語(yǔ)義主題及主題分布概率,基于此構(gòu)建資源—標(biāo)簽語(yǔ)義主題矩陣,如圖10所示,其主題分布概率p(zi=n|ri)為資源與標(biāo)簽語(yǔ)義主題相關(guān)度。
=圖10 資源—標(biāo)簽主題矩陣
Step3:個(gè)性化推薦產(chǎn)生
用戶(hù)對(duì)資源興趣度通過(guò)公式(10)計(jì)算,最后按照興趣度大小排序,采用Top-N方法推薦給目標(biāo)用戶(hù)。
(10)
本實(shí)驗(yàn)數(shù)據(jù)來(lái)源于CiteUlike站點(diǎn)(http://www.citeulike.org/)。CiteUlike屬于經(jīng)典的社會(huì)化標(biāo)注系統(tǒng),是一個(gè)免費(fèi)協(xié)助注冊(cè)用戶(hù)存儲(chǔ)、管理及分析學(xué)術(shù)文章的論文書(shū)簽網(wǎng)站,允許用戶(hù)自由收藏個(gè)人喜歡的論文、分享自身論文庫(kù)并可用添加標(biāo)簽的方式進(jìn)行標(biāo)注。當(dāng)用戶(hù)瀏覽其他用戶(hù)標(biāo)注的標(biāo)簽而對(duì)該用戶(hù)產(chǎn)生興趣時(shí),可通過(guò)“Connect”控件,建立與該用戶(hù)的鏈接關(guān)系。
本文使用Jsoup工具通過(guò)“Connections”接口抓取用戶(hù)間鏈接關(guān)系,采集到用戶(hù)相關(guān)標(biāo)注信息,包括用戶(hù)名、論文、標(biāo)簽、標(biāo)注時(shí)間等,如果用戶(hù)使用多個(gè)標(biāo)簽標(biāo)注同一篇文章,這些標(biāo)簽將存入多條數(shù)據(jù)記錄中。
抓取數(shù)據(jù)后,利用R語(yǔ)言對(duì)采集到的初步數(shù)據(jù)集做相關(guān)預(yù)處理,刪除不完整數(shù)據(jù),對(duì)某些用戶(hù)標(biāo)簽進(jìn)行中文分詞、對(duì)分詞后的標(biāo)簽去停用詞等操作。最后得到的實(shí)驗(yàn)數(shù)據(jù)集包括5 124個(gè)用戶(hù),8 245個(gè)標(biāo)簽,12 574篇論文,以及88 132個(gè)鏈接關(guān)系。示例數(shù)據(jù)如表1所示。
表1 標(biāo)注數(shù)據(jù)示例
本文希望從實(shí)用性、準(zhǔn)確性、完整性等方面考查改進(jìn)算法的性能,因此采用準(zhǔn)確率和召回率兩個(gè)指標(biāo)。
召回率(查全率)衡量所使用算法推薦了多少應(yīng)該被推薦的項(xiàng)目或資源,該值越高推薦系統(tǒng)性能越好。設(shè)n為用戶(hù)個(gè)數(shù),用戶(hù)i的測(cè)試集為T(mén)i,正確推薦的資源集為Pi,則召回率計(jì)算公式為:
(11)
準(zhǔn)確率考量推薦結(jié)果的準(zhǔn)確性,隨著推薦數(shù)量的增加準(zhǔn)確率會(huì)下降。設(shè)N為推薦資源的個(gè)數(shù),其計(jì)算公式為:
(12)
由于召回率和準(zhǔn)確率在一定程度上相互制衡,一般采用綜合評(píng)價(jià)指標(biāo)F-measure來(lái)衡量?jī)烧哧P(guān)系,計(jì)算公式為:
(13)
為驗(yàn)證本文提出的個(gè)性化推薦方法有效性,設(shè)計(jì)兩部分實(shí)驗(yàn)進(jìn)行驗(yàn)證:用戶(hù)興趣模型及模型更新方法驗(yàn)證、基于用戶(hù)興趣模型的個(gè)性化推薦算法驗(yàn)證。采用5層交叉驗(yàn)證將數(shù)據(jù)集分為5分,并依次選取一份作為測(cè)試集,其余4份為訓(xùn)練集,得到5個(gè)不同的測(cè)試集和訓(xùn)練集用于實(shí)驗(yàn)分析,各評(píng)估指標(biāo)依次得到5個(gè)測(cè)試結(jié)果,取其算數(shù)平均值為各指標(biāo)最終評(píng)估結(jié)果。
用戶(hù)興趣模型驗(yàn)證
該部分通過(guò)本文算法(MCF)與傳統(tǒng)協(xié)同過(guò)濾算法(CF)對(duì)比實(shí)驗(yàn),用召回率驗(yàn)證本文構(gòu)建興趣模型的有效性。由于鄰居用戶(hù)個(gè)數(shù)M取值大小對(duì)算法精度有一定影響,M取值過(guò)小則無(wú)法得到足夠的待推薦資源集合,取值過(guò)大會(huì)使算法搜索成本加大。實(shí)驗(yàn)選擇的M值從10增加到100,間隔為10,對(duì)比分析不同用戶(hù)模型對(duì)召回率的影響,實(shí)驗(yàn)結(jié)果如圖11所示:
=圖11 不同用戶(hù)模型對(duì)召回率影響
從圖11中可知,當(dāng)M值為35左右時(shí),兩種算法的召回率基本持平,當(dāng)鄰居用戶(hù)個(gè)數(shù)高于35時(shí),MCF召回率高于CF算法,這是由于CF算法是基于用戶(hù)共同關(guān)注資源的評(píng)分進(jìn)行相似度計(jì)算,而MCF是基于用戶(hù)興趣模型計(jì)算相似度,這里相似度的值與用戶(hù)共同標(biāo)注資源沒(méi)有絕對(duì)的關(guān)系,即存在相似度很大的用戶(hù)之間評(píng)價(jià)相同資源情況較少的現(xiàn)象。隨著M取值增大,召回率增大,當(dāng)鄰居個(gè)數(shù)在60左后,算法召回率趨于穩(wěn)定,故在后續(xù)實(shí)驗(yàn)中鄰居個(gè)數(shù)取60。
模型更新算法驗(yàn)證
該部分通過(guò)MCF與本文提出的基于遺忘因子更新的用戶(hù)興趣模型個(gè)性化推薦算法(UMCF)對(duì)比實(shí)驗(yàn),采用準(zhǔn)確率(Precision)指標(biāo)驗(yàn)證更新的用戶(hù)興趣模型是否能更準(zhǔn)確表達(dá)用戶(hù)興趣。
實(shí)驗(yàn)數(shù)據(jù)按照資源被標(biāo)注時(shí)間取訓(xùn)練集前80%,剩余20%為模型更新數(shù)據(jù)集,將訓(xùn)練數(shù)據(jù)集最后一條標(biāo)注時(shí)間設(shè)為建模時(shí)間,更新數(shù)據(jù)集最后一條標(biāo)注時(shí)間設(shè)為當(dāng)前時(shí)間,采用Top-N推薦方法,實(shí)驗(yàn)結(jié)果如圖12所示:
圖12 用戶(hù)興趣模型的更新對(duì)準(zhǔn)確率影響
UMCF算法相較于MCF推薦準(zhǔn)確率較高,由此說(shuō)明更新的用戶(hù)興趣模型對(duì)用戶(hù)興趣權(quán)值計(jì)算更為準(zhǔn)確,更加準(zhǔn)確表達(dá)用戶(hù)的興趣偏好。
推薦算法驗(yàn)證
將UMCF與傳統(tǒng)的標(biāo)簽協(xié)同過(guò)濾推薦(TCF)、標(biāo)簽關(guān)聯(lián)關(guān)系推薦算法(LC)對(duì)比實(shí)驗(yàn),推薦長(zhǎng)度從5逐漸增大,計(jì)算在此推薦長(zhǎng)度下的F-measure值,對(duì)其取算術(shù)平均值為最終評(píng)估結(jié)果。如圖13所示:
圖13 不同N值下的F-measure
由圖13可知,當(dāng)N取20時(shí),3種算法F-measure值最高,說(shuō)明在此推薦長(zhǎng)度下推薦綜合效果達(dá)到最好,MCF相較于LC、TCF,評(píng)估指標(biāo)F-measure值有所提高,這進(jìn)一步論證了本文提出的算法達(dá)到了更佳的推薦效果。
互聯(lián)網(wǎng)飛速發(fā)展為人們生活帶來(lái)諸多方便的同時(shí),信息過(guò)載等問(wèn)題也隨之而來(lái),個(gè)性化推薦技術(shù)的應(yīng)用在一定程度上使人們需求得到滿(mǎn)足,因此圍繞個(gè)性化推薦展開(kāi)的研究越來(lái)越多。本文基于社會(huì)化標(biāo)注系統(tǒng),從影響個(gè)性化推薦質(zhì)量的兩個(gè)核心——用戶(hù)興趣建模和個(gè)性化推薦算法切入展開(kāi)相關(guān)研究。
在社會(huì)化標(biāo)注系統(tǒng)中,用戶(hù)的標(biāo)注行為體現(xiàn)了其興趣偏好,標(biāo)簽也表達(dá)了資源特征及潛在屬性。然而由于標(biāo)簽存在語(yǔ)義模糊、歧義等問(wèn)題,制約著其在個(gè)性化推薦領(lǐng)域上的應(yīng)用。當(dāng)前眾多研究者僅從數(shù)量和結(jié)構(gòu)上考慮用戶(hù)與標(biāo)簽的關(guān)系,同時(shí)標(biāo)簽的時(shí)序動(dòng)態(tài)性也影響著用戶(hù)興趣模型的準(zhǔn)確率,限制著推薦模型的質(zhì)量。針對(duì)上述問(wèn)題,本文在已有研究基礎(chǔ)上進(jìn)行改進(jìn)和創(chuàng)新,提出基于社會(huì)化標(biāo)注的用戶(hù)興趣挖掘,構(gòu)建了個(gè)性化推薦算法,并通過(guò)實(shí)驗(yàn)對(duì)文中提出的改進(jìn)算法進(jìn)行驗(yàn)證分析。
但是本文尚有一些不足之處:例如在構(gòu)建用戶(hù)興趣模型時(shí),前提假設(shè)用戶(hù)只對(duì)感興趣的資源進(jìn)行標(biāo)注,對(duì)于某些用戶(hù)喜歡標(biāo)注不感興趣資源的情況未作考慮,因此在實(shí)際應(yīng)用中,可以進(jìn)一步研究“負(fù)面標(biāo)簽”識(shí)別問(wèn)題。用戶(hù)興趣建模時(shí)個(gè)性化推薦技術(shù)的核心,在建模過(guò)程中會(huì)涉及用戶(hù)隱私問(wèn)題,如何采用有效的隱私保護(hù)機(jī)制將是未來(lái)個(gè)性化推薦服務(wù)的研究方向之一。