張應輝,司彩霞
(東北大學 計算機科學與工程學院,遼寧 沈陽 110000)
基于用戶偏好和項目特征的協同過濾推薦算法
張應輝,司彩霞
(東北大學 計算機科學與工程學院,遼寧 沈陽 110000)
采用對項目屬性和用戶行為的分析,為用戶提供了一個有效的推薦資源解決方案(通過用戶的興趣偏好和項目的屬性進行推薦)。對于用戶而言,根據對用戶注冊時的顯示屬性和用戶的歷史行為記錄(對項目資源的瀏覽、觀看、下載、分享等操作)的分析,以及對用戶歷史行為的量化將用戶劃分為不同的近鄰;對于項目而言,對項目也進行相似的操作即通過項目本身具有的屬性和用戶對項目的評價來將項目聚類分成不同的資源類型。以此對協同過濾算法進行改進,來改善推薦結果單一、評分矩陣數據不多、推薦準確性不高以及對新用戶和新項目存在的冷啟動問題。實現推薦資源隨用戶行為、興趣的改變而動態改變,以滿足用戶需求,達到個性推薦的目的,避免用戶在海量資源中為搜索資源而浪費時間。
協同過濾;推薦系統;用戶屬性;項目屬性
隨著國際化以及國內經濟的快速發展,人們的需求呈現出多樣化的形式[1],如何讓用戶快速有效地選擇自己所需要的資源是一項非常重要的工作。推薦技術因此應運而生[2]。推薦技術根據用戶的興趣愛好進行推薦,滿足用戶的不同需求。為了實現個性化推薦,研究人員不斷研究改善,提出了許多的推薦算法,常用的有:基于關鍵字的檢索[3],用戶來選擇自己所需資源的搜索,這種方式雖然在一定程度上滿足了用戶的需求,但是不能挖掘出用戶的潛在感興趣的資源;基于內容的推薦[4],雖然易于實現但由于現在文本形式的多樣性,受到了一定的限制;基于協同過濾的推薦[5],是使用最廣的推薦算法,很容易挖掘出目標用戶潛在的興趣,但存在一些問題,如評分矩陣數據中零元素較多造成的稀疏問題。
為了解決協同過濾算法存在的問題,提出了基于用戶興趣偏好和項目特征混合的算法(UIA-CF)。對于新用戶和新項目根據其顯示屬性進行近鄰的分類,再根據近鄰的潛在興趣對目標用戶進行推薦,從而解決了新用戶和新項目的冷啟動問題,且對評分矩陣進行矩陣分解從而解決了稀疏問題。
協同過濾算法沒有考慮用戶屬性,在此部分介紹用戶屬性及潛在興趣的獲得。用戶顯示屬性的獲得比較容易,由用戶在注冊時直接生成(如用戶的年齡等信息),這些信息構成了用戶的顯式信息。

通過以上介紹獲得了用戶的興趣,得到用戶興趣矩陣User-Interest,由User-Interest來計算用戶間的相似度。用戶a,b間的相似度計算[8]公式為:
sim(a,b)=
(1)

項目的顯式屬性很容易獲得,如項目(以電影為例)的作者、演員、播放時長、發布時間、類型等等。有時項目的顯式屬性可能對項目的性質描述得不太準確,則可以與所有用戶對該項目的評價及評分分析出該項目的隱式屬性相結合來顯示項目的性質。

(2)

類別Cj的先驗概率為:
(3)

當用戶a對項目的評論di進行分類時,先計算項目相對于每一分類的后驗概率,計算公式為:

(4)
其中,P(di)為常數。
式(4)可簡化為:

(5)
式(2)的計算結果若有幾個值比較接近且值比較大,把它們放入Item-Attribute矩陣,則說明該項目的潛在類別不止一個而是多個,若計算結果中只有一個值比較大則說明該項目潛在類別屬性只有一個。
通過以上公式的計算,可以得到項目屬性矩陣Item-Attribute,對Item-Attribute進行計算可以得到兩個項目i,j的相似度計算公式:
(6)
其中,t為項目的某個屬性;I為項目的所有屬性。
對以上取得的用戶屬性和項目屬性,對這些數據進行轉換、清洗、去噪等操作得到改進的用戶-項目評分矩陣。
通過上述介紹已經對用戶和項目進行了分類,然后就是對最近鄰進行掃描搜索,產生推薦結果。文中采用TOP-N[12]的推薦方式為目標用戶推薦適合用戶興趣的項目資源。目標用戶a對項目i的預測評分采用以下公式:

