999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于協(xié)同過濾的電影推薦系統(tǒng)的設(shè)計與實現(xiàn)

2019-05-22 10:27:32張玉葉
電腦知識與技術(shù) 2019年6期

張玉葉

摘要:隨著在線電影數(shù)量的飛速增長,要想從眾多的電影中選擇一部自己想看的電影變得越來越困難。為了更好地滿足用戶的觀影需求,電影推薦系統(tǒng)應(yīng)運而生,它通過用戶的觀影記錄來發(fā)現(xiàn)用戶的興趣,從而幫助用戶在眾多電影中篩選到自己感興趣的電影。基于物品的協(xié)同過濾算法是電影推薦系統(tǒng)中最常用的推薦算法,該算法的關(guān)鍵是計算物品的相似度及推薦評分,相似度矩陣是一稀疏矩陣,已有的一些電影推薦系統(tǒng)中通常采用二維數(shù)組來存放相似度矩陣,利用第三方擴展庫Numpy來計算推薦評分,時間空間效率相對較低,該文利用Python內(nèi)置的序列字典來存放稀疏矩陣,自行編寫相應(yīng)的代碼來求解相似度和推薦評分,可有效提高算法的時間、空間效率。

關(guān)鍵詞:推薦系統(tǒng);協(xié)同過濾;Python;稀疏矩陣

中圖分類號:TP391.1 文獻標(biāo)識碼:A 文章編號:1009-3044(2019)06-0070-04

Design and Implementation of Movie Recommendation System Based on Collaborative Filtering

ZHANG Yu-ye

(Dept. of computer, Jinan Vocational College, Jinan 250014, China)

Abstract: With the rapid increase in the number of online movies, it is increasingly difficult to choose from among the many movies you want to watch. In order to better meet the user's viewing needs, the film recommendation system came into being. It discovered the user's interest through the user's viewing video record, thus helping users to select movies of interest in many movies. The object-based collaborative filtering algorithm is the most commonly used recommendation algorithm in the movie recommendation system. The key of the algorithm is to calculate the similarity of the item and the recommended score. The similarity matrix is a sparse matrix. Some existing movie recommendation systems usually use two-dimensional arrays to store similarity matrices, use third-party extension library Numpy to calculate the recommended score, which leads to the low efficiency of time and space. This article uses Python's built-in sequence dictionary to store sparse matrices and gives the corresponding code to solve the recommended score, which improves the algorithm efficiency of time and space.

Key words: recommender system; collaborative filtering; Python; sparse matrix

1 背景

隨著在線電影數(shù)量的飛速增長,要想從眾多的電影中選擇一部自己想看的電影變得越來越困難。當(dāng)用戶有明確觀影需求時可利用搜索引擎來查找自己想看的電影,但當(dāng)用戶沒有明確需求時,就很難利用搜索引擎來查找自己想看的電影,此時電影推薦系統(tǒng)應(yīng)運而生,它通過用戶的觀影記錄來發(fā)現(xiàn)用戶的興趣,從而幫助用戶在眾多電影中篩選到自己感興趣的電影。基于物品的協(xié)同過濾算法是電影推薦系統(tǒng)中最常用的推薦算法,該算法的關(guān)鍵是計算電影的相似度及推薦評分,在計算時需要用到矩陣的一些運算,Python的第三方擴展庫Numpy提供了大量的數(shù)組及矩陣運算,因此已有的一些電影推薦系統(tǒng)中多是利用Numpy來實現(xiàn)協(xié)同過濾算法,但因協(xié)同過濾算法中涉及到的矩陣多是稀疏矩陣,采用普通的二維數(shù)組存放存在大量的無效存儲,空間利用率較低,同時利用Numpy擴展庫也無法進行算法的優(yōu)化,因此本文利用Python的內(nèi)置序列字典來存放稀疏矩陣,自行編制相應(yīng)的代碼來求解相似度及推薦評分,可有效提高算法的時間空間效率。

2 推薦系統(tǒng)

