李偉 孫新杰 劉志芳
摘? 要: 網(wǎng)絡(luò)視頻數(shù)據(jù)的快速增多,使得個(gè)性化智能推薦變得十分必要。為了便于用戶在視頻網(wǎng)站上發(fā)現(xiàn)自己喜歡的內(nèi)容,提出通過(guò)數(shù)據(jù)挖掘來(lái)分析用戶對(duì)電影的評(píng)分行為,采用基于項(xiàng)目的協(xié)同過(guò)濾算法,利用評(píng)分?jǐn)?shù)據(jù)構(gòu)造用戶項(xiàng)目評(píng)分矩陣,計(jì)算電影項(xiàng)目之間的相似度,來(lái)預(yù)測(cè)用戶對(duì)電影的評(píng)分并且給出結(jié)果推薦。實(shí)驗(yàn)運(yùn)行結(jié)果表明,該方法對(duì)電影的推薦效果較好。該研究構(gòu)建的基于數(shù)據(jù)挖掘的電影智能推薦系統(tǒng)能夠幫助用戶快速發(fā)現(xiàn)所喜歡的電影。
關(guān)鍵詞: 數(shù)據(jù)挖掘; 智能推薦; 協(xié)同過(guò)濾; 評(píng)分矩陣
中圖分類號(hào):TP391.3? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):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 引言
隨著大數(shù)據(jù)時(shí)代的到來(lái),網(wǎng)絡(luò)上的數(shù)據(jù)量呈爆炸式增長(zhǎng),用戶很難找到自己想看的電影[1]。雖然很多視頻網(wǎng)站提供搜索引擎來(lái)讓有明確目標(biāo)的用戶直接搜索電影,但是對(duì)于無(wú)明確目標(biāo)的用戶而言,則需要一種幫助,能讓他們?nèi)グl(fā)現(xiàn)可能喜歡的電影,因而誕生了智能推薦系統(tǒng)。鄭誠(chéng)等[2]提出基于互信息的推薦研究方法,陳平華等[3]研究融合知識(shí)圖譜表示學(xué)習(xí)進(jìn)行推薦,但是這些都還存在實(shí)踐應(yīng)用的問(wèn)題。
本文提出構(gòu)建電影智能推薦系統(tǒng),通過(guò)數(shù)據(jù)挖掘的方法來(lái)分析用戶的行為,推薦給用戶適合的電影內(nèi)容。
1 關(guān)鍵技術(shù)
電影智能推薦的關(guān)鍵技術(shù)是推薦算法,目前,推薦算法主要有基于內(nèi)容的推薦、協(xié)同過(guò)濾推薦和基于網(wǎng)絡(luò)結(jié)構(gòu)推薦等算法,而協(xié)同過(guò)濾算法是當(dāng)前研究最多的推薦算法。協(xié)同過(guò)濾推薦分為基于用戶和基于項(xiàng)目[4],由于當(dāng)采用基于用戶的協(xié)同過(guò)濾時(shí),計(jì)算復(fù)雜度會(huì)隨著用戶數(shù)目的增加變得越來(lái)越大,因此需要研究采用基于項(xiàng)目的協(xié)同過(guò)濾來(lái)構(gòu)建電影智能推薦系統(tǒng)。
基于項(xiàng)目的協(xié)同過(guò)濾算法的核心思想是利用與項(xiàng)目相似度最高的k個(gè)鄰居項(xiàng)目的評(píng)分加權(quán)平均計(jì)算得到用戶對(duì)該項(xiàng)目的預(yù)測(cè)評(píng)分。其原理如圖1所示,喜歡項(xiàng)目1的用戶i還喜歡項(xiàng)目2、項(xiàng)目3、…、項(xiàng)目n,因此項(xiàng)目1到項(xiàng)目n的相似度較高,它們?yōu)橄嗨祈?xiàng)目,用戶j也喜歡項(xiàng)目2到項(xiàng)目n,因此可以將用戶j還沒(méi)有發(fā)現(xiàn)的項(xiàng)目1推薦給該用戶。
2 系統(tǒng)架構(gòu)
基于數(shù)據(jù)挖掘的電影智能推薦系統(tǒng)架構(gòu)如圖2所示,主要分為三個(gè)模塊。第一個(gè)模塊是數(shù)據(jù)抽取,從視頻網(wǎng)站選擇性抽取電影屬性數(shù)據(jù)和用戶對(duì)電影評(píng)分?jǐn)?shù)據(jù),其中電影屬性數(shù)據(jù)包括電影ID、電影名稱和類型等信息;第二個(gè)模塊是挖掘建模,利用評(píng)分?jǐn)?shù)據(jù)構(gòu)造用戶項(xiàng)目評(píng)分矩陣,然后計(jì)算電影項(xiàng)目之間的相似度,最后再以用戶項(xiàng)目矩陣和電影項(xiàng)目相似度為基礎(chǔ)來(lái)計(jì)算用戶對(duì)電影項(xiàng)目的預(yù)測(cè)評(píng)分;第三個(gè)模塊為電影推薦,把預(yù)測(cè)評(píng)分高的電影項(xiàng)目推薦給用戶。
3 挖掘建模
由電影評(píng)分?jǐn)?shù)據(jù)得到一個(gè)N×M的用戶項(xiàng)目評(píng)分矩陣R,其公式為:
式中,N為用戶數(shù)目,M為電影數(shù)目,行向量表示一個(gè)用戶對(duì)電影項(xiàng)目的評(píng)分,列向量表示一個(gè)電影項(xiàng)目得到用戶的評(píng)分,是用戶ui對(duì)電影vj的評(píng)分。項(xiàng)目相似度計(jì)算是智能推薦的核心步驟[5],利用所有用戶對(duì)兩個(gè)電影項(xiàng)目的評(píng)分,計(jì)算電影項(xiàng)目vs與vt的相似度公式為:
式中,d(vs,vt)為用戶對(duì)電影項(xiàng)目vs與vt評(píng)分的歐式距離。
計(jì)算完電影項(xiàng)目?jī)蓛砷g的相似度后,再根據(jù)k近鄰算法,找到與電影項(xiàng)目v相似度最大的k個(gè)電影項(xiàng)目作為鄰居,計(jì)算得出無(wú)明確目標(biāo)的用戶對(duì)于電影項(xiàng)目v的預(yù)測(cè)評(píng)分,最后把電影項(xiàng)目按照預(yù)測(cè)評(píng)分降序排列,選取預(yù)測(cè)評(píng)分最大幾個(gè)作為的推薦結(jié)果。
4 實(shí)驗(yàn)分析
實(shí)驗(yàn)抽取的電影評(píng)分測(cè)試數(shù)據(jù)中,用戶對(duì)于電影的評(píng)分的取值范圍為1~10分,評(píng)分越高說(shuō)明用戶對(duì)電影的評(píng)價(jià)越好。電影智能推薦結(jié)果輸出如表1所示,表1列出了為用戶推薦的電影和預(yù)測(cè)評(píng)分。
推薦結(jié)果第一個(gè)記錄說(shuō)明給用戶1推薦電影115和203,電影的預(yù)測(cè)評(píng)分分別為8.557和8.561;推薦結(jié)果第二個(gè)記錄說(shuō)明給用戶3推薦電影337,電影預(yù)測(cè)評(píng)分為9.990。
5 結(jié)束語(yǔ)
本文基于數(shù)據(jù)挖掘的思想,采用協(xié)同過(guò)濾算法構(gòu)建電影智能推薦系統(tǒng),把預(yù)測(cè)評(píng)分降序排列靠前的電影項(xiàng)目推薦給無(wú)明確目標(biāo)的用戶,方便他們發(fā)現(xiàn)自己感興趣的電影。下一步研究重點(diǎn)是將處理過(guò)程并行化,從而加快電影智能推薦系統(tǒng)的處理速度,來(lái)應(yīng)對(duì)大數(shù)據(jù)的挑戰(zhàn)。
參考文獻(xiàn)(References):
[1] 海闊,海翔宇.電影大數(shù)據(jù)國(guó)際文獻(xiàn)綜述[J].新聞愛(ài)好者,2018.5:92-96
[2] 鄭誠(chéng),徐啟南,章金平.基于互信息的推薦系統(tǒng)方法研究[J].微電子學(xué)與計(jì)算機(jī),2018.35(12):76-79
[3] 陳平華,朱禹.融合知識(shí)圖譜表示學(xué)習(xí)和矩陣分解的推薦算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2018.39(10):3137-3142
[4] 李偉,石云,孫新杰.基于Hadoop的協(xié)同過(guò)濾算法的并行化研究[J].六盤(pán)水師范學(xué)院學(xué)報(bào),2017.29(3):46-49
[5] Jiawei Han, MIcheline Kamber, Jian Pei.數(shù)據(jù)挖掘:概念與技術(shù)[M].機(jī)械工業(yè)出版社,2012.