(7)
其中,UN為用戶a最近鄰,a為最近鄰中的任何一個用戶;IN為項目i的最近鄰,i'為最近鄰中的任何一個項目。
用戶間的相似度和項目相似度分別由式(1)和式(6)計算得到,最后將預測評分的前N個以及目標用戶沒有瀏覽過的資源形成TOP-N推薦集,向目標用戶推薦。
式(7)中的預測評分估計,不僅考慮了用戶對項目的評分情況和用戶之間的相似性,還考慮了項目之間的相似性及項目的平均評分情況,避免了只考慮用戶或只考慮項目時的預測不準確的問題,提高了推薦的準確性。
根據上述介紹的各個部分的屬性及計算方法,為使算法流程更加清晰,此算法的偽代碼如下所示:
ForeachitemIi∈I
If(IinotratedbyUi)
BytheUi'sexplicitattributeclassificationtotheUi,gettheUi'sUser-Interest
Else
BytheUi'sexplicit,implicitattributeandformulas(5),gettheUi'sUser-Interest
Endif-else
Byformulas(1)findingUi'snearestneighborUN
Endfor
ForeachUserUi∈U
If(IinotratedbyUi)
BytheIi'sexplicitattributeclassificationtotheIi,gettheIi'sItem-Attribute
Else
BytheIi'sexplicit,implicitattributeandformulas(2),gettheIi'sItem-Attribute
Endif-else
Byformulas(6)findingIi'snearestneighborIN
Endfor
Bythematrixdecomposition,respectively,fortheUser-InterestandItem-Attributeoperatedintolowdimensionofdensematrix
Byformulas(7)gettheuserratingofitem,thenuserisrecommendedtotakepreliminaryscorefirstN
為了檢驗設計的UIA-CF算法的有效性和效率,利用開源數據集進行實驗,檢測其性能。
4.1 實驗數據與測評準則
實驗數據采用美國Minnesota大學GroupLens研究小組提供的MovieLens[13],并且選用最新更新(2015年8月)電影評分數據集ml-latest-small 1 MB中等大小的數據集。將每條四元組記錄轉換成與初始用戶-項目評分矩陣一樣的形式,如表1所示。并且評分標準依然按照GroupLens的評分標準1~5[14],用前文提到的矩陣分解技術對初始矩陣進行分解,得到低維濃密的數據矩陣,將隨機選出的用戶行為數據集隨機分為測試集(占20%)和訓練集(占80%)。

表1 用戶-項目評分矩陣
實驗測評指標選用準確率、召回率、MAE(Mean Absolute Error)[15]。結合文中實例,準確率和召回率的計算公式為:
(8)
(9)
其中,T(a)表示使用者在測試數據集上的行為列表;R(a)表示用戶在訓練數集上的行為給用戶做出的推薦列表。
MAE表示計算預測評分與實際評分之間的偏差的絕對值,公式為:
(10)

4.2 實驗結果及分析
改進算法中預測公式評分通過實驗比較MAE的值來得到δ的值的大小,如圖1所示。

圖1 δ的取值
改進算法與其他傳統的推薦算法的MAE比較如圖2所示。

圖2 UIA-CF與其他算法MAE的比較
表2的數據表明,UIA-CF算法在準確率方面比協同過濾提高了2.2%,召回率降低了2.21%。

