王寧 胡慶春
摘 要: 對(duì)推薦算法進(jìn)行綜述和分析,針對(duì)目前推薦方法的用戶興趣不明顯,針對(duì)性較差等問題,提出一種基于訪問時(shí)間、資源種類和心情留言的推薦算法。其中,心情留言用于衡量用戶喜愛資源的程度,將該算法命名為TTM(Time-Types- Mood message)算法,并提出基于訪問時(shí)間、資源種類和心情留言的三種數(shù)據(jù)權(quán)重函數(shù)。該算法在學(xué)習(xí)系統(tǒng)中用于對(duì)用戶行為進(jìn)行分析。實(shí)驗(yàn)證明,這種TTM算法能夠做出合理的推薦,推薦質(zhì)量得到了提高。
關(guān)鍵詞: 用戶行為分析; 推薦算法; 學(xué)習(xí)系統(tǒng); 數(shù)據(jù)權(quán)重; 數(shù)據(jù)挖掘
中圖分類號(hào):TP393.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2015)11-04-04
Abstract: For the user interest is not obvious, targeted poor and other issues in the current recommendation methods, this article reviews and analyzes the recommendation algorithms,and a recommendation algorithm based on the access time, resource type and mood message is proposed. Among them, the mood message is used to measure the extent of the user's favorite resources. The algorithm is named TTM (Time-Types-Mood message) algorithm, and three data weighting functions is proposed based on the access time, resource type and mood message. The algorithm is applied to the learning system to analyze user behavior, and make verification to itself. The experimental results show that TTM algorithm can make a reasonable recommendation; the recommendation quality has been improved.
Key words: user behavior analysis; recommendation algorithm; learning system; data weight; data mining
0 引言
近年來,互聯(lián)網(wǎng)的普及和大量學(xué)習(xí)網(wǎng)站的出現(xiàn)使網(wǎng)絡(luò)學(xué)習(xí)已漸漸成為重要的學(xué)習(xí)方式之一。但網(wǎng)絡(luò)學(xué)習(xí)的迅速發(fā)展也帶來了一個(gè)新的問題:如何對(duì)學(xué)生網(wǎng)絡(luò)學(xué)習(xí)進(jìn)行分析并提供個(gè)性化的服務(wù)。
本文研究了通過一定的算法對(duì)用戶訪問數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,從而對(duì)用戶行為進(jìn)行分析,了解學(xué)習(xí)者的學(xué)習(xí)興趣和地域分布,以便進(jìn)一步改善網(wǎng)站結(jié)構(gòu)和為學(xué)習(xí)者提供個(gè)性化的服務(wù)并作出相應(yīng)的推薦。
1 相關(guān)研究工作
推薦系統(tǒng)是解決信息負(fù)載的有效工具,通過挖掘用戶與數(shù)據(jù)之間的二元關(guān)系,幫助用戶從大量數(shù)據(jù)中發(fā)現(xiàn)其可能感興趣的內(nèi)容,并生成個(gè)性化推薦以滿足個(gè)性化需求。研究人員在過去十年中研究了大量協(xié)同過濾技術(shù),有研究將協(xié)同過濾技術(shù)分成兩種類型:基于記憶的啟發(fā)式方法和基于模型的方法[1]。隨著用戶數(shù)目和商品數(shù)量的不斷增加,協(xié)同過濾算法的數(shù)據(jù)稀疏性問題及其帶來的用戶相似性度量不準(zhǔn)確問題也越來越突出,這直接導(dǎo)致了系統(tǒng)的推薦質(zhì)量迅速下降。Pazzani M引入用戶的人口統(tǒng)計(jì)學(xué)信息,如年齡、性別、受教育程度等[2],對(duì)用戶評(píng)分稀疏的使用人口統(tǒng)計(jì)學(xué)信息來計(jì)算該用戶與其他用戶的相似度,避免使用評(píng)分?jǐn)?shù)據(jù)來計(jì)算用戶相似度,能夠在一定程度上緩解評(píng)分?jǐn)?shù)據(jù)稀疏的影響。為了避免評(píng)分?jǐn)?shù)據(jù)稀疏對(duì)用戶相似度計(jì)算的影響,胡勛等人將用戶社會(huì)關(guān)系引入到推薦系統(tǒng)中,利用用戶社會(huì)關(guān)系進(jìn)行推薦[3]。針對(duì)數(shù)據(jù)稀疏性問題,為了提高系統(tǒng)推薦效率,研究者提出了各種改進(jìn)算法[4]。比如:基于項(xiàng)目特征中提取用戶偏好的協(xié)同過濾算法[5],其中提出一種使用項(xiàng)目域的特征來構(gòu)造用戶偏好模型的方法,并將模型融入CF(Collaborative Filtering)域的框架,這種框架可以對(duì)和其他用戶沒有共同項(xiàng)目的用戶做出推薦。然而,該算法只適用特定的領(lǐng)域,在其他領(lǐng)域并不能做出很好的推薦。還有研究者提出:合并信任的協(xié)同過濾算法[6],提出一種新的基于信任的方法“merge”,這種方法可以通過系統(tǒng)的活躍用戶明確指定可信鄰居,以提高整體推薦性能和改善數(shù)據(jù)稀疏性。然而,有些用戶可能不愿意分享和暴露隱私信息,因此算法的通用性還有些欠缺。Feng Xie等研究者提出:針對(duì)數(shù)據(jù)稀疏性和相關(guān)性的灰色預(yù)測(cè)推薦模型[7],采用余弦距離測(cè)量方法,根據(jù)相似性排序,然后采用灰色預(yù)測(cè)(Grey Forecast)模型進(jìn)行評(píng)級(jí)預(yù)測(cè),旨在解決稀疏性問題,但在用戶項(xiàng)目不足的時(shí)候,該算法還是有欠缺。這些算法都存在一個(gè)問題,就是忽略了用戶興趣的動(dòng)態(tài)變化,且針對(duì)性較差,可能導(dǎo)致推薦的資源偏離了用戶需求。
本文提出的TTM算法不但考慮了項(xiàng)目特征,也考慮了用戶興趣的動(dòng)態(tài)變化,同時(shí)引入心情留言這一權(quán)重,以衡量用戶喜愛資源的程度,使推薦更有針對(duì)性。
2 研究要點(diǎn)及基本方法
在TTM算法中有三種數(shù)據(jù)權(quán)重。其中,基于訪問時(shí)間和資源種類的權(quán)重在其他文獻(xiàn)中已有驗(yàn)證[8],且實(shí)驗(yàn)結(jié)果表明,其推薦質(zhì)量比傳統(tǒng)的協(xié)同過濾算法要高,在此基礎(chǔ)上我們又引入了心情留言這一數(shù)據(jù)權(quán)重,提出了權(quán)重函數(shù),并對(duì)算法進(jìn)行了驗(yàn)證。在驗(yàn)證過程中,我們采用了自己建立的學(xué)習(xí)網(wǎng)站,在網(wǎng)站中制作心情留言模塊,用戶可以進(jìn)行打分,并在數(shù)據(jù)庫中保存有相應(yīng)的記錄,采用網(wǎng)站中記錄的數(shù)據(jù),然后依據(jù)三種權(quán)重函數(shù)對(duì)資源進(jìn)行打分并排序,得到推薦集后,與實(shí)際記錄進(jìn)行比對(duì),計(jì)算出推薦的準(zhǔn)確率。
3 TTM算法
3.1 算法的提出
在推薦系統(tǒng)領(lǐng)域,人們往往只關(guān)注“用戶-數(shù)據(jù)”之間的關(guān)聯(lián)關(guān)系,而較少考慮它們所處的上下文環(huán)境(如時(shí)間、位置、周圍人員、情緒、活動(dòng)狀態(tài)、網(wǎng)絡(luò)條件等等)。但是,在許多應(yīng)用場(chǎng)景下,僅僅依靠“用戶-數(shù)據(jù)”二元關(guān)系并不能生成有效推薦[9]。所以本文將用戶的心情留言作為一種數(shù)據(jù)權(quán)重,因?yàn)橛脩舻男那榭梢苑从吵鰧?duì)資源的喜愛程度,可能會(huì)對(duì)推薦效果產(chǎn)生影響。
另外,本文還將訪問時(shí)間和資源種類兩種數(shù)據(jù)權(quán)重引入算法中,由于用戶近期訪問過的資源對(duì)于推薦該用戶未來可能感興趣的資源有著重要的作用,而早期的訪問記錄可能對(duì)生成推薦影響較小,因此我們引入了這種數(shù)據(jù)權(quán)重。由于不同用戶興趣變化速度和規(guī)律不同,且用戶的興趣有反復(fù),所以用戶早期訪問的資源往往對(duì)于生成推薦也很重要,單純使用基于訪問時(shí)間的數(shù)據(jù)權(quán)重,削弱了所有早期資源在推薦計(jì)算中的作用,可能對(duì)推薦效果產(chǎn)生負(fù)面影響。因此我們引入這種數(shù)據(jù)權(quán)重,即資源種類。
綜上所述,本文提出一種基于訪問時(shí)間、資源種類和心情留言的推薦算法,我們將其命名為TTM(Time-Types-Mood message)算法。
3.2 三種權(quán)重函數(shù)
3.2.1 基于訪問時(shí)間的數(shù)據(jù)權(quán)重
設(shè)Dui表示用戶u訪問資源i的時(shí)間與用戶u最早訪問某資源的時(shí)間間隔(在數(shù)據(jù)庫中有相應(yīng)的時(shí)間記錄),定義基于時(shí)間的權(quán)重函數(shù)WT(u,i)表示資源i對(duì)用戶u的權(quán)重,它是一個(gè)和Dui相關(guān)的函數(shù)值。為了突出用戶u近期訪問過的資源的重要性,權(quán)重函數(shù)應(yīng)該設(shè)計(jì)成關(guān)于Dui的非遞減函數(shù),即對(duì)于Dui>Duj,有WT(u,i)≥WT(u,j)。將基于訪問時(shí)間的權(quán)重函數(shù)作如下定義:
上式是一個(gè)線形函數(shù),其中Lu表示用戶u使用推薦系統(tǒng)的時(shí)間跨度,即該用戶最早訪問某資源的時(shí)間與最近訪問某資源的時(shí)間間隔,a∈(0,1),稱為權(quán)重增長(zhǎng)指數(shù)。改變a的值可以調(diào)整權(quán)重隨時(shí)間變化的速度。a越大權(quán)重增長(zhǎng)速度越快,a的大小可以影響到算法性能,可以動(dòng)態(tài)調(diào)整a的值來優(yōu)化推薦效果。
3.2.2 基于資源種類的數(shù)據(jù)權(quán)重
設(shè)用戶u的資源集合為Iu,通過定義一個(gè)時(shí)間窗(time window)T,獲取用戶u最近T時(shí)段內(nèi)訪問過的資源集合為IuT,IuT在一定程度上反映了用戶的近期興趣。對(duì)于資源i∈Iu,無論u訪問i的時(shí)間早晚,如果u的近期訪問資源集IuT中很多資源和i類型和格式相似度很高,說明資源i和用戶的當(dāng)前興趣很相關(guān),則在未來一段時(shí)間內(nèi),u感興趣的資源很可能也和資源i種類相似,即資源i對(duì)生成用戶u的推薦起比較重要的作用。因此可以定義基于資源種類的權(quán)重函數(shù)WS(u,i)衡量資源i和用戶u當(dāng)前興趣的相關(guān)程度,它可以通過i和IuT的總體種類相似度sim(i,IuT)計(jì)算,而i和IuT總體種類相似度可以通過計(jì)算i和IuT中每個(gè)資源j的平均種類相似度來表示:
其中,size(IuT)表示IuT中的資源數(shù)目。通過改變時(shí)間窗T 的長(zhǎng)短,可以得到不同的近期訪問集合IuT,從而影響推薦效果[8]。
3.2.3 基于心情留言的數(shù)據(jù)權(quán)重
通過用戶的心情留言可以獲取用戶更加喜歡的資源,用戶的心情留言評(píng)分越高,用戶對(duì)這種資源的喜歡程度就越高,該資源就更適合推薦給用戶。設(shè)用戶心情留言中獲得好評(píng)的資源集合為IuM,用戶u的資源集合為Iu,對(duì)于資源i∈Iu,如果i的資源類型和IuM中的很多資源相似度很高,用戶u感興趣的資源很可能也和資源i類型相似,即資源i對(duì)生成用戶u的推薦起比較重要的作用。因此可以定義基于心情留言的權(quán)重函數(shù)WM(u,i)衡量資源i和用戶u當(dāng)前興趣的相關(guān)程度,它可以通過i和IuM的總體種類相似度sim(i,IuM)計(jì)算,而i和IuM總體種類相似度可以通過計(jì)算i和IuM中每個(gè)資源j的平均種類相似度來表示:
其中,size(IuM)表示IuM中的資源數(shù)目。通過以上函數(shù)進(jìn)行用戶評(píng)分計(jì)算,可以得到適合推薦給用戶的資源。
考慮將三個(gè)權(quán)重函數(shù)以一定的比例因子結(jié)合起來,定義基于訪問時(shí)間、資源種類和心情留言的函數(shù):
其中,比例因子α,β,γ∈[0,1]分別代表三種權(quán)重值所占的比例,且α+β+γ=1。通過選擇合適的值,可以將三種加權(quán)方法結(jié)合起來,從而進(jìn)一步提高推薦算法的準(zhǔn)確率。
3.3 TTM算法驗(yàn)證及效果評(píng)價(jià)
3.3.1 實(shí)驗(yàn)驗(yàn)證
如圖1,在我們網(wǎng)站的心情留言模塊設(shè)置了用戶心情打分一欄(5,4,3,2,1分)以及留言板,用來獲取該用戶當(dāng)時(shí)的心情和是否喜歡該類資源及喜歡的程度,網(wǎng)站中還有該用戶訪問資源的時(shí)間和類型記錄,分別作為資源訪問時(shí)間和資源種類兩個(gè)參數(shù),帶入算法進(jìn)行計(jì)算。
我們采用網(wǎng)站進(jìn)行了實(shí)驗(yàn),保留了用戶對(duì)站內(nèi)資源的有效訪問記錄,取用戶樣本進(jìn)行實(shí)驗(yàn),把每個(gè)用戶最近7天的訪問數(shù)據(jù)隱藏起來用于測(cè)試算法。其余訪問數(shù)據(jù)用于用戶評(píng)分的計(jì)算以獲得推薦集。如果推薦集中的某個(gè)資源i出現(xiàn)在該用戶測(cè)試數(shù)據(jù)中的訪問記錄里,則表示生成了一個(gè)正確推薦。評(píng)估我們的算法推薦精度的標(biāo)準(zhǔn)為:
3.3.2 實(shí)驗(yàn)結(jié)果及分析
通過采集樣本的數(shù)據(jù)計(jì)算,得到的結(jié)果準(zhǔn)確率在10%上下波動(dòng),取部分樣本的準(zhǔn)確率作圖,得到圖3。
其中,取n=20,=10.07%(20個(gè)樣本準(zhǔn)確率的平均值),計(jì)算可得方差S2=0.0011
實(shí)驗(yàn)結(jié)果準(zhǔn)確率平均值為10.07%,樣本方差為0.0011,方差較小,說明準(zhǔn)確率的波動(dòng)程度不大,由圖3也可以看出實(shí)驗(yàn)結(jié)果準(zhǔn)確率在10%上下波動(dòng),且波動(dòng)程度不是很大,證明TTM算法可行,可以做出有效推薦,且準(zhǔn)確率較高。
4 結(jié)束語
本文針對(duì)推薦系統(tǒng)中的推薦針對(duì)性較差,無法實(shí)時(shí)的發(fā)現(xiàn)用戶興趣變化等問題,提出了三種改進(jìn)的數(shù)據(jù)權(quán)重,并將三種權(quán)重結(jié)合,提出TTM算法。通過實(shí)驗(yàn)驗(yàn)證了該算法,結(jié)果表明,這種基于訪問時(shí)間、資源種類和心情留言的推薦算法能夠做出合理推薦,準(zhǔn)確率較高,針對(duì)性較強(qiáng),且能夠?qū)崟r(shí)獲取用戶偏好,使推薦質(zhì)量得到了提高。下一步我們將進(jìn)一步完善算法,改變各種權(quán)重的比例因子、時(shí)間窗T和權(quán)重增長(zhǎng)指數(shù)等,以便針對(duì)不同的用戶選取不同的方案。另外,我們也會(huì)取更多的樣本和數(shù)據(jù)集,進(jìn)一步擴(kuò)大實(shí)驗(yàn)。
對(duì)用戶行為進(jìn)行分析不僅有利于電子商務(wù)網(wǎng)站的發(fā)展,對(duì)于學(xué)習(xí)系統(tǒng)也有著重要的意義,其應(yīng)用有廣闊的前景,值得我們?nèi)ヌ剿骱脱芯俊?/p>
參考文獻(xiàn)(References):
[1] Candillier L, Meyer F, Boullé M.Comparing State-of-
the-art Collaborative Filtering Systems[C]//Proc.of Conference on Machine Learning and Data Mining in Pattern Recognition. Berlin Germany: Springer,2007:548-562
[2] Pazzani M. A framework for collaborative, content-based,
and demographic filtering. Artificial Intelligence Review,1999.13(5-6):393-408
[3] 胡勛,孟祥武,張玉潔,史艷翠.一種融合項(xiàng)目特征和移動(dòng)用戶
信任關(guān)系的推薦算法[J].軟件學(xué)報(bào),2014.25(8):1817-1830
[4] 韋素云,業(yè)寧,楊旭兵.結(jié)合項(xiàng)目類別和動(dòng)態(tài)時(shí)間加權(quán)的協(xié)同
過濾算法[J].計(jì)算機(jī)工程,2014.40(6):206-210
[5] Jing Zhang, Qinke Peng, Shiquan Sun, Che Liu.
Collaborative filtering recommendation algorithm based on user preference derived from item domain features[J].Physica A: Statistical Mechanics and its Applications,2014.396(2):66-76
[6] Guibing Guo, Jie Zhang, Daniel Thalmann.Merging trust in
collaborative filtering to alleviate data sparsity and cold start[J].Knowledge-Based Systems,2014.57(2):57-68
[7] Feng Xie, Zhen Chen, Jiaxing Shang, Geoffrey C. Fox.
Grey Forecast model for accurate recommendation in presence of data sparsity and correlation[J].Knowledge-
Based Systems,2014.69(10):179-190
[8] 邢春曉,高鳳榮,戰(zhàn)思南,等.適應(yīng)用戶興趣變化的協(xié)同過濾推
薦算法[J].計(jì)算機(jī)研究與發(fā)展,2007.44(2):296-301
[9] 王立才,孟祥武,張玉潔.上下文感知推薦系統(tǒng)[J].軟件學(xué)報(bào),
2012.23(1):1-20