李偉 孫新杰 劉志芳

摘? 要: 網絡視頻數據的快速增多,使得個性化智能推薦變得十分必要。為了便于用戶在視頻網站上發現自己喜歡的內容,提出通過數據挖掘來分析用戶對電影的評分行為,采用基于項目的協同過濾算法,利用評分數據構造用戶項目評分矩陣,計算電影項目之間的相似度,來預測用戶對電影的評分并且給出結果推薦。實驗運行結果表明,該方法對電影的推薦效果較好。該研究構建的基于數據挖掘的電影智能推薦系統能夠幫助用戶快速發現所喜歡的電影。
關鍵詞: 數據挖掘; 智能推薦; 協同過濾; 評分矩陣
中圖分類號:TP391.3? ? ? ? ? 文獻標志碼:A 文章編號:1006-8228(2019)05-61-02
Abstract: With the rapid increase of network video data, personalized intelligent recommendation becomes very necessary. To help users find their favorite content on video websites, this paper proposes to analyze users' rating behavior on movies by data mining, using project-based collaborative filtering algorithm, constructs the user item rating matrix by using the rating data, and calculates similarity between movie items to predict users' rating on movies and give the result to recommend. The experimental results show that the method has a good effect on the recommendation of movies. The intelligent film recommendation system with data mining can help users quickly find their favorite movies.
Key words: data mining; intelligent recommendation; collaborative filtering; rating matrix
0 引言
隨著大數據時代的到來,網絡上的數據量呈爆炸式增長,用戶很難找到自己想看的電影[1]。雖然很多視頻網站提供搜索引擎來讓有明確目標的用戶直接搜索電影,但是對于無明確目標的用戶而言,則需要一種幫助,能讓他們去發現可能喜歡的電影,因而誕生了智能推薦系統。鄭誠等[2]提出基于互信息的推薦研究方法,陳平華等[3]研究融合知識圖譜表示學習進行推薦,但是這些都還存在實踐應用的問題。
本文提出構建電影智能推薦系統,通過數據挖掘的方法來分析用戶的行為,推薦給用戶適合的電影內容。
1 關鍵技術
電影智能推薦的關鍵技術是推薦算法,目前,推薦算法主要有基于內容的推薦、協同過濾推薦和基于網絡結構推薦等算法,而協同過濾算法是當前研究最多的推薦算法。協同過濾推薦分為基于用戶和基于項目[4],由于當采用基于用戶的協同過濾時,計算復雜度會隨著用戶數目的增加變得越來越大,因此需要研究采用基于項目的協同過濾來構建電影智能推薦系統。
基于項目的協同過濾算法的核心思想是利用與項目相似度最高的k個鄰居項目的評分加權平均計算得到用戶對該項目的預測評分。其原理如圖1所示,喜歡項目1的用戶i還喜歡項目2、項目3、…、項目n,因此項目1到項目n的相似度較高,它們為相似項目,用戶j也喜歡項目2到項目n,因此可以將用戶j還沒有發現的項目1推薦給該用戶。
2 系統架構
基于數據挖掘的電影智能推薦系統架構如圖2所示,主要分為三個模塊。第一個模塊是數據抽取,從視頻網站選擇性抽取電影屬性數據和用戶對電影評分數據,其中電影屬性數據包括電影ID、電影名稱和類型等信息;第二個模塊是挖掘建模,利用評分數據構造用戶項目評分矩陣,然后計算電影項目之間的相似度,最后再以用戶項目矩陣和電影項目相似度為基礎來計算用戶對電影項目的預測評分;第三個模塊為電影推薦,把預測評分高的電影項目推薦給用戶。
3 挖掘建模
由電影評分數據得到一個N×M的用戶項目評分矩陣R,其公式為:
式中,N為用戶數目,M為電影數目,行向量表示一個用戶對電影項目的評分,列向量表示一個電影項目得到用戶的評分,是用戶ui對電影vj的評分。項目相似度計算是智能推薦的核心步驟[5],利用所有用戶對兩個電影項目的評分,計算電影項目vs與vt的相似度公式為:
式中,d(vs,vt)為用戶對電影項目vs與vt評分的歐式距離。
計算完電影項目兩兩間的相似度后,再根據k近鄰算法,找到與電影項目v相似度最大的k個電影項目作為鄰居,計算得出無明確目標的用戶對于電影項目v的預測評分,最后把電影項目按照預測評分降序排列,選取預測評分最大幾個作為的推薦結果。
4 實驗分析
實驗抽取的電影評分測試數據中,用戶對于電影的評分的取值范圍為1~10分,評分越高說明用戶對電影的評價越好。電影智能推薦結果輸出如表1所示,表1列出了為用戶推薦的電影和預測評分。
推薦結果第一個記錄說明給用戶1推薦電影115和203,電影的預測評分分別為8.557和8.561;推薦結果第二個記錄說明給用戶3推薦電影337,電影預測評分為9.990。
5 結束語
本文基于數據挖掘的思想,采用協同過濾算法構建電影智能推薦系統,把預測評分降序排列靠前的電影項目推薦給無明確目標的用戶,方便他們發現自己感興趣的電影。下一步研究重點是將處理過程并行化,從而加快電影智能推薦系統的處理速度,來應對大數據的挑戰。
參考文獻(References):
[1] 海闊,海翔宇.電影大數據國際文獻綜述[J].新聞愛好者,2018.5:92-96
[2] 鄭誠,徐啟南,章金平.基于互信息的推薦系統方法研究[J].微電子學與計算機,2018.35(12):76-79
[3] 陳平華,朱禹.融合知識圖譜表示學習和矩陣分解的推薦算法[J].計算機工程與設計,2018.39(10):3137-3142
[4] 李偉,石云,孫新杰.基于Hadoop的協同過濾算法的并行化研究[J].六盤水師范學院學報,2017.29(3):46-49
[5] Jiawei Han, MIcheline Kamber, Jian Pei.數據挖掘:概念與技術[M].機械工業出版社,2012.