表2 UIA-CF同其他算法的比較 %
針對傳統的協同過濾推薦算法中遇到的矩陣稀疏性和冷啟動問題,提出了UIA-CF推薦算法,解決了上述問題,且實現了視頻的個性化推薦,但是對視頻推薦系統中的安全性沒做進一步的研究,這些內容將在下一步研究中進行討論。
[1]QianFulan,ZhangYanping,ZhangYuan,etal.Community-baseduserdomainmodelcollaborativerecommendationalgorithm[J].TsinghuaScienceandTechnology,2013,18(4):353-359.
[2]XieF,ChenZ,XuH,etal.TST:thresholdbasedsimilaritytransitivitymethodincollaborativefilteringwithcloudcompu
ting[J].TsinghuaScienceandTechnology,2013,18(3):318-327.
[3] 李莎莎.面向搜索引擎的自然語言處理關鍵技術研究[D].長沙:國防科學技術大學,2011.
[4] 劉飛飛.數字圖書館個性化信息推薦系統算法研究[J].情報科學,2012,30(12):1820-1823.
[5]ZhangL,TaoQ,TengPQ.Animprovedcollaborativefilteringalgorithmbasedonuserinterest[J].JournalofSoftware,2014,9(4):999-1106.
[6]ChattiMA,DakovaS,ThusH,etal.Tag-basedcollaborativefilteringrecommendationinpersonallearningenvironments[J].IEEETransactionsonLearningTechnologies,2013,6(4):337-349.
[7] 田久樂.基于協同過濾的電子商務個性化推薦算法分析[J].軟件導刊,2014,13(6):36-38.
[8] 陳祎荻,秦玉平.基于機器學習的文本分類方法綜述[J].渤海大學學報:自然科學版,2010,31(2):201-205.
[9] 賈昱晟.基于機器學習的中文文本分類技術研究[J].電腦知識與技術,2011,7(21):5194-5196.
[10]HuLiang,SongGuochang,XieZhenzhen,etal.Personalizedrecommendationalgorithmbasedonpreferencefeatures[J].TsinghuaScienceandTechnology,2014,19(3):293-299.
[11] 蔡 嵩,張建明,陳繼明,等.云計算環境中基于樸素貝葉斯算法的負載均衡技術[J].計算機應用,2014,34(2):360-364.
[12]SalehiM,KamalabadiIN,GhoushchiMBG.AneffectiverecommendationframeworkforpersonallearningenvironmentsusingalearnerpreferencetreeandaGA[J].IEEETransactionsonLearningTechnologies,2013,6(4):350-363.
[13] 賀桂和.基于用戶偏好挖掘的電子商務協同過濾推薦算法研究[J].情報科學,2013(12):38-42.
[14]GognaA,MajumdarA.Acomprehensiverecommendersystemmodel:improvingaccuracyforbothwarmandcoldstartusers[J].AccessIEEE,2015,3:2803-2813.
[15] 王斌斌,周作建,過 潔,等.基于迭代訓練的WebService混合協同過濾推薦模型[J].計算機研究與發展,2013,50:153-162.
A Collaborative Filtering Algorithm Based on Interest of User and Attributes of Item
ZHANG Ying-hui,SI Cai-xia
(School of Computer Science and Engineering,Northeastern University,Shenyang 110000,China)
Using the analysis of project properties and user behavior provides the user with a valid solution recommended resources.It is recommended by the interest of the user and item’s attributes.To the user,according to analysis of the user registration display attributes and the user’s behavior data (for browsing,viewing,downloading and sharing of project resources),as well as the quantization of the history of user behavior,the users could be divided into different neighbors.For the project,the clustering of project could divided into different resource types by its attributes and the evaluation of user to project.Therefore,the collaborative filtering algorithm is improved to solve the problems of single recommended results,little evaluation matrix data,low accuracy of recommendation as well as cold start for new users and new project.Recommended resources is achieved to change dynamically along with behavior and interest of users,to meet their requirements,achieving the purpose of the personalized recommendation,avoiding the waste of time for user to search resources in huge amounts of resources.
collaborative filtering;recommendation system;user attribute;item attribute
2016-06-03
2016-09-14
時間:2017-01-04
國家自然科學基金資助項目(61262058)
張應輝(1972-),男,副教授,碩士生導師,研究方向為計算機圖像處理、機器學習;司彩霞(1991-),女,碩士研究生,研究方向為數據挖掘技術。
http://www.cnki.net/kcms/detail/61.1450.TP.20170104.1039.080.html
TP301.6
A
1673-629X(2017)01-0016-04
10.3969/j.issn.1673-629X.2017.01.004