• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于大數(shù)據(jù)技術(shù)的推薦系統(tǒng)研究

      2020-03-10 09:09:16蒙德欽張欽鋒
      科學(xué)與財(cái)富 2020年33期
      關(guān)鍵詞:大數(shù)據(jù)

      蒙德欽 張欽鋒

      摘 要:大數(shù)據(jù)時(shí)代已來(lái)臨,基于大數(shù)據(jù)技術(shù)的推薦系統(tǒng)為我們生活帶來(lái)了極大的便利,根據(jù)手機(jī)APP用戶的訪問(wèn)日志信息可以為用戶推薦相對(duì)應(yīng)的功能、產(chǎn)品和服務(wù),使得手機(jī)APP運(yùn)營(yíng)商能夠更高效、精準(zhǔn)地推薦產(chǎn)品、服務(wù)給用戶,從而達(dá)到提升用戶黏性、提高營(yíng)銷的目的。本文以大數(shù)據(jù)推薦系統(tǒng)在觀影APP的應(yīng)用為研究基礎(chǔ),總結(jié)凝練出一套適合應(yīng)用在電商、旅游、醫(yī)療、教育等行業(yè)的構(gòu)建大數(shù)據(jù)推薦系統(tǒng)的經(jīng)驗(yàn)方法,并淺析開(kāi)展大數(shù)據(jù)推薦系統(tǒng)研究的意義,最后對(duì)優(yōu)化大數(shù)據(jù)推薦系統(tǒng)的措施進(jìn)行分析,旨在為大數(shù)據(jù)推薦系統(tǒng)開(kāi)發(fā)者提供一些優(yōu)化算法參考。

      關(guān)鍵詞:大數(shù)據(jù),電影推薦系統(tǒng),算法設(shè)計(jì)

      1.前言

      隨著5G時(shí)代的來(lái)臨,網(wǎng)絡(luò)信息數(shù)據(jù)量大幅增長(zhǎng),用戶在面對(duì)海量信息時(shí)無(wú)法從中獲得對(duì)自己真正有用的那部分有價(jià)值的信息,使得用戶對(duì)信息的使用效率反而降低了。針對(duì)上述問(wèn)題,推薦系統(tǒng)被稱為當(dāng)前最具潛力的解決辦法,它是根據(jù)用戶的信息需求、興趣等,將用戶感興趣的服務(wù)、產(chǎn)品等推薦給用戶的個(gè)性化推薦系統(tǒng)。和搜索引擎相比推薦系統(tǒng)通過(guò)分析用戶的興趣偏好,進(jìn)行個(gè)性化計(jì)算,由系統(tǒng)發(fā)現(xiàn)用戶的興趣點(diǎn),從而引導(dǎo)用戶發(fā)現(xiàn)自己的信息需求。一個(gè)好的推薦系統(tǒng)不僅能為用戶提供個(gè)性化的服務(wù),還能和用戶之間建立密切關(guān)系,從而達(dá)到提升用戶黏性、提高營(yíng)銷的目的。

      基于大數(shù)據(jù)的推薦系統(tǒng)現(xiàn)已廣泛應(yīng)用于電商、旅游、交通、醫(yī)療等領(lǐng)域,其中最典型并具有良好的發(fā)展和應(yīng)用前景的領(lǐng)域就是電子商務(wù)領(lǐng)域。同時(shí)學(xué)術(shù)界對(duì)大數(shù)據(jù)推薦系統(tǒng)的研究熱度持續(xù)升高,現(xiàn)階段已形成了一門獨(dú)立的學(xué)科。

      2.電影推薦系統(tǒng)的體系架構(gòu)設(shè)計(jì)

      項(xiàng)目以推薦系統(tǒng)建設(shè)領(lǐng)域知名的經(jīng)過(guò)修改過(guò)的 MovieLens 數(shù)據(jù)集作為依托,以某科技公司電影網(wǎng)站真實(shí)業(yè)務(wù)數(shù)據(jù)架構(gòu)為基礎(chǔ),構(gòu)建了符合教學(xué)體系的一體化的電影推薦系統(tǒng),包含了離線推薦與實(shí)時(shí)推薦體系,綜合利用了協(xié)同過(guò)濾算法以及基于內(nèi)容的推薦方法來(lái)提供混合推薦。提供了從前端應(yīng)用、后臺(tái)服務(wù)、算法設(shè)計(jì)實(shí)現(xiàn)、平臺(tái)部署等多方位的閉環(huán)的業(yè)務(wù)實(shí)現(xiàn)。

      2.1系統(tǒng)架構(gòu)設(shè)計(jì)

      2.2 數(shù)據(jù)流設(shè)計(jì)

      3.電影推薦系統(tǒng)的體系架構(gòu)介紹

      本系統(tǒng)的實(shí)現(xiàn)過(guò)程中用到了多種工具進(jìn)行數(shù)據(jù)的存儲(chǔ)、計(jì)算、采集和傳輸,本章主要介紹設(shè)計(jì)的工具環(huán)境。

      3.1數(shù)據(jù)存儲(chǔ)部分架構(gòu)介紹

      業(yè)務(wù)數(shù)據(jù)庫(kù):項(xiàng)目采用廣泛應(yīng)用的文檔數(shù)據(jù)庫(kù) MongDB 作為主數(shù)據(jù)庫(kù),主要負(fù)責(zé)平臺(tái)業(yè)務(wù)邏輯數(shù)據(jù)的存儲(chǔ)。

      搜索服務(wù)器:項(xiàng)目使用 ElasticSearch 作為模糊檢索服務(wù)器,通過(guò)利用 ES 強(qiáng)大的匹配查詢能力實(shí)現(xiàn)基于內(nèi)容的推薦服務(wù)。

      緩存數(shù)據(jù)庫(kù):項(xiàng)目采用 Redis 作為緩存數(shù)據(jù)庫(kù),主要用來(lái)支撐實(shí)時(shí)推薦系統(tǒng)部分對(duì)于數(shù)據(jù)的高速獲取需求

      3.2離線推薦部分部分架構(gòu)介紹

      離線統(tǒng)計(jì)服務(wù):批處理統(tǒng)計(jì)性業(yè)務(wù)采用 Spark Core + Spark SQL 進(jìn)行實(shí)現(xiàn),實(shí)現(xiàn)對(duì)指標(biāo)類數(shù)據(jù)的統(tǒng)計(jì)任務(wù)。

      離線推薦服務(wù):離線推薦業(yè)務(wù)采用 Spark Core + Spark MLlib 進(jìn)行實(shí)現(xiàn),采用ALS 算法進(jìn)行實(shí)現(xiàn)。

      工作調(diào)度服務(wù):對(duì)于離線推薦部分需要以一定的時(shí)間頻率對(duì)算法進(jìn)行調(diào)度,采 用 Azkaban 進(jìn)行任務(wù)的調(diào)度。

      3.3實(shí)時(shí)推薦部分架構(gòu)介紹

      日志采集服務(wù):通過(guò)利用 Flume-ng 對(duì)業(yè)務(wù)平臺(tái)中用戶對(duì)于電影的一次評(píng)分行為進(jìn)行采集,實(shí)時(shí)發(fā)送到 Kafka 集群。

      消息緩沖服務(wù):項(xiàng)目采用 Kafka 作為流式數(shù)據(jù)的緩存組件,接受來(lái)自 Flume 的數(shù)據(jù)采集請(qǐng)求。并將數(shù)據(jù)推送到項(xiàng)目的實(shí)時(shí)推薦系統(tǒng)部分。[1]

      實(shí)時(shí)推薦服務(wù):項(xiàng)目采用 Spark Streaming 作為實(shí)時(shí)推薦系統(tǒng),通過(guò)接收 Kafka中緩存的數(shù)據(jù),通過(guò)設(shè)計(jì)的推薦算法實(shí)現(xiàn)對(duì)實(shí)時(shí)推薦的數(shù)據(jù)處理,并將結(jié)構(gòu)合并更新到 MongoDB 數(shù)據(jù)庫(kù)。[2]

      4.電影推薦系統(tǒng)實(shí)現(xiàn)前準(zhǔn)備

      系統(tǒng)使用 Scala語(yǔ)言編寫(xiě),采用 IDEA工具作為開(kāi)發(fā)環(huán)境進(jìn)行項(xiàng)目編寫(xiě),采用maven 作為項(xiàng)目構(gòu)建和管理工具。在項(xiàng)目的src/main/目錄下,將經(jīng)過(guò)修改過(guò)的 MovieLens 數(shù)據(jù)集movies.csv,ratings.csv,tags.csv 復(fù)制到資源文件目錄src/main/resources 下,我們將從這里讀取數(shù)據(jù)并加載到 mongodb 和elasticsearch 中。從而完成電影數(shù)據(jù)的加載準(zhǔn)備。

      5.離線推薦服務(wù)建設(shè)

      離線推薦服務(wù)是綜合用戶所有的歷史數(shù)據(jù),利用設(shè)定的離線統(tǒng)計(jì)算法和離線推薦算法周期性的進(jìn)行結(jié)果統(tǒng)計(jì)與保存,計(jì)算的結(jié)果在一定時(shí)間周期內(nèi)是固定不變的,變更的頻率取決于算法調(diào)度的頻率。離線推薦服務(wù)主要計(jì)算一些可以預(yù)先進(jìn)行統(tǒng)計(jì)和計(jì)算的指標(biāo),為實(shí)時(shí)計(jì)算和前端業(yè)務(wù)相應(yīng)提供數(shù)據(jù)支撐。[3]離線推薦服務(wù)主要分為統(tǒng)計(jì)性算法、基于 ALS 的協(xié)同過(guò)濾推薦算法以及基于ElasticSearch 的內(nèi)容推薦算法。

      在 resources 文件夾下引入 log4j.properties,然后在 src/main/scala 下新建 scala 單例對(duì)象StatisticsRecommender。

      5.1 實(shí)現(xiàn)歷史熱門電影統(tǒng)計(jì)

      根據(jù)所有歷史評(píng)分?jǐn)?shù)據(jù),計(jì)算歷史評(píng)分次數(shù)最多的電影。通過(guò) Spark SQL 讀取評(píng)分?jǐn)?shù)據(jù)集,統(tǒng)計(jì)所有評(píng)分中評(píng)分?jǐn)?shù)最多的電影,然后按照從大到小排序,將最終結(jié)果寫(xiě)入MongoDB 的RateMoreMovies 數(shù)據(jù)集中。

      5.2 實(shí)現(xiàn)最近熱門電影統(tǒng)計(jì)

      根據(jù)評(píng)分,按月為單位計(jì)算最近時(shí)間的月份里面評(píng)分?jǐn)?shù)最多的電影集合。通過(guò) Spark SQL 讀取評(píng)分?jǐn)?shù)據(jù)集,通過(guò) UDF 函數(shù)將評(píng)分的數(shù)據(jù)時(shí)間修改為月,然后統(tǒng)計(jì)每月電影的評(píng)分?jǐn)?shù) 。 統(tǒng)計(jì)完成之后將數(shù)據(jù)寫(xiě)入到 MongoDB 的RateMoreRecentlyMovies 數(shù)據(jù)集中。

      5.3 實(shí)現(xiàn)電影平均得分統(tǒng)計(jì)

      根據(jù)歷史數(shù)據(jù)中所有用戶對(duì)電影的評(píng)分,周期性的計(jì)算每個(gè)電影的平均得分。通過(guò) Spark SQL 讀取保存在 MongDB 中的 Rating 數(shù)據(jù)集,通過(guò)執(zhí)行以下 SQL 語(yǔ)句實(shí)現(xiàn)對(duì)于電影的平均分統(tǒng)計(jì):

      統(tǒng)計(jì)完成之后將生成的新的 DataFrame 寫(xiě)出到 MongoDB 的 AverageMoviesScore 集合中。

      5.4基于隱語(yǔ)義模型的協(xié)同過(guò)濾推薦

      采用 ALS 作為協(xié)同過(guò)濾算法,分別根據(jù) MongoDB 中的用戶評(píng)分表和電影 數(shù)據(jù)集計(jì)算用戶電影推薦矩陣以及電影相似度矩陣。

      通過(guò) ALS 訓(xùn)練出來(lái)的 Model 來(lái)計(jì)算所有當(dāng)前用戶電影的推薦矩陣,主要思路如下:

      1. UserId 和 MovieID 做笛卡爾積,產(chǎn)生(uid,mid)的元組

      2. 通過(guò)模型預(yù)測(cè)(uid,mid)的元組。

      3. 將預(yù)測(cè)結(jié)果通過(guò)預(yù)測(cè)分值進(jìn)行排序。

      4. 返回分值最大的 K 個(gè)電影,作為當(dāng)前用戶的推薦。

      最后生成的數(shù)據(jù)結(jié)構(gòu)如下:將數(shù)據(jù)保存到 MongoDB 的 UserRecs 表中。

      5.5電影相似度矩陣

      通過(guò) ALS 計(jì)算電影見(jiàn)相似度矩陣,該矩陣用于查詢當(dāng)前電影的相似電影并為實(shí)時(shí)推薦系統(tǒng)服務(wù)。

      離線計(jì)算的 ALS 算法,算法最終會(huì)為用戶、電影分別生成最終的特征矩陣,分別是表示用戶特征矩陣的 U(m x k)矩陣,每個(gè)用戶由 k 個(gè)特征描述;表示物品特征矩陣的 V(n x k)矩陣,每個(gè)物品也由 k 個(gè)特征描述。[4]V(n x k)表示物品特征矩陣,每一行是一個(gè) k 維向量,雖然我們并不知道每一個(gè)維度的特征意義是什么,但是 k 個(gè)維度的數(shù)學(xué)向量表示了該行對(duì)應(yīng)電影的特征。 所以,每個(gè)電影用 V(n x k)每一行的向量表示其特征,于是任意

      數(shù)據(jù)集中任意兩個(gè)電影間相似度都可以由公式計(jì)算得到,電影與電影之間的相 度在一段時(shí)間內(nèi)基本是固定值。[5]最后生成的數(shù)據(jù)保存到 MongoDB 的MovieRecs 表中。

      6.實(shí)時(shí)推薦服務(wù)建設(shè)

      實(shí)時(shí)計(jì)算與離線計(jì)算應(yīng)用于推薦系統(tǒng)上最大的不同在于實(shí)時(shí)計(jì)算推薦結(jié)果應(yīng)該反映最近一段時(shí)間用戶近期的偏好,而離線計(jì)算推薦結(jié)果則是根據(jù)用戶從第一次評(píng)分起的所有評(píng)分記錄來(lái)計(jì)算用戶總體的偏好。[6]

      用戶對(duì)物品的偏好隨著時(shí)間的推移總是會(huì)改變的。比如一個(gè)用戶 u 在某時(shí)刻對(duì)電影 p 給予了極高的評(píng)分,那么在近期一段時(shí)候,u 極有可能很喜歡與電影 p 類似的其他電影;而如果用戶 u 在某時(shí)刻對(duì)電影 q 給予了極低的評(píng)分,那么在近期一段時(shí)候,u 極有可能不喜歡與電影 q 類似的其他電影。所以對(duì)于實(shí)時(shí)推薦,當(dāng)用戶對(duì)一個(gè)電影進(jìn)行了評(píng)價(jià)后,用戶會(huì)希望推薦結(jié)果基于最近這幾次評(píng)分進(jìn)行一定的更新,使得推薦結(jié)果匹配用戶近期的偏好,滿足用戶近期的口味。[7]

      如果實(shí)時(shí)推薦繼續(xù)采用離線推薦中的 ALS 算法,由于算法運(yùn)行時(shí)間巨大,不具有實(shí)時(shí)得到新的推薦結(jié)果的能力;并且由于算法本身的使用的是評(píng)分表,用戶本次評(píng)分后只更新了總評(píng)分表中的一項(xiàng),使得算法運(yùn)行后的推薦結(jié)果與用戶本次評(píng)分之前的推薦結(jié)果基本沒(méi)有多少差別,從而給用戶一種推薦結(jié)果一直沒(méi)變化的感覺(jué),很影響用戶體驗(yàn)。

      另外,在實(shí)時(shí)推薦中由于時(shí)間性能上要滿足實(shí)時(shí)或者準(zhǔn)實(shí)時(shí)的要求,所以算法的計(jì)算量不能太大,避免復(fù)雜、過(guò)多的計(jì)算造成用戶體驗(yàn)的下降。[8]鑒于此,推薦精度往往不會(huì)很高。實(shí)時(shí)推薦系統(tǒng)更關(guān)心推薦結(jié)果的動(dòng)態(tài)變化能力,只要更新推薦結(jié)果的理由合理即可,至于推薦的精度要求則可以適當(dāng)放寬。

      6.冷啟動(dòng)問(wèn)題處理

      整個(gè)推薦系統(tǒng)更多的是依賴于用于的偏好信息進(jìn)行電影的推薦,那么就會(huì)存在一個(gè)問(wèn)題,對(duì)于新注冊(cè)的用戶是沒(méi)有任何偏好信息記錄的,那這個(gè)時(shí)候推薦就會(huì)出現(xiàn)問(wèn)題,導(dǎo)致沒(méi)有任何推薦的項(xiàng)目出現(xiàn)。

      處理這個(gè)問(wèn)題一般是通過(guò)當(dāng)用戶首次登陸時(shí),為用戶提供交互式的窗口來(lái)獲取用戶對(duì)于物品的偏好。

      在本項(xiàng)目中,當(dāng)用戶第一次登陸的時(shí)候,系統(tǒng)會(huì)詢問(wèn)用戶對(duì)于影片類別的偏好。

      7.基于內(nèi)容的推薦服務(wù)

      原始數(shù)據(jù)中的 tag 文件,是用戶給電影打上的標(biāo)簽,這部分內(nèi)容想要直接轉(zhuǎn)成評(píng)分并不容易,不過(guò)我們可以將標(biāo)簽內(nèi)容進(jìn)行提取,得到電影的內(nèi)容特征向量,進(jìn)而可以通過(guò)求取相似度矩陣。這部分可以與實(shí)時(shí)推薦系統(tǒng)直接對(duì)接,計(jì)算出與用戶當(dāng)前評(píng)分電影的相似電影,實(shí)現(xiàn)基于內(nèi)容的實(shí)時(shí)推薦。[9]為了避免熱門標(biāo)簽對(duì)特征提取的影響,我們還可以通過(guò) TF-IDF 算法對(duì)標(biāo)簽的權(quán)重進(jìn)行調(diào)整,從而盡可能地接近用戶偏好。

      8.總結(jié)

      本文通過(guò)整合當(dāng)前主流的大數(shù)據(jù)架構(gòu),構(gòu)建了一個(gè)智能的電影推薦系統(tǒng),針對(duì)不同用戶,通過(guò)使用基于內(nèi)容的推薦、基于協(xié)同過(guò)濾等經(jīng)典數(shù)據(jù)挖掘算法,剖析數(shù)據(jù)間的關(guān)系,從而完成電影推薦系統(tǒng)的相關(guān)功能。用戶為系統(tǒng)提供一個(gè)電影的名稱,系統(tǒng)做出與這部電影在電影所屬類別、電影演員、受歡迎程度、電影發(fā)布時(shí)間等綜合程度相似度最高的若干影片推薦。最后通過(guò)對(duì)電影推薦系統(tǒng)的研究,總結(jié)凝練出一套適合應(yīng)用在電商、旅游、醫(yī)療、教育等其他行業(yè)的構(gòu)建大數(shù)據(jù)推薦系統(tǒng)的經(jīng)驗(yàn)方法,旨在為大數(shù)據(jù)推薦系統(tǒng)開(kāi)發(fā)者提供一些優(yōu)化算法、架構(gòu)技術(shù)等方面參考。

      參考文獻(xiàn):

      [1]溫向慧,基于流計(jì)算的實(shí)時(shí)推薦系統(tǒng)的研究[D] :西北師范大學(xué)碩士論文,2018

      [2]周虎,基于Spark Streaming實(shí)時(shí)推薦系統(tǒng)的研究與實(shí)現(xiàn) [D]武漢郵電科學(xué)研究院碩士論文,2019

      [3]劉忠寶,李花,宋文愛(ài),孔祥艷,李宏艷,張靜,基于二部圖的學(xué)習(xí)資源混合推薦方法研究[J] 電化教育研究,2018

      [4]李琛軒,面向推薦的大數(shù)據(jù)計(jì)算與存儲(chǔ)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn) [D]哈爾濱工業(yè)大學(xué)碩士論文,2016

      [5]孫遠(yuǎn)帥,基于大數(shù)據(jù)的推薦算法研究[D],廈門大學(xué)碩士論文

      [6]王發(fā)旺,結(jié)合屬性特征的混合推薦系統(tǒng)研究與實(shí)現(xiàn) [D],浙江工商大學(xué)碩士論文,2019

      [7]柴華,基于協(xié)同過(guò)濾和內(nèi)容過(guò)濾的混合廣告推薦技術(shù)的研究,北京郵電大學(xué)碩士論文,2015

      [8]姜鵬,許峰,周文歡,大規(guī)?;ヂ?lián)網(wǎng)推薦系統(tǒng)優(yōu)化算法[D]計(jì)算機(jī)工程與科學(xué),2013

      [9]劉仲民,基于圖論的圖像分割算法的研究[D],蘭州理工大學(xué)博士論文,2018

      作者簡(jiǎn)介:

      蒙德欽(1997.08-),男,漢族,廣西貴港人,畢業(yè)于玉林師范學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),本科學(xué)士,廣西城市職業(yè)大學(xué),研究方向:大數(shù)據(jù)系統(tǒng)開(kāi)發(fā)、算法設(shè)計(jì)

      張欽鋒(1980.03-),男, 漢族, 廣西北海市,畢業(yè)與貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),本科學(xué)士,廣西城市職業(yè)大學(xué),講師,研究方向:軟件開(kāi)發(fā)、算法設(shè)計(jì)、計(jì)算機(jī)網(wǎng)絡(luò)

      基金項(xiàng)目:本文系2020年度廣西高校中青年教師基礎(chǔ)能力提升項(xiàng)目(基于大數(shù)據(jù)技術(shù)的推薦系統(tǒng)研究)(編號(hào):2020KY66013)

      (廣西城市職業(yè)大學(xué)信息工程學(xué)院 ?廣西壯族自治區(qū)崇左市 ?532200)

      猜你喜歡
      大數(shù)據(jù)
      基于在線教育的大數(shù)據(jù)研究
      “互聯(lián)網(wǎng)+”農(nóng)產(chǎn)品物流業(yè)的大數(shù)據(jù)策略研究
      基于大數(shù)據(jù)的小微電商授信評(píng)估研究
      大數(shù)據(jù)時(shí)代新聞的新變化探究
      商(2016年27期)2016-10-17 06:26:00
      淺談大數(shù)據(jù)在出版業(yè)的應(yīng)用
      今傳媒(2016年9期)2016-10-15 23:35:12
      “互聯(lián)網(wǎng)+”對(duì)傳統(tǒng)圖書(shū)出版的影響和推動(dòng)作用
      今傳媒(2016年9期)2016-10-15 22:09:11
      大數(shù)據(jù)環(huán)境下基于移動(dòng)客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
      新聞世界(2016年10期)2016-10-11 20:13:53
      基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
      科技視界(2016年20期)2016-09-29 10:53:22
      數(shù)據(jù)+輿情:南方報(bào)業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
      天峻县| 富裕县| 格尔木市| 荆州市| 全椒县| 湖北省| 长兴县| 翼城县| 同江市| 天津市| 德庆县| 长子县| 凌云县| 黄山市| 阿尔山市| 曲麻莱县| 鄂尔多斯市| 兰西县| 隆回县| 杨浦区| 特克斯县| 屯留县| 济源市| 罗田县| 屯留县| 濮阳市| 西乌| 家居| 博野县| 泗洪县| 微博| 江北区| 肥西县| 梁平县| 仪陇县| 隆安县| 大同县| 广昌县| 金乡县| 宁陵县| 买车|