推薦系統(tǒng)是建立在海量數(shù)據(jù)挖掘基礎(chǔ)上的,它通過分析用戶的歷史數(shù)據(jù)來了解用戶的需求和興趣,從而將用戶感興趣的信息、物品等主動推薦給用戶,其本質(zhì)是建立用戶與物品之間的聯(lián)系。一個完整的推薦系統(tǒng)通常包含3個模塊:用戶建模模塊、推薦對象建模模塊和推薦算法模塊。推薦系統(tǒng)首先對用戶進行建模,根據(jù)用戶行為數(shù)據(jù)和屬性數(shù)據(jù)來分析用戶的興趣和需求,同時也對推薦對象進行建模。接著,基于用戶特征和物品對象特征,采用推薦算法計算得到用戶可能感興趣的物品,然后根據(jù)推薦場景對推薦結(jié)果進行一定的推薦和調(diào)整,最終將推薦結(jié)果展示給用戶[1]。

3 協(xié)同過濾算法

協(xié)同過濾算法分為基于用戶的協(xié)同過濾算法和基于物品的協(xié)同過濾算法[2]。

基于用戶的協(xié)同過濾算法(簡稱UserCF),通過不同用戶對物品的評分來評測用戶之間的相似性,基于用戶之間的相似性做出推薦。簡單來講就是:給用戶推薦和他興趣相似的其他用戶喜歡的物品。

基于物品的協(xié)同過濾算法(簡稱ItemCF),通過用戶對不同物品的評分來評測物品之間的相似性,基于物品之間的相似性做出推薦。簡單來講就是:給用戶推薦和他之前喜歡的物品相似的物品。

UserCF算法和ItemCF算法思想類似,其實現(xiàn)過程也基本類似,唯一不同的是一個是計算用戶相似度,一個是計算物品相似度。

UserCF算法和ItemCF最主要的區(qū)別在于:UserCF推薦的是那些和目標(biāo)用戶有共同興趣愛好的其他用戶所喜歡的物品,ItemCF算法則推薦那些和目標(biāo)用戶之前喜歡的物品類似的其他物品。因此,UserCF算法的推薦更偏向社會化,適合應(yīng)用于新聞推薦、微博話題推薦等應(yīng)用場景;而ItemCF算法的推薦則是更偏向于個性化,適合應(yīng)用于電子商務(wù)、電影、圖書等應(yīng)用場景。

4 電影推薦系統(tǒng)的設(shè)計與實現(xiàn)

4.1 推薦算法

根據(jù)前面對協(xié)同過濾算法的分析,電影推薦系統(tǒng)適合采用基于物品的協(xié)同過濾算法(簡稱ItemCF)。基于物品的協(xié)同過濾算法是給目標(biāo)用戶推薦那些和他們之前喜歡的物品相似的物品。此算法并不利用物品的內(nèi)容屬性計算物品之間的相似度,而主要通過分析用戶的行為記錄來計算物品之間的相似度。ItemCF算法主要包括兩步:

4.5計算推薦評分及推薦結(jié)果

計算每個用戶的未曾看過的電影的推薦評分(也即興趣度)。推薦評分=同現(xiàn)矩陣M*評分向量R。

評分向量即用戶對所有物品(電影)的評分,由評分記錄表可得出。

4.6 輸出推薦結(jié)果

推薦結(jié)果的輸出可根據(jù)需要自由構(gòu)造,既可以只生成某一指定用戶的推薦列表,也可生成所有用戶的推薦列表,如要生成對所有用戶推薦1部未曾看過的電影,其對應(yīng)的代碼為:

5 測試分析

