王寧 胡慶春
摘 要: 對推薦算法進行綜述和分析,針對目前推薦方法的用戶興趣不明顯,針對性較差等問題,提出一種基于訪問時間、資源種類和心情留言的推薦算法。其中,心情留言用于衡量用戶喜愛資源的程度,將該算法命名為TTM(Time-Types- Mood message)算法,并提出基于訪問時間、資源種類和心情留言的三種數據權重函數。該算法在學習系統中用于對用戶行為進行分析。實驗證明,這種TTM算法能夠做出合理的推薦,推薦質量得到了提高。
關鍵詞: 用戶行為分析; 推薦算法; 學習系統; 數據權重; 數據挖掘
中圖分類號:TP393.0 文獻標志碼:A 文章編號: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 引言
近年來,互聯網的普及和大量學習網站的出現使網絡學習已漸漸成為重要的學習方式之一。但網絡學習的迅速發展也帶來了一個新的問題:如何對學生網絡學習進行分析并提供個性化的服務。
本文研究了通過一定的算法對用戶訪問數據進行數據挖掘,從而對用戶行為進行分析,了解學習者的學習興趣和地域分布,以便進一步改善網站結構和為學習者提供個性化的服務并作出相應的推薦。
1 相關研究工作
推薦系統是解決信息負載的有效工具,通過挖掘用戶與數據之間的二元關系,幫助用戶從大量數據中發現其可能感興趣的內容,并生成個性化推薦以滿足個性化需求。研究人員在過去十年中研究了大量協同過濾技術,有研究將協同過濾技術分成兩種類型:基于記憶的啟發式方法和基于模型的方法[1]。隨著用戶數目和商品數量的不斷增加,協同過濾算法的數據稀疏性問題及其帶來的用戶相似性度量不準確問題也越來越突出,這直接導致了系統的推薦質量迅速下降。Pazzani M引入用戶的人口統計學信息,如年齡、性別、受教育程度等[2],對用戶評分稀疏的使用人口統計學信息來計算該用戶與其他用戶的相似度,避免使用評分數據來計算用戶相似度,能夠在一定程度上緩解評分數據稀疏的影響。為了避免評分數據稀疏對用戶相似度計算的影響,胡勛等人將用戶社會關系引入到推薦系統中,利用用戶社會關系進行推薦[3]。針對數據稀疏性問題,為了提高系統推薦效率,研究者提出了各種改進算法[4]。比如:基于項目特征中提取用戶偏好的協同過濾算法[5],其中提出一種使用項目域的特征來構造用戶偏好模型的方法,并將模型融入CF(Collaborative Filtering)域的框架,這種框架可以對和其他用戶沒有共同項目的用戶做出推薦。然而,該算法只適用特定的領域,在其他領域并不能做出很好的推薦。還有研究者提出:合并信任的協同過濾算法[6],提出一種新的基于信任的方法“merge”,這種方法可以通過系統的活躍用戶明確指定可信鄰居,以提高整體推薦性能和改善數據稀疏性。然而,有些用戶可能不愿意分享和暴露隱私信息,因此算法的通用性還有些欠缺。Feng Xie等研究者提出:針對數據稀疏性和相關性的灰色預測推薦模型[7],采用余弦距離測量方法,根據相似性排序,然后采用灰色預測(Grey Forecast)模型進行評級預測,旨在解決稀疏性問題,但在用戶項目不足的時候,該算法還是有欠缺。這些算法都存在一個問題,就是忽略了用戶興趣的動態變化,且針對性較差,可能導致推薦的資源偏離了用戶需求。
本文提出的TTM算法不但考慮了項目特征,也考慮了用戶興趣的動態變化,同時引入心情留言這一權重,以衡量用戶喜愛資源的程度,使推薦更有針對性。
2 研究要點及基本方法
在TTM算法中有三種數據權重。其中,基于訪問時間和資源種類的權重在其他文獻中已有驗證[8],且實驗結果表明,其推薦質量比傳統的協同過濾算法要高,在此基礎上我們又引入了心情留言這一數據權重,提出了權重函數,并對算法進行了驗證。在驗證過程中,我們采用了自己建立的學習網站,在網站中制作心情留言模塊,用戶可以進行打分,并在數據庫中保存有相應的記錄,采用網站中記錄的數據,然后依據三種權重函數對資源進行打分并排序,得到推薦集后,與實際記錄進行比對,計算出推薦的準確率。
3 TTM算法
3.1 算法的提出
在推薦系統領域,人們往往只關注“用戶-數據”之間的關聯關系,而較少考慮它們所處的上下文環境(如時間、位置、周圍人員、情緒、活動狀態、網絡條件等等)。但是,在許多應用場景下,僅僅依靠“用戶-數據”二元關系并不能生成有效推薦[9]。所以本文將用戶的心情留言作為一種數據權重,因為用戶的心情可以反映出對資源的喜愛程度,可能會對推薦效果產生影響。
另外,本文還將訪問時間和資源種類兩種數據權重引入算法中,由于用戶近期訪問過的資源對于推薦該用戶未來可能感興趣的資源有著重要的作用,而早期的訪問記錄可能對生成推薦影響較小,因此我們引入了這種數據權重。由于不同用戶興趣變化速度和規律不同,且用戶的興趣有反復,所以用戶早期訪問的資源往往對于生成推薦也很重要,單純使用基于訪問時間的數據權重,削弱了所有早期資源在推薦計算中的作用,可能對推薦效果產生負面影響。因此我們引入這種數據權重,即資源種類。
綜上所述,本文提出一種基于訪問時間、資源種類和心情留言的推薦算法,我們將其命名為TTM(Time-Types-Mood message)算法。
3.2 三種權重函數
3.2.1 基于訪問時間的數據權重
設Dui表示用戶u訪問資源i的時間與用戶u最早訪問某資源的時間間隔(在數據庫中有相應的時間記錄),定義基于時間的權重函數WT(u,i)表示資源i對用戶u的權重,它是一個和Dui相關的函數值。為了突出用戶u近期訪問過的資源的重要性,權重函數應該設計成關于Dui的非遞減函數,即對于Dui>Duj,有WT(u,i)≥WT(u,j)。將基于訪問時間的權重函數作如下定義:
上式是一個線形函數,其中Lu表示用戶u使用推薦系統的時間跨度,即該用戶最早訪問某資源的時間與最近訪問某資源的時間間隔,a∈(0,1),稱為權重增長指數。改變a的值可以調整權重隨時間變化的速度。a越大權重增長速度越快,a的大小可以影響到算法性能,可以動態調整a的值來優化推薦效果。
3.2.2 基于資源種類的數據權重
設用戶u的資源集合為Iu,通過定義一個時間窗(time window)T,獲取用戶u最近T時段內訪問過的資源集合為IuT,IuT在一定程度上反映了用戶的近期興趣。對于資源i∈Iu,無論u訪問i的時間早晚,如果u的近期訪問資源集IuT中很多資源和i類型和格式相似度很高,說明資源i和用戶的當前興趣很相關,則在未來一段時間內,u感興趣的資源很可能也和資源i種類相似,即資源i對生成用戶u的推薦起比較重要的作用。因此可以定義基于資源種類的權重函數WS(u,i)衡量資源i和用戶u當前興趣的相關程度,它可以通過i和IuT的總體種類相似度sim(i,IuT)計算,而i和IuT總體種類相似度可以通過計算i和IuT中每個資源j的平均種類相似度來表示:
其中,size(IuT)表示IuT中的資源數目。通過改變時間窗T 的長短,可以得到不同的近期訪問集合IuT,從而影響推薦效果[8]。
3.2.3 基于心情留言的數據權重
通過用戶的心情留言可以獲取用戶更加喜歡的資源,用戶的心情留言評分越高,用戶對這種資源的喜歡程度就越高,該資源就更適合推薦給用戶。設用戶心情留言中獲得好評的資源集合為IuM,用戶u的資源集合為Iu,對于資源i∈Iu,如果i的資源類型和IuM中的很多資源相似度很高,用戶u感興趣的資源很可能也和資源i類型相似,即資源i對生成用戶u的推薦起比較重要的作用。因此可以定義基于心情留言的權重函數WM(u,i)衡量資源i和用戶u當前興趣的相關程度,它可以通過i和IuM的總體種類相似度sim(i,IuM)計算,而i和IuM總體種類相似度可以通過計算i和IuM中每個資源j的平均種類相似度來表示:
其中,size(IuM)表示IuM中的資源數目。通過以上函數進行用戶評分計算,可以得到適合推薦給用戶的資源。
考慮將三個權重函數以一定的比例因子結合起來,定義基于訪問時間、資源種類和心情留言的函數:
其中,比例因子α,β,γ∈[0,1]分別代表三種權重值所占的比例,且α+β+γ=1。通過選擇合適的值,可以將三種加權方法結合起來,從而進一步提高推薦算法的準確率。
3.3 TTM算法驗證及效果評價
3.3.1 實驗驗證
如圖1,在我們網站的心情留言模塊設置了用戶心情打分一欄(5,4,3,2,1分)以及留言板,用來獲取該用戶當時的心情和是否喜歡該類資源及喜歡的程度,網站中還有該用戶訪問資源的時間和類型記錄,分別作為資源訪問時間和資源種類兩個參數,帶入算法進行計算。
我們采用網站進行了實驗,保留了用戶對站內資源的有效訪問記錄,取用戶樣本進行實驗,把每個用戶最近7天的訪問數據隱藏起來用于測試算法。其余訪問數據用于用戶評分的計算以獲得推薦集。如果推薦集中的某個資源i出現在該用戶測試數據中的訪問記錄里,則表示生成了一個正確推薦。評估我們的算法推薦精度的標準為:
3.3.2 實驗結果及分析
通過采集樣本的數據計算,得到的結果準確率在10%上下波動,取部分樣本的準確率作圖,得到圖3。
其中,取n=20,=10.07%(20個樣本準確率的平均值),計算可得方差S2=0.0011
實驗結果準確率平均值為10.07%,樣本方差為0.0011,方差較小,說明準確率的波動程度不大,由圖3也可以看出實驗結果準確率在10%上下波動,且波動程度不是很大,證明TTM算法可行,可以做出有效推薦,且準確率較高。
4 結束語
本文針對推薦系統中的推薦針對性較差,無法實時的發現用戶興趣變化等問題,提出了三種改進的數據權重,并將三種權重結合,提出TTM算法。通過實驗驗證了該算法,結果表明,這種基于訪問時間、資源種類和心情留言的推薦算法能夠做出合理推薦,準確率較高,針對性較強,且能夠實時獲取用戶偏好,使推薦質量得到了提高。下一步我們將進一步完善算法,改變各種權重的比例因子、時間窗T和權重增長指數等,以便針對不同的用戶選取不同的方案。另外,我們也會取更多的樣本和數據集,進一步擴大實驗。
對用戶行為進行分析不僅有利于電子商務網站的發展,對于學習系統也有著重要的意義,其應用有廣闊的前景,值得我們去探索和研究。
參考文獻(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] 胡勛,孟祥武,張玉潔,史艷翠.一種融合項目特征和移動用戶
信任關系的推薦算法[J].軟件學報,2014.25(8):1817-1830
[4] 韋素云,業寧,楊旭兵.結合項目類別和動態時間加權的協同
過濾算法[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] 邢春曉,高鳳榮,戰思南,等.適應用戶興趣變化的協同過濾推
薦算法[J].計算機研究與發展,2007.44(2):296-301
[9] 王立才,孟祥武,張玉潔.上下文感知推薦系統[J].軟件學報,
2012.23(1):1-20