亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        大數(shù)據(jù)平臺下實時電影推薦算法研究

        2021-09-13 02:27:43牛路帥彭龑
        軟件工程 2021年9期
        關(guān)鍵詞:推薦算法實時協(xié)同過濾

        牛路帥 彭龑

        摘? 要:隨著互聯(lián)網(wǎng)數(shù)據(jù)量的不斷擴大,數(shù)據(jù)的實時推薦需求已經(jīng)不能被傳統(tǒng)的推薦模型所滿足,協(xié)同過濾推薦算法的不足也越來越明顯。為此,通過大數(shù)據(jù)計算框架Spark平臺構(gòu)建基于模型的推薦算法來更好地應(yīng)對海量數(shù)據(jù)實時推薦的問題。首先,通過預(yù)先設(shè)定的計算方法進行模型的構(gòu)建;同時將一種改進的余弦相似度算法應(yīng)用到模型中,不僅可以縮短推薦實現(xiàn)的時間,而且可以提高推薦性能。實驗結(jié)果表明,該算法和傳統(tǒng)協(xié)同過濾算法相比,提高了準確率和時效性,驗證了系統(tǒng)可較好地滿足用戶的實時需求。

        關(guān)鍵詞:Spark;實時;推薦算法;協(xié)同過濾

        中圖分類號:TP399? ? ?文獻標識碼:A

        文章編號:2096-1472(2021)-09-13-04

        Abstract: With the continuous expansion of the amount of Internet data, traditional recommendation model can no longer meet the demand for real-time recommendation. The deficiency of collaborative filtering recommendation algorithm is becoming more and more obvious. For this reason, this paper proposes to build a model-based recommendation algorithm based on the Spark platform of big data computing framework, in order to better deal with the problem of real-time recommendation of massive data. First of all, the model is constructed through the preset calculation method, and an improved cosine similarity algorithm is applied to the model, which can not only shorten the time of recommendation implementation, but also improve the performance of recommendation. Experimental results show that compared with the traditional collaborative filtering algorithm, the proposed algorithm improves the accuracy and timeliness, and verifies that the system can better meet the real-time needs of users.

        Keywords: Spark; real time; recommendation algorithm; collaborative filtering

        1? ?引言(Introduction)

        在信息爆炸的今天,信息超載的問題[1]逐漸顯現(xiàn)出來,人們有許多種方式和途徑去獲取信息,但是很難從這些信息中找到自己所感興趣的東西。推薦系統(tǒng)則是解決這個問題的關(guān)鍵所在[2-4]。推薦系統(tǒng)能夠通過分析用戶的興趣和行為,智能地向用戶推薦所需信息,其既需要篩選出大量有用的數(shù)據(jù),又要實時地滿足用戶的個性化需求[5],所以大數(shù)據(jù)處理是推薦系統(tǒng)所要具有的能力[6-7]。Spark是一種具有大數(shù)據(jù)處理能力的內(nèi)存計算框架[8],運行于Spark平臺的推薦系統(tǒng)可以發(fā)揮更高的處理能力。本文旨在利用Spark平臺對基于模型的推薦算法進行優(yōu)化與并行化實現(xiàn),和傳統(tǒng)的推薦算法相比,實時性與準確性也都有較大的提高。

        2? Spark分布式計算框架(Spark distributed computing framework)

        2.1? ?Spark運行架構(gòu)原理

        Apache Spark是一種基于內(nèi)存的快速、通用、可擴展的大數(shù)據(jù)計算引擎[9]。當執(zhí)行一個用戶編寫的Spark應(yīng)用程序時(SparkContext),Driver程序會創(chuàng)建SparkContext向集群申請資源,并在此階段中生成DAGScheduler和TaskScheduler兩個模塊,資源管理器啟動Executor進程。DAGScheduler將任務(wù)解析成Stage,之后把一個個TaskSet提供給底層調(diào)度器 TaskScheduler處理[10]。

        Executor向應(yīng)用程序申請Task,TaskScheduler將Task發(fā)放給Executor運行并提供應(yīng)用程序代碼。具體流程如圖1所示。

        2.2? ?Spark平臺部署

        本文搭建的Spark集群[11]采用3 臺普通的PC,其中包括1 個Master節(jié)點和2 個Slave節(jié)點。3 個節(jié)點均采用CentOS 6 Linux系統(tǒng),節(jié)點之間采用局域網(wǎng)連接,具體情況如表1所示。

        Java JDK安裝包采用jdk-8u144-linux-x64.tar.gz,Scala安裝包采用scala-sdk-2.11.8.tar.gz,Hadoop安裝包采用hadoop-2.7.2.tar.gz。安裝過程中配置安全外殼協(xié)議(SSH)以便實現(xiàn)遠程無密碼登錄與管理。完成Hadoop集群的配置安裝后進行Spark的安裝,Spark安裝包采用Spark-2.1.1-bin-hadoop2.7.tgz,軟件開發(fā)環(huán)境采用IntelliJIDEA 2019.2.4。

        3? 推薦系統(tǒng)與協(xié)同過濾推薦算法(Recommendation system and collaborative filtering recommendation algorithm)

        推薦系統(tǒng)需要大量的數(shù)據(jù)作為支撐,和搜索引擎[12]一樣,它需要挖掘和解析用戶歷史的行為數(shù)據(jù),盡可能地知曉用戶的個性化需求,進而主動為用戶提供所需信息,給用戶的興趣建模[13-14]。

        協(xié)同過濾推薦算法[15-17]是根據(jù)用戶行為數(shù)據(jù)設(shè)計的較早的著名推薦算法。協(xié)同過濾推薦算法可以分為基于用戶的協(xié)同過濾算法[18]和基于物品的協(xié)同過濾算法[19]兩類?;谟脩舻膮f(xié)同過濾算法的主要思路是首先確立目標用戶并找出與他相似興趣的用戶,在不考慮他們皆感興趣部分的前提下,將相似用戶感興趣的內(nèi)容推薦給目標用戶,適用于用戶較少的場合,比如新聞推薦?;谖锲返膮f(xié)同過濾算法主要是通過分析用戶的歷史行為記錄找出與之相似的物品,將這一類物品推薦給用戶,適用于物品數(shù)遠小于用戶數(shù)的場合,比如圖書、電子商務(wù)。

        4? ?基于模型的實時推薦算法(Model-based real-time recommendation algorithm)

        實時推薦結(jié)果反映了用戶最近一段時間的偏好[20-21],用協(xié)同過濾推薦算法已經(jīng)不足以滿足實時的需求,本文提出了基于模型的實時推薦算法,其主要思路是根據(jù)預(yù)先設(shè)定的模型來完成推薦。算法設(shè)計如下:

        當電影q被用戶u評分時,將對u的推薦結(jié)果進行實時更新。此時,推薦結(jié)果會產(chǎn)生改變,把和電影q極為近似的K 個電影挑選出來,將它們標記為備選電影。每個備選電影被推薦的先后順序取決于“推薦優(yōu)先級”的權(quán)重,它們會通過用戶u最近時間內(nèi)的評分,分別計算出各自的推薦優(yōu)先級,根據(jù)計算出來的結(jié)果同上一次的推薦結(jié)果進行歸并和更換,得出最終的實時推薦結(jié)果。詳細過程如下:

        按照時間先后順序,得到用戶u最近的K 個評分,表示為RK;對于電影q,將S記為與其最為近似的K 個電影的集合;之后計算每個電影的推薦優(yōu)先級,公式如式(1)所示。

        電影q和電影r之間的相似度用來表示,為了計算簡便,將最小相似度的閾值設(shè)置為0.7。兩個電影之間相似度如果低于0.7,則表示它們沒有關(guān)聯(lián),不予考慮;代表的是在RK中,不但與電影q相似,而且自身評分大于等于3的電影數(shù)量;RK中評分低于3,與電影q相似的電影數(shù)量則用來表示;是在RK中符合最小閾值條件的電影數(shù)量;其中在計算過程中用到了一種改進的余弦相似度公式,計算公式如式(2)所示。

        其中,表示電影的兩兩相似度,u代表用戶。由于存在熱門電影,很多用戶都很喜歡,這樣計算的相似度就會很大,因此會造成任何電影都會和熱門電影有很大的相似度。還有一種情況是,用戶看很多電影并不都是出于自身的興趣,雖然活躍,但是有可能是職業(yè)需要,而且這些電影覆蓋了很多領(lǐng)域,所以這個用戶對于他所看過的電影的兩兩相似度的貢獻應(yīng)該遠遠小于一個只看了幾部自己喜歡的電影但是不活躍的用戶。公式針對熱門電影和活躍用戶進行了一定的懲罰。

        在每個備選電影q中,從用戶u的最近K 個評分之中,發(fā)現(xiàn)和電影q相似度大于等于0.7的電影,將發(fā)現(xiàn)的每個電影r與備選電影q之間的相似度乘上r自身的評分,然后進行加權(quán)求和,得出用戶u對電影q評分的預(yù)測值。在用戶u評分的K 個電影中,將與電影q相似并且評分值大于等于3的電影數(shù)量標記為,而評分值小于3的電影數(shù)量標記為。用作電影q的“強化因子”,其作用是表示在用戶u評分過的K 個電影當中,評分值大于等于3且與電影q相似的個數(shù),那么需要根據(jù)相似的個數(shù)相應(yīng)地去增加電影q的推薦優(yōu)先級,如果其中相似的高評分電影越多,那么電影q被推薦的可能性越大;反之其被推薦的可能性比較小。用作電影q的“弱化因子”,作用是表示在用戶u評分過的K 個電影當中,評分值小于3且與電影q相似的個數(shù),則需要根據(jù)近似的個數(shù)相應(yīng)地去減少電影q的推薦優(yōu)先級,如果其中相似的低評分電影有很多,那么不推薦電影q的可能性較大。

        最終通過公式(1)計算出用戶u的每個備選電影q的推薦優(yōu)先級,并且形成一個電影的推薦列表。因為在本次推薦之前已經(jīng)有了一個舊的推薦列表,所以將兩個推薦列表按照推薦優(yōu)先級的大小進行歸并與替換,得到最終的推薦列表。

        在Spark上實現(xiàn)算法時,首先計算電影相似度矩陣,會為用戶、電影分別生成最終的特征矩陣。用戶特征矩陣為矩陣,每個用戶由 個特征描述;物品特征矩陣為矩陣,每個物品由 個特征描述,將它們保存在MongDB中。再計算每一個用戶最近對電影的K 次評分,存儲在Redis中。接下來讀取數(shù)據(jù)庫的數(shù)據(jù),計算備選電影的推薦優(yōu)先級,更新對userId的實時推薦結(jié)果。流程圖如圖2所示。

        5? ?實驗結(jié)果分析(Analysis of experimental results)

        5.1? ?實驗數(shù)據(jù)集

        本文使用公開MovieLens數(shù)據(jù)集,在Spark平臺和單機系統(tǒng)分別對比實時推薦算法在相似度修改前和修改后(實時推薦算法-l),以及基于物品的協(xié)同過濾算法在相似度修改前(ItemCF)和修改后(ItemCF-l)的推薦效果。此處選擇的數(shù)據(jù)大小為10 MB,共10,000 部電影、72,000 名用戶及1,000萬條評分數(shù)據(jù)。評分取值為1—5,得分越高,用戶對電影的評價越高。

        5.2? ?評測標準

        實時推薦算法的評價標準一般包括推薦時間效率、推薦質(zhì)量和推薦多樣性,它們分別反映了推薦算法的實時響應(yīng)、推薦性能和推薦過程中用戶的個性化請求。其中,推薦時間效率通過執(zhí)行算法的時間來衡量,推薦的質(zhì)量可以通過準確率和召回率來衡量[22-23]。

        準確率:推薦正確的電影數(shù)量占推薦電影總數(shù)的比例,公式如式(3)所示。

        召回率:在推薦結(jié)果中滿足用戶要求的電影數(shù)量占所有滿足要求的電影數(shù)量之比,公式如式(4)所示。

        其中,是基于用戶在訓(xùn)練集上的行為向用戶做出的推薦列表,是測試集上的用戶行為列表。

        5.3? ?實驗結(jié)果與分析

        論文選擇Recall和算法執(zhí)行時間作為推薦算法的評測標準。實驗隨機取數(shù)據(jù)集中的80%作為訓(xùn)練集,20%作為測試集。分別計算四種算法的Recall值和執(zhí)行時間,經(jīng)過八次計算,結(jié)果如圖3和圖4所示。

        由此可以看出,本文提出的算法效果要比傳統(tǒng)的協(xié)同過濾算法在性能上有較大的提升。Spark平臺推薦算法并行化實現(xiàn),實時推薦算法的部分運行結(jié)果如圖5所示。根據(jù)顯示的結(jié)果,推薦算法成功地將用戶的隱式行為與實際行為結(jié)合起來,可以根據(jù)用戶的當前反應(yīng)進行實時推薦,推薦結(jié)果更符合用戶的當前意圖。

        6? ?結(jié)論(Conclusion)

        本文提出了實時推薦算法并且設(shè)置了一種改進的余弦相似度公式,以減少活躍用戶對相似度的干擾。與傳統(tǒng)推薦算法相比,真實數(shù)據(jù)集的實驗檢驗了該算法在電影實時推薦中的準確性與時效性。但是,模型在評價指標的提升上沒有達到預(yù)期,這可能是模型的調(diào)參問題,或推薦模型的選擇問題,或特征工程不夠完善的問題,有待于進一步研究。

        參考文獻(References)

        [1] 陳瑋瑜.互聯(lián)網(wǎng)時代信息超載問題研究[J].傳播力研究,2019,3(08):243.

        [2] 李學(xué)超,張文德,曾金晶,等.推薦系統(tǒng)領(lǐng)域研究現(xiàn)狀分析[J].情報探索,2019,26(01):112-119.

        [3] 劉君良,李曉光.個性化推薦系統(tǒng)技術(shù)進展[J].計算機科學(xué),2020,47(07):47-55.

        [4] 周萬珍,曹迪,許云峰,等.推薦系統(tǒng)研究綜述[J].河北科技大學(xué)學(xué)報,2020,41(01):76-87.

        [5] 嚴磊,汪小可.基于Spark流式計算的實時電影推薦研究[J].軟件導(dǎo)刊,2019,18(05):44-48.

        [6] CHEN M, MAO S W, LIU Y H. Big data: A survey[J]. Mobile Networks and Applications, 2014, 19(2):171-209.

        [7] 蔡江輝,楊雨晴.大數(shù)據(jù)分析及處理綜述[J].太原科技大學(xué)學(xué)報,2020,41(06):417-424.

        [8] 孫麗.常見大數(shù)據(jù)處理框架比較研究[J].電腦知識與技術(shù),2020,16(12):3-5.

        [9] 宋泊東,張立臣,江其洲.基于Spark的分布式大數(shù)據(jù)分析算法研究[J].計算機應(yīng)用與軟件,2019,36(01):39-44.

        [10] 須成杰,肖喜榮,張敬誼.基于Spark的大數(shù)據(jù)分析平臺的設(shè)計和應(yīng)用[J].中國衛(wèi)生信息管理雜志,2019,16(05):633-637.

        [11] 唐未香,吳學(xué)楊,劉科峰.Spark分布式集群的搭建[J].福建電腦,2020,36(02):102-104.

        [12] GUEVARA S. Improve your search engine experience[J]. Information Today, 2020, 37(7):20.

        [13] 周雪梅.用戶興趣建模支持下的行為推薦算法特性分析[J].現(xiàn)代信息科技,2019,3(09):11-13.

        [14] 楊李婷,陳翰雄.用戶興趣建模綜述[J].軟件導(dǎo)刊,2015,14(10):20-23.

        [15] 翁小蘭,王志堅.協(xié)同過濾推薦算法研究進展[J].計算機工程與應(yīng)用,2018,54(01):25-31.

        [16] ZHANG F, GONG T, LEE V E, et al. Fast algorithms to evaluate collaborative filtering recommender systems[J]. Knowledge-Based Systems, 2016, 96(15):96-103.

        [17] TAO J H, GAN J H, WEN B. Collaborative filtering recommendation algorithm based on Spark[J]. International Journal of Performability Engineering, 2019, 15(3):930-938.

        [18] 蔣宗禮,于莉.基于用戶特征的協(xié)同過濾推薦算法[J].計算機系統(tǒng)應(yīng)用,2019,28(08):190-196.

        [19] 焦富森,李樹青.基于物品質(zhì)量和用戶評分修正的協(xié)同過濾推薦算法[J].數(shù)據(jù)分析與知識發(fā)現(xiàn),2019,3(08):62-67.

        [20] 李亞欣,蔡永香,張根.結(jié)合實時推薦與離線推薦的推薦系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2019,28(10):45-52.

        [21] 劉宇,周虎.基于Spark Streaming實時推薦系統(tǒng)的研究與設(shè)計[J].計算機與數(shù)字工程,2020,48(05):1172-1175.

        [22] 朱郁筱,呂琳媛.推薦系統(tǒng)評價指標綜述[J].電子科技大學(xué)學(xué)報,2012,41(02):163-175.

        [23] DUBE K, KAVU T D, RAETH P E, et al. A characterisation and framework for user-centric factors in evaluation methods for recommender systems[J]. International Journal of ICT Research in Africa and the Middle East, 2017, 6(1):1-16.

        作者簡介:

        牛路帥(1997-),男,碩士生.研究領(lǐng)域:大數(shù)據(jù),推薦系統(tǒng).

        彭? ?龑(1967-),男,博士,教授.研究領(lǐng)域:計算機應(yīng)用.

        猜你喜歡
        推薦算法實時協(xié)同過濾
        基于鏈式存儲結(jié)構(gòu)的協(xié)同過濾推薦算法設(shè)計與實現(xiàn)
        基于相似傳播和情景聚類的網(wǎng)絡(luò)協(xié)同過濾推薦算法研究
        社交網(wǎng)絡(luò)推薦系統(tǒng)
        基于協(xié)同過濾算法的個性化圖書推薦系統(tǒng)研究
        混合推薦算法在電影推薦中的研究與評述
        一種改進的基于位置的推薦算法
        一種改進的混音算法的研究與實現(xiàn)
        等公交,從“實時”開始
        人民周刊(2016年15期)2016-09-28 09:18:50
        基于GNSS實時在線監(jiān)測技術(shù)在天津市大型水工建筑位移監(jiān)測的關(guān)鍵技術(shù)研究
        一種基于鼠標定位原理的單目視覺定位技術(shù)
        科技視界(2016年7期)2016-04-01 11:30:10
        天堂在线观看av一区二区三区| 四川发廊丰满老熟妇| 欧美日韩国产成人高清视频| 成人激情四射网| 西西少妇一区二区三区精品| 成人久久黑人中出内射青草| 国产无夜激无码av毛片| 亚洲av无码一区二区三区网站 | a级特黄的片子| 手机看片福利盒子久久青| 日韩女同一区在线观看| 一本大道道久久综合av| 一边吃奶一边摸做爽视频| 久久久久亚洲av成人网址| 男女后入式在线观看视频| 欧美性生交大片免费看app麻豆 | 亚洲精品偷拍自综合网| 亚洲av无码成人网站在线观看| 杨幂AV污网站在线一区二区| 国产人妖赵恩静在线视频| 国内自拍色第一页第二页| 精品人妻中文无码av在线| 毛片无码国产| 色吧综合网| 美女一区二区三区在线观看视频| 午夜一区二区三区观看| 一本一道av中文字幕无码| 97中文字幕在线观看| 少妇被躁到高潮和人狍大战| 亚洲夜夜性无码| 色欲麻豆国产福利精品| 男人的天堂av一二三区| 日本av亚洲中文字幕| 双腿张开被9个男人调教| 亚洲精品成AV无在线观看| 97人妻中文字幕总站| 综合色就爱涩涩涩综合婷婷| 亚洲AV色无码乱码在线观看| 日本久久一级二级三级| 亚洲成熟女人毛毛耸耸多 | 亚洲综合无码|