前面給出的測試數(shù)據(jù)集數(shù)據(jù)很少,主要應(yīng)用于系統(tǒng)開發(fā)測試中。實際應(yīng)用中推薦系統(tǒng)所用的數(shù)據(jù)集通常為海量數(shù)據(jù),為驗證系統(tǒng)在海量數(shù)據(jù)中的使用,可以MovieLens(http://grouplens.org/datasets/movielens)作為電影推薦系統(tǒng)中的實驗數(shù)據(jù)來測試系統(tǒng)。MovieLens是GroupLens Research實驗室的一個非商業(yè)性質(zhì)、以研究為目的的實驗性項目,采集了一組從20世紀(jì)90年代末到21世紀(jì)初的電影評分?jǐn)?shù)據(jù),包含大小不同的數(shù)據(jù)集,每個數(shù)據(jù)集中包括電影信息數(shù)據(jù)及電影評分記錄等。如MovieLens 1M數(shù)據(jù)集中存放了1000多名用戶對近2000部電影的評分記錄,每個用戶至少對20部電影進行過評分,一共有100000多條電影評分記錄,能夠模擬出海量數(shù)據(jù)的推薦。如采用MovieLens 1M數(shù)據(jù)集來使用本系統(tǒng)來為用戶1推薦5部想看的電影,其推薦結(jié)果如圖7所示。

6 結(jié)束語

電影推薦系統(tǒng)可幫助用戶從海量電影中獲取自己想看電影,是大數(shù)據(jù)在互聯(lián)網(wǎng)領(lǐng)域的典型應(yīng)用,通過分析用戶的歷史觀影記錄來了解用戶的喜好,從而主動為用戶推薦其感興趣的電影,滿足了用戶的個性化觀影需求。該文利用Python語言實現(xiàn)的基于物品的協(xié)同過濾算法的電影推薦系統(tǒng),利用了Python內(nèi)置的序列字典來存放稀疏矩陣,自行編寫相應(yīng)的代碼實現(xiàn)矩陣運算及求解推薦評分,相比于利用Numpy第三方擴展庫,其算法時間空間效率相對較高。

參考文獻:

[1] 查魯 C 阿加沃爾. 推薦系統(tǒng):原理與實踐[M]. 北京: 機械工業(yè)出版社, 2017.

[2] 項亮. 推薦系統(tǒng)實踐[M]. 北京: 人民郵電出版社, 2012.

[3] 王建芳. 機器學(xué)習(xí)算法實踐[M]. 北京: 清華大學(xué)出版社, 2018.

[4] 董付國. Python程序設(shè)計開發(fā)寶典[M]. 北京: 清華大學(xué)出版社, 2017.

[5] 林子雨. 大數(shù)據(jù)技術(shù)原理與應(yīng)用[M]. 北京: 人民郵電出版社, 2017.

【通聯(lián)編輯:謝媛媛】

主站蜘蛛池模板: 亚洲黄色片免费看| 久久9966精品国产免费| 在线色综合| 精品国产网站| AV老司机AV天堂| 国产乱子伦视频三区| 中文字幕在线免费看| 高清码无在线看| 91精品国产91久无码网站| 国产美女自慰在线观看| 色欲色欲久久综合网| 四虎永久在线视频| 中文字幕资源站| 久久婷婷五月综合色一区二区| 亚洲欧美自拍一区| 国产国语一级毛片在线视频| 国产一区成人| 亚洲最大福利网站| 国产福利免费视频| 国产无码精品在线| 欧美性精品| 先锋资源久久| 免费中文字幕一级毛片| 国产微拍一区| 亚洲精品中文字幕午夜| 国产网站黄| 久久精品一卡日本电影| 伊人成人在线视频| 美女无遮挡被啪啪到高潮免费| 国产精品一线天| 国国产a国产片免费麻豆| 久久久黄色片| a毛片在线免费观看| 色135综合网| 国产乱人免费视频| 亚洲中文在线看视频一区| 一级做a爰片久久免费| 久久久久青草线综合超碰| AV无码无在线观看免费| 99久久99这里只有免费的精品| 国产无码精品在线播放| 亚洲天堂免费| 久久精品无码一区二区国产区| 91在线精品麻豆欧美在线| 四虎综合网| 国产理论一区| 色噜噜在线观看| 亚洲最大福利视频网| 青青操视频免费观看| 亚洲综合狠狠| 在线免费a视频| 国产人成在线观看| 日本高清有码人妻| 亚洲国产第一区二区香蕉| 成人国产精品视频频| 福利片91| 欧美性色综合网| 操操操综合网| 中文字幕色站| 亚洲欧美另类专区| 国产午夜福利在线小视频| 国产精品亚洲а∨天堂免下载| 久久精品丝袜| 毛片基地美国正在播放亚洲 | 日本少妇又色又爽又高潮| 欧美在线一二区| 久久天天躁狠狠躁夜夜躁| 伊人久久久久久久| 人人妻人人澡人人爽欧美一区| 无码av免费不卡在线观看| 欧美三级不卡在线观看视频| 国产精品护士| 色亚洲激情综合精品无码视频| 99热这里只有精品免费| 精品久久蜜桃| 国产一区二区三区精品久久呦| 亚洲美女AV免费一区| 四虎影视永久在线精品| 亚洲精品无码AⅤ片青青在线观看| 91色在线视频| 国产精品无码制服丝袜| 午夜啪啪福利|