曹俊豪,李澤河,江龍,張德剛
(云南電網(wǎng)有限責任公司教育培訓評價中心,云南昆明650000)
目前,云南電網(wǎng)年培訓人次達6萬,具有規(guī)模大、內(nèi)容覆蓋面廣、專業(yè)多、專業(yè)性強等特點,如何根據(jù)每個用戶行為數(shù)據(jù)對用戶推送其感興趣的項目(如設備知識點)成為培訓中一個難題。于此,本次研究中提出了一種融合協(xié)同過濾和用戶屬性過濾的混合推薦算法,即移動端通過用戶行為收集用戶習慣行為信息,利用該算法對用戶的基本行為習慣進行分析整合,結(jié)合用戶的興趣為其推薦對應的項目服務。在平臺“基于數(shù)字編碼的移動學習管理平臺”中的實驗及實際應用中表明,本文算法在對比其他推薦算法具有較優(yōu)的信息推薦效果[1-2]。
當前,信息推薦領域算法種類繁多,一般常見的是協(xié)同過濾算法。協(xié)同過濾算法是通過分析所有用戶對物品的偏好,發(fā)現(xiàn)與當前用戶愛好相似的鄰居用戶群,根據(jù)發(fā)現(xiàn)的相似用戶群對當前的匹配用戶進行信息推薦;另一種類型是基于項目的協(xié)同過濾算法,這種算法是在分析物品與物品之間相似度后,根據(jù)當前用戶愛好為其推薦相似的物品[13-14]。本文中混合算法是一種基于用戶的算法,通過對不同用戶之間的相似度進行匹配,推薦給用戶相似鄰居的個性化推薦內(nèi)容。本文考慮到用戶的興趣會隨時間不斷發(fā)生變化,提出了時間熱度這一概念,并對相似度計算進行優(yōu)化。
1)用戶評分矩陣
系統(tǒng)中需要在得到匹配用戶對項目的興趣評分的基礎上,利用評分值反映用戶對項目的興趣值。評分值范圍一般在1~5,為概似值范疇,相對的評分值越高,即表示當前匹配用戶對項目的興趣度越大[15]。設 I1、I2、...、IM 為系統(tǒng)的項目,U1、U2、...、UN為系統(tǒng)的用戶,將用戶對項目的評分填入對應的矩陣單元中,即可得到用戶-項目評分矩陣,如表1所示。
表1 用戶-項目評分矩陣
2)時間熱度
對于傳統(tǒng)的算法,其在當前用戶的鄰居尋找時,對時間方面并無涉及,但時間概念對用戶的興趣具有較大的影響,若將這一因素忽略往往導致推薦的內(nèi)容同用戶需求之間產(chǎn)生較大的變化。為了尋找對推薦結(jié)果更有價值的相似用戶,考慮用戶近期訪問的項目比早期訪問過的項目更能反映用戶興趣,本文在相似度計算公式里面加入了時間熱度因素,避免了在相似度計算時忽視了時間概念對用戶興趣的影響,增加尋找相似用戶的可信度。
時間熱度是指用戶訪問項目的時間新鮮度,訪問時間離當前時間越近則新鮮度越高,時間熱度就越高,反之亦然。設Dui表示用戶u訪問項目i的時間與用戶u最早訪問系統(tǒng)任一項目的時間間隔(在數(shù)據(jù)庫中有相應的時間記錄),定義時間熱度函數(shù)WT(u,i),它是一個和Dui相關(guān)的函數(shù)值。在本文研究中,為了能夠?qū)υL問項目的重要性進行重點突出,其通過設計一種關(guān)于Dui的遞減函數(shù)來對其進行表示[16],即對于 Dui>Duj,有 WT(u,i)≥WT(u,j)。時間熱度函數(shù)計算公式如下:
上述公式為線性函數(shù),其中Lu指的是用戶u在進行推薦系統(tǒng)使用時的時間跨度,也就是該用戶最早訪問的項目同當前需要訪問項目之間的時間間隔,a∈(0,1)稱為權(quán)重增長指數(shù)。
3)Pearson相關(guān)系數(shù)的優(yōu)化
計算用戶相似度的方法有很多,最常見的一般是Pearson相關(guān)系數(shù)。用戶集U、項目集P以及給定的用戶所對項目的評分矩陣R(如表),ra,p表示了匹配用戶a對興趣項目p的評分,`ru表示匹配用戶u對興趣項目P評分的平均值,則用戶a和用戶b的相似度表示如下:
在傳統(tǒng)的算法中,當其在對當前用戶興趣進行分析時,往往會將時間這一影響因素考慮在外,而在文中通過Pearson系數(shù)[17]對算法進行了改善,從而能夠為用戶推薦更加具有價值的內(nèi)容,改善的公式內(nèi)容為:
從公式(3)中可以看出,引入時間熱度之后,在計算a和b的相似度時,用戶歷史中近期的興趣將會反映更加充分。利用優(yōu)化后的公式(3)可計算出當前用戶與其余用戶的相似度,在得到似度的基礎上可以用Top-N原則票選出當前匹配用戶的N位鄰居用戶。
但是通過本文提出的改進的用戶相似度計算公式(公式(3))計算得出的相似用戶集合,其集合中也有可能會存在與目標用戶興趣差異很大的相似用戶,所以在一般情況下并不能對用戶群中匹配的所有的相似用戶都可以有很好的信息推薦效果。由這樣的相似用戶產(chǎn)生的推薦準確率是比較低的。之所以會存在這種現(xiàn)象,主要是由于評分矩陣比較稀疏的緣故導致的,接下來要做的就是要再次過濾掉這類相似度比較低的用戶。
要求在用戶屬性過濾下對計算出的相似度比較低的鄰居用戶進行濾除,需要得到對應用戶的特征矩陣。而計算對應特征值則需要對用戶的一系列屬性進行特征提取,提取方法廣泛,在得到了對應用戶的特征矩陣后,即可計算出相應用戶與用戶之間的相似度。
1)建立用戶的特征矩陣
一個用戶可有多種屬性,本文提取其中較能反應用戶特征的7種屬性來構(gòu)建用戶特征矩陣,分別是:工種、學歷、工齡、歸屬部門、性別、崗位、技能等級。特征矩陣如表2所示。
表2 用戶特征矩陣
2)計算用戶之間的相似度
用戶特征屬性包括工種、學歷、工齡、歸屬部門、性別、崗位、技能等級,則用戶u的特征屬性可以用向量 UAttru=(au1,au2,au3,au4,au5,au6,au7)來表示。其中,從u1到u7分表代表以上用戶特征屬性。對于數(shù)值屬性,如工齡,根據(jù)實際經(jīng)驗本文規(guī)定若二者工齡相差超過3,則認為二者不同;對于分類屬性,例如工種、學歷、歸屬部門、性別、崗位、技能等級則采用原始值。若用戶u和用戶v的第i個屬性相同,我們令USimUAttr(u,v,i)=1,否則USimUAttr(u,v,i)=0。用戶u和v的相似度可以用下面的公式來計算[18]。
式中:為第i個屬性的權(quán)重,所有屬性的權(quán)重值相加為1。
融合協(xié)同過濾和用戶屬性過濾的混合推薦算法其具體實現(xiàn)流程有以下幾個步驟:
1)由用戶訪問項目的具體時間,根據(jù)公式(1)計算時間熱度。
2)對于待推薦用戶,利用前文中改進過的相似度計算公式(3),得到當前匹配用戶與其他用戶的相似度,結(jié)合Top-N原則票選出由N位匹配用戶所組成的相似鄰居用戶集。
3)依據(jù)本文前面介紹特征矩陣建立方法建立對應用戶的特征矩陣,并且可以通過公式(4)得到的N位鄰居用戶逐一與當前匹配用戶的相似度比較分析,根據(jù)相似度大小由小到大對匹配用戶N位鄰居用戶整理,經(jīng)過排序分析,以票選方式選擇出最終的對應M位可信鄰居(M 4)匹配用戶a對項目p的預測評分ra,p的計算公式如下: 5)在得到預測的基礎上,由Top-N方法票選出最終能代表當前匹配用戶最佳信息推薦項目的項目集合。 數(shù)據(jù)稀疏度是指不包含數(shù)據(jù)的單元與總單元的相對百分比,其計算公式如下: 式(6)中:A表示已包含數(shù)據(jù)的單元數(shù),P表示總單元數(shù)。本文采用自《基于數(shù)字編碼的移動學習管理平臺》產(chǎn)生的數(shù)據(jù)集,包含897個用戶對122個項目的8 600條興趣評分,評分的值為1到5,根據(jù)公式(6)可計算出數(shù)據(jù)稀疏度為0.921 4。在數(shù)據(jù)集中隨機性抽取其中百分之八十作為訓練集,另外百分之二十作為測試集。利用所抽取的百分之八十的訓練集中的數(shù)據(jù)和本文所屬的算法來算出測試集中所有單元的預測評分,對比測試集中的實際評分可對算法的推薦質(zhì)量進行分析。 在實驗中的評價指標采用平均絕對誤差(MAE)。實驗中計算得出的測試度量集合中的測試用戶對項目的預測評分一般與實際的用戶評分有一定的偏差,而MAE可以通過這種偏差對度量結(jié)果的準確性進行度量,一般而言,MAE測試度量值越大,推薦質(zhì)量越低;越小,推薦質(zhì)量越高,也即推薦可信度越高。具體的MAE計算公式為: 預測的用戶評分集pi為{P1,P2,…PN},對應實際的用戶評分集qi為{q1,q2,… ,qN}, 為了驗證文中混合推薦算法的有效性,分別對傳統(tǒng)的協(xié)同過濾算法(UserCF)和本文混合推薦算法(Hybrid Recommendation Method,HRM)進行了對比實驗,實驗的結(jié)果如圖1~2所示。圖橫坐標為K值(用戶數(shù)),縱坐標為評價指標MAE值。 1)從兩個圖可得出,基于協(xié)同過濾算法的MAE值在整個k值區(qū)間都要大于本文混合推薦算法的MAE值,MAE越小,表示推薦質(zhì)量越高,由此可說明本文所述的混合推薦算法在整體推薦精準度上優(yōu)于傳統(tǒng)的協(xié)同過濾算法。 2)從兩個圖可得出,當k>60后,隨著k值的增加,兩種算法的MAE值都有所增加,但是基于協(xié)同過濾算法的MAE值的增長速率明顯高于基于本文混合推薦算法的MAE值的增長速率,MAE值增長速率越低,則表示推薦穩(wěn)定性越好,由此可說明本文所述的推薦算法在穩(wěn)定性上要優(yōu)于傳統(tǒng)的協(xié)同過濾算法。 圖1 基于協(xié)同過濾算法的MAE值 圖2 基于本文混合推薦算法的MAE值 相關(guān)參數(shù)關(guān)系分析和信息推薦方法對比實驗表明,本文所支持的融合協(xié)同過濾和用戶屬性過濾混合推薦算法在一定程度上是行之有效的算法,相對于傳統(tǒng)經(jīng)典的協(xié)同過濾算法一定呈上緩解了數(shù)據(jù)稀疏矩陣所造成的用戶相似度不高的問題,其推薦范圍更廣,推薦可信度也更高,推薦效果更優(yōu)。但是本文提出的算法還存在一些其他問題,例如在用戶屬性過濾下比較對應匹配用戶與用戶之間相似度值時,對匹配用戶的不同屬性特征在計算模型中的權(quán)重如何分配等問題還有待進一步的深入研究。 參考文獻: [1]劉慶鵬,陳明銳.優(yōu)化稀疏數(shù)據(jù)集提高協(xié)同過濾推薦系統(tǒng)質(zhì)量的方法[J].計算機應用,2014,24(12):88-91,95. [2]張亮.基于協(xié)同過濾與劃分聚類的推薦算法研究[D].長春:吉林大學,2014. [3]王雪.協(xié)同過濾推薦算法的改進研究[D].鞍山:遼寧科技大學,2016. [4]一種適應于e-Learning環(huán)境的復雜推薦算法[J].環(huán)球信息,2014,17(2):271-284) [5]溫梅.個性化推薦中基于貝葉斯網(wǎng)絡的用戶興趣模型研究[D].武漢:華中師范大學,2013. [6]李克潮,藍冬梅.一種屬性和評分的協(xié)同過濾混合推薦算法[J].計算機技術(shù)與發(fā)展,2013,23(7):116-119,123. [7]郝麗燕,王靖.基于填充和相似性信任因子的協(xié)同過濾推薦算法[J].計算機應用,2013,33(3):834-837. [8]陳彥萍,王賽.基于用戶-項目的混合協(xié)同過濾算法[J].計算機技術(shù)與發(fā)展,2014,24(12):88-91,95. [9]許智宏,王寶瑩.基于項目綜合相似度的協(xié)同過濾算法[J].計算機應用研究,2014,31(2):398-400. [10]李克潮,梁正友.適應用戶興趣變化的指數(shù)遺忘協(xié)同過濾算法[J].計算機工程與應用,2011,37(6):226-243. [11]楊秀萍.融合用戶評分和屬性相似度的協(xié)同過濾推薦算法[J].計算機與現(xiàn)代化,2017,33(7):16-19. [12]劉欣.面向社會化媒體的內(nèi)容推薦若干關(guān)鍵技術(shù)研究[D].北京:北京郵電大學,2015. [13]王三虎,王豐錦.融合用戶評分和屬性相似度的協(xié)同過濾推薦算法[J].計算機應用與軟件,2017,34(4):305-308,321. [14]Xiangyu Tang,Jie Zhou.稀疏數(shù)據(jù)下的動態(tài)個性化推薦[J].IEEE知識與數(shù)據(jù)工程匯刊,2013,25(12):2895-2899. [15]李梁,張海寧,李宗博,等.融合用戶屬性的協(xié)同過濾推薦算法在政府采購中的應用[J].重慶理工大學學報:自然科學,2015,31(1):76-81. [16]紀科.融合上下文信息的混合協(xié)同過濾推薦算法研究[D].北京:北京交通大學,2016. [17]鄒永貴,望靖,劉兆宏,夏英.基于項目之間相似性的興趣點推薦方法[J]計算機應用研究,2012,29(1):116-118,126. [18]陳庚午.混合推薦算法在云計算平臺的研究與應用[D].沈陽:中國科學院研究生院(沈陽計算技術(shù)研究所),2016.2 實驗以及結(jié)果分析
2.1 實驗數(shù)據(jù)與度量
2.2 結(jié)果分析
3 結(jié)束語