版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
電影推薦系統(tǒng)設(shè)計講師:武晟然項目框架數(shù)據(jù)源解析統(tǒng)計推薦模塊離線推薦模塊實時推薦模塊基于內(nèi)容的推薦模塊主要內(nèi)容項目框架大數(shù)據(jù)處理流程系統(tǒng)模塊設(shè)計項目系統(tǒng)架構(gòu)項目數(shù)據(jù)流圖數(shù)據(jù)應(yīng)用數(shù)據(jù)計算數(shù)據(jù)存儲數(shù)據(jù)采集數(shù)據(jù)源日志數(shù)據(jù)關(guān)系數(shù)據(jù)圖片視頻KafkaSqoopFlumeScribeETL工具結(jié)構(gòu)化數(shù)據(jù)半結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)HDFSMapReduce可視化EchartsD3HBaseCassandraGreenPlumOracleSparkFlinkStormMahout業(yè)務(wù)應(yīng)用BI分析Tableau數(shù)據(jù)生命周期大數(shù)據(jù)處理流程我們的目標(biāo)電影推薦網(wǎng)站實時推薦服務(wù)基于模型的推薦基于內(nèi)容的推薦協(xié)同過濾的推薦離線推薦服務(wù)實時個性化推薦離線個性化推薦統(tǒng)計推薦相似性推薦評分標(biāo)簽檢索離線統(tǒng)計服務(wù)內(nèi)容檢索服務(wù)系統(tǒng)模塊設(shè)計離線在線近線項目系統(tǒng)架構(gòu)log系統(tǒng)數(shù)據(jù)流圖數(shù)據(jù)源解析電影信息用戶評分信息電影標(biāo)簽信息movies.csvratings.csvtags.csv電影ID(MID)電影名稱(NAME)電影描述(DESCRI)電影時長(TIMELONG)發(fā)行時間(ISSUE)拍攝時間(SHOOT)電影語言(LANGUAGE)電影類別(DIRECTOR)電影演員(ACTORS)電影導(dǎo)演(DIRECTOR)1ToyStory-81minutesMarch2020011995EnglishAdventure|Animation|…|FantasyTomHanks|…|JimJohnLasseter…………………………30ShanghaiTriad-108minutesDecember1220001995ChineseCrime|DramaGongLi|…|LiBao-TianZhangYimou電影信息用戶ID(UID)電影ID(MID)電影評分(SCORE)評分時間(TIMESTAMP)67158164106511196367159023.51064245507…………671595251063502716用戶評分信息用戶ID(UID)電影ID(MID)電影標(biāo)簽(TAG)標(biāo)簽時間(TIMESTAMP)15339sandra'boring'bullock1138537770151955dentist1193435061…………15100365uganda1425876220電影標(biāo)簽信息主要數(shù)據(jù)模型統(tǒng)計推薦模塊歷史熱門電影統(tǒng)計近期熱門電影統(tǒng)計電影平均評分統(tǒng)計各類別Top10優(yōu)質(zhì)電影統(tǒng)計統(tǒng)計推薦模塊SparkSession.readSparkSession.writemongo-spark-connector統(tǒng)計推薦模塊歷史熱門電影統(tǒng)計統(tǒng)計所有歷史數(shù)據(jù)中每個電影的評分?jǐn)?shù)selectmid,count(mid)ascountfromratingsgroupbymid
RateMoreMoviesRateMoreMovies數(shù)據(jù)結(jié)構(gòu):mid,count近期熱門電影統(tǒng)計統(tǒng)計每月的電影評分個數(shù),就代表了電影近期的熱門度selectmid,score,changeDate(timestamp)asyearmonthfromratings
ratingOfMonthselectmid,count(mid)ascount,yearmonthfromratingOfMonthgroupbyyearmonth,midorderbyyearmonthdesc,countdesc RateMoreRecentlyMovieschangDate:UDF函數(shù),使用SimpleDateFormat對Date進(jìn)行格式轉(zhuǎn)化,轉(zhuǎn)化格式為“yyyyMM”RateMoreRecentlyMovies數(shù)據(jù)結(jié)構(gòu):mid,count,yearmonth電影平均評分統(tǒng)計selectmid,avg(score)asavgfromratingsgroupbymid AverageMoviesAverageMovies數(shù)據(jù)結(jié)構(gòu):mid,avg各類別Top10評分電影統(tǒng)計selecta.mid,genres,if(isnull(b.avg),0,b.avg)scorefrommoviesaleftjoinaverageMoviesbona.mid=b.mid movieWithScorespark.sql("select*from(select"+"mid,"+"gen,"+"score,"+"row_number()over(partitionbygenorderbyscoredesc)rank"+"from"+"(selectmid,score,explode(splitGe(genres))genfrommovieWithScore)
genresMovies)rankGenresMovies"+"whererank<=10")splitGe:UDF函數(shù),按照‘|’字符對字符串進(jìn)行切分離線推薦模塊用ALS算法訓(xùn)練隱語義模型計算用戶推薦矩陣計算電影相似度矩陣離線推薦模塊DataSet[MovieRating]SparkSession.readRDD[Rating(uid,mid,score)]mapvalmodel=ALS.train(trainData,rank,iterations,lambda)RMSE
均方根誤差:均方誤差的算術(shù)平方根,預(yù)測值與真實值之間的誤差參數(shù)調(diào)整
可以通過均方根誤差,來多次調(diào)整參數(shù)值,選擇RMSE最小的一組參數(shù)值rank,iterations,lambdaALS推薦模型訓(xùn)練ALSuserRDD:RDD[Int]movieRDD:RDD[Int]userMovies:RDD[(uid,mid)]predictRating:RDD[Rating(uid,mid,predict)]userGroupRatings:RDD[(uid,Seq[Rating])]userRecs:RDD[(uid,Seq[(mid,score)])]笛卡爾積model.predict(userMovies)groupByKeysortBy(‘score’).take(20)SparkSession.write計算用戶推薦矩陣movieFeatures:RDD[mid,DoubleMatrix]movieFeatures:RDD[mid,DoubleMatrix]movieSim:RDD[(mid,(mid,consinSim))]modelmoviesSimGroup:RDD[(mid,Seq(mid,consinSim))]笛卡爾積Filter(consinSim>0.6).groupByKductFeaturesMatrix(N,M)=Matrix(N,K)×
Matrix(K,M)
計算電影相似度矩陣
movieRecs:RDD[(uid,Seq[(mid,score)])]SparkSession.writespark-redis存儲電影相似度矩陣實時推薦模塊實時推薦架構(gòu)實時推薦優(yōu)先級計算基于模型的實時推薦模塊log計算速度要快結(jié)果可以不是特別精確有預(yù)先設(shè)計好的推薦模型uid,mid,score,timestamp基于模型的實時推薦模塊基本原理:用戶最近一段時間的口味是相似的備選電影推薦優(yōu)先級:A5.0B4.0C1.0D4.0X?Y?Z?用戶最近k次評分備選電影Sim(A,X)Sim(B,X)Sim(C,X)X的推薦優(yōu)先級分?jǐn)?shù)為:?=(sim(A,X)*5+sim(B,X)*4+sim(C,X)*1)/3+lg2–lg1推薦優(yōu)先級計算KRatings:Seq[(mid,score)]Movies【候選電影】:Seq[Int]計算分?jǐn)?shù):((sim(A,X)*5+sim(B,X)*4+sim(C,X))/3獲取和K次評分的每個電影的相似度Score(X)+log2–log1和前面的實時結(jié)果合并更新加上偏移項uid,mid,score,timestampRedis電影相似度矩陣Redis用戶最近K
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026江西農(nóng)業(yè)大學(xué)國土資源與環(huán)境學(xué)院國土學(xué)院招聘臨時工1人備考題庫及答案詳解(新)
- 2026北方人才集團(tuán)內(nèi)蒙古區(qū)域招聘備考題庫及1套參考答案詳解
- 2026年湖南郴州桂陽縣縣直事業(yè)單位公開選聘5人備考題庫帶答案詳解
- 2026上半年云南民族大學(xué)招聘碩士人員7人考試參考試題及答案解析
- 2026年1月湖南高速物流發(fā)展有限公司招聘備考考試試題及答案解析
- 2026年度馬鞍山市直事業(yè)單位公開招聘工作人員88名考試參考試題及答案解析
- 2026山東威海榮成市事業(yè)單位招聘初級綜合類崗位人員備考題庫及一套參考答案詳解
- 2026年紹興新昌縣教體系統(tǒng)校園公開招聘教師27人備考題庫參考答案詳解
- 2026南平武發(fā)房產(chǎn)集團(tuán)有限公司職業(yè)經(jīng)理人招聘1人考試參考試題及答案解析
- 2026河北保定雄縣雄安復(fù)興小學(xué)招聘見習(xí)崗備考考試題庫及答案解析
- 教育培訓(xùn)行業(yè)發(fā)展趨勢與機(jī)遇分析
- 機(jī)關(guān)人員公務(wù)出差審批單
- 物業(yè)與商戶裝修協(xié)議書
- 2025年五上課外閱讀題庫及答案
- 湖南鐵道職業(yè)技術(shù)學(xué)院2025年單招職業(yè)技能測試題
- GB/T 46318-2025塑料酚醛樹脂分類和試驗方法
- 果農(nóng)水果出售合同范本
- 小學(xué)三年級數(shù)學(xué)選擇題專項測試100題帶答案
- 2025年尿液分析儀行業(yè)分析報告及未來發(fā)展趨勢預(yù)測
- 2026屆湖北省宜昌市秭歸縣物理八年級第一學(xué)期期末質(zhì)量跟蹤監(jiān)視試題含解析
評論
0/150
提交評論