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

基于Spark 框架的電影推薦系統的實現

2021-03-30 01:06:46賴麗君
鄂州大學學報 2021年2期
關鍵詞:用戶模型系統

賴麗君

(泉州經貿職業技術學院信息技術系,福建泉州362000)

推薦系統通過分析海量信息來挖掘、 學習用戶的興趣或喜好,結合推薦技術及系統支撐框架,為每個用戶推薦其感興趣的產品或內容。 目前解決“信息過載”的兩種重要的手段即是利用推薦系統與搜索引擎[1],兩者均能協助用戶獲取感興趣的內容, 不同于搜索引擎, 推薦系統在進行深度挖掘、分析用戶數據,推測用戶興趣和喜好時是通過選用合適的推薦算法來進行處理, 把用戶主動搜索的方式轉化為系統主動推送其感興趣的內容或產品,為用戶提供智能化、個性化的推薦服務。

1 Spark 框架

推薦系統目前已經廣泛應用于電影、 音樂、電子商務等網站中,并取得較好的推薦效果,推薦系統以往是基于Hadoop 框架下的MapReduce 的分布式計算平臺的,能解決海量數據的高效存儲和分布式計算問題, 但是隨著網絡和大數據技術的發展,對推薦系統的計算速度、實時性要求更高,而傳統的基于Hadoop 計算平臺不能滿足需要,Spark 框架以其計算速度快、 實時性強等特點, 逐漸取代MapReduce 成為目前熱門的推薦系統框架。

Apache Spark 是用于針對大規模數據處理的一種統一分析引擎[2]。 Spark 由Scala 語言實現,支持Python、Java、Scala 等語言開發, 可以和其他大數據工具如Hadoop、Kafka 等很好地整合。 Spark是基于內存計算的,且具有易操作的特點,能夠快速、 簡潔、 高效的進行并行化應用的開發[3]。 與Hadoop 相比,Spark 因其數據結構RDD 強大的計算能力, 對于處理數據挖掘與機器學習算法更加適合[4],能夠更高效地實現MapReduce 的操作。

2 算法模型

2.1 協同過濾算法

基于協同過濾、內容的推薦、混合推薦的這類的算法是傳統的推薦方法[5],在這三種算法中,當前使用最為廣泛, 最為經典的方法則是協同過濾算法, 如矩陣因子分解借助于用戶與項目或產品之間的交互信息,向用戶提供推薦內容。 協同過濾算法目前有很多,主流的算法有兩種,分別是基于模型的協同過濾與基于鄰域的協同過濾。

基于鄰域的協同過濾算法在進行推薦的過程中,通過對鄰域進行搜索來計算相似度,主要相似度的計算為用戶之間的相似度與項目之間的相似度,它的實現相對簡單,但也存在過分依賴用戶的評分的缺點,特別是數據很稀疏時,推薦系統的預測精度將會急劇下降, 這將導致無法為新用戶進行推薦的問題出現[6],基于模型的協同過濾算法在這種情況下, 它的預測速度將會更快且算法的可擴展性更強, 有一種典型的代表就是使用最小二乘法(ALS)進行矩陣分解算法。

2.2 交替最小二乘(ALS)算法

ALS 同時考慮了用戶和物品兩個方面, 將用戶和物品的關系抽象為一個三元組<用戶, 物品,用戶對物品的評分>,并表示為一個評分矩陣,由于用戶不可能對所有物品進行評分, 所以R 矩陣注定是一個稀疏矩陣,缺失不少評分。 為填充空值,ALS 算法采用“隱語義模型”,通過降維的方法來補全“用戶-物品”矩陣,并對沒有出現的值進行估計[7],這使得稀疏矩陣的問題能得到有效地解決。在ALS 算法中, 首先假設有m 個用戶,n 個物品,用矩陣Rm×n來表示用戶對物品的評分, 即矩陣元素Rij代表評分值為第i 個用戶對第j 個物品的評分[8]。 Rm×n矩陣的規模通常很大,而且數據稀疏,為填充缺失值,ALS 算法假設評分矩陣是近似低秩的,將Rm×n分解為兩個子矩陣Xm×k(用戶對隱含特征的偏好矩陣),Yk×n(物品包含隱含特征的矩陣),使兩個矩陣相乘近似得到Rm×n,其中k<<min(m,n)即k 值遠小于m 和n,這樣達到降維的目的,公式如下:

Rm×n≈Xm×kYTk×n

為了使得矩陣X 與矩陣Y 的乘積與原始矩陣R 值盡可能接近,ALS 采用最小化平方誤差損失函數方法,同時對損失函數加上正則化項后表示如下:

L(X,Y)=∑u,i(rui-xuTyi)2+λ(|xu|2+|yi|2)

其中λ 是正則化項系數。 xu作為用戶u 的隱含特征向量,yi是物品i 隱含的特征向量。 而rui則表示用戶u 對物品i 的評分。

具體求解步驟如下:

(1)將矩陣Y 進行固定,再對xu求導[8],公式如下:

xu=(YTY+λI)-1YTru

(2)再固定矩陣X,然后對yi 求導[8],公式如下:

yi=(XTX+λI)-1XTri

在迭代過程中,隨機對X,Y 進行初始化,交替對X、Y 進行迭代優化, 不斷更新X 和Y 的值,直至收斂。

3 基于Spark 框架的電影推薦系統設計和實現

3.1 系統總體設計

本文基于Spark 生態框架及Mysql、IDEA、Node.js 等軟件平臺構建電影推薦系統。 由HDFS分布式存儲結構來對海量的歷史評分數據進行保存,為充分測試系統性能,使用的評分數據源于網絡,在使用之前在Pycharm 平臺進行預處理后,在IDEA 平臺上進一步清洗數據,用戶在瀏覽網站時的行為及軌跡產生的實時數據由Spark Streaming處理,系統將用戶注冊信息、最新評分數據、瀏覽歷史記錄等信息存儲到Mysql 數據庫中。 通過MLlib 平臺實現ALS 算法, 訓練數據獲得最佳的推薦模型,產生推薦結果,向用戶推薦電影,同時對電影進行點擊率、評分排名處理,設計基于電影排名推薦功能, 與ALS 算法一起形成組合推薦模式,向用戶推薦電影。 系統工作流程圖如圖1:

平樂古鎮對原有古鎮建筑進行保留,并對當地居民進行扶持,使其具有原始居民的人氣。利用已經開發的建筑用地進行經營。不僅造福當地居民,增加當地居民的收入,而且利用當地居民對建筑群增加生機,營造古鎮氛圍吸引游客觀光及停留。在業態經營上缺少多樣性和獨特性,在熙攘的人群中古鎮之景韻味有所欠缺。

圖1 系統總體設計

3.2 系統功能設計

系統主要分為用戶信息,電影推薦,電影信息管理三個主要功能模塊,用戶信息模塊分為注冊、登錄、用戶信息管理功能,電影推薦模塊主要有個性化電影推薦功能、用戶評分功能,為解決ALS 算法存在的冷啟動問題, 在此模塊還增加熱門電影推薦功能和好劇推薦功能, 使系統在向老用戶推薦電影的同時, 也能為新用戶提供電影推薦,此外,為進一步緩解冷啟動問題,在用戶注冊模塊增加年齡和對電影類別的偏好的信息填寫, 增加用戶特征屬性,對于新用戶進行輔助推薦。系統功能模塊如圖2:

圖2 系統功能設計

3.3 Spark 大數據處理框架搭建

在實驗室搭建Spark 生態環境, 安裝配置Kafka、Zookeeper、flume、MLlib、Spark SQL、Spark Streaming 等生態組件,搭建Hadoop 平臺,配置1個Master 節點和2 個work 節點,采用其HDFS 分布式存儲歷史評分數據, 對于實時產生的評分數據,將其存于MySQL 數據庫中。安裝IDEA 平臺采用Scala 編程語言開發程序, 安裝Node.js 進行前端開發。 搭建Spark 環境部分效果如圖3。

3.4 系統實現

3.4.1 算法實現

Spark 生態組件MLlib 是實現部分機器學習算法的平臺, 其中的spark.ml 包有提供實現交替最小二乘算法的函數,在ALS 算法中,主要的實現過程如下幾個步驟:

(1)對數據集和Spark 生態環境進行初始化操作, 通過語句(import org.apache.spark.mllib.recommendation.{ALS,ALSModel})來加載交替最小二乘ALS 算法模型。

(2)數據集轉換,將樣本評分數據分為3 部分,訓練數據占70%,將最靠近最近時間段的數據作為測試數據占20%(通過用戶評分表中的timestamp 排序獲取),校驗數據占10%。

(4)在對ALS 模型進行訓練的過程中,既進行顯式反饋數據模型的訓練, 同時也對隱式反饋數據進行模型訓練,通過調整參數,多次迭代訓練,產生最佳模型。

圖3 Spark 環境搭建

(5)通過模型預測評分,計算與實際評分間的均方根誤差RMSE,值越小越接近收斂。

(6)將推薦結果寫入數據庫,向用戶推薦電影。

3.4.2 功能實現

(1)用戶信息模塊。 實現了用戶注冊、登錄、用戶信息管理三個子功能模塊, 用戶注冊時盡可能簡化用戶操作,除了填寫基本信息外,需要選擇感興趣的電影種類,以便對新用戶進行電影推薦。 用戶信息管理模塊用于管理用戶個人信息, 用戶可以對自己的信息進行修改、完善,系統管理員也可查詢和管理網站所有用戶信息。 用戶注冊界面效果如圖4。

(2)電影推薦模塊。 這部分是網站的核心模塊,實現了個性化電影推薦、熱門電影推薦、好劇推薦、用戶評分等四個子功能模塊,用戶選擇對電影進行星級評分,并發表評論,后臺管理員可以查看所有評分和評論并進行管理, 網站實現對每個用戶提供個性化電影推薦服務, 并組合近一個月內點擊率高及評論數多的熱門電影, 和評分排名靠前的好劇進行推薦。 部分效果如圖5、圖6、圖7所示。

圖4 用戶注冊界面

(3)電影信息管理模塊。 實現電影信息管理、電影分類管理子功能模塊, 便于網站管理員對電影信息進行查詢、增加、修改、刪除等操作。

圖5 猜你喜歡

圖6 熱門電影推薦

圖7 電影評價

4 結語

大數據環境下, 推薦系統已進入到人們生活的各個方面, 為人們提供了更加豐富和便捷的體驗, 應用前景廣泛。 本文設計并實現了一個基于Spark 生態環境的電影推薦系統, 通過在Spark 框架中采用ALS 算法模型對數據進行反復的訓練、優化調整,最終取得推薦的最佳模型,向用戶提供個性化電影推薦服務。 面對新用戶,推薦的挑戰主要是冷啟動問題,該系統以ALS 推薦算法為主,輔以熱門電影和優質好劇推薦,同時將電影分類,以用戶興趣為出發點,結合電影點擊率排名、評分排名向新用戶提供電影推薦服務, 有效緩解冷啟動問題。

猜你喜歡
用戶模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 国产成人精品高清在线| 91无码国产视频| 色婷婷在线播放| 欧美亚洲日韩中文| 538精品在线观看| 亚洲精品麻豆| 日本草草视频在线观看| 国产一区二区精品福利| 特级毛片免费视频| 中文字幕永久在线看| 欧美国产视频| 国产黑丝一区| 高h视频在线| 亚洲精品无码av中文字幕| 亚洲综合激情另类专区| 久久精品娱乐亚洲领先| 国产精品30p| 亚洲清纯自偷自拍另类专区| 99无码中文字幕视频| 一级成人a毛片免费播放| 欧美在线导航| 中文字幕久久亚洲一区| 69视频国产| 在线免费a视频| 欧美亚洲欧美| 成·人免费午夜无码视频在线观看| 国产激爽大片在线播放| 亚洲综合片| 九九视频在线免费观看| 丝袜国产一区| 亚洲欧美综合另类图片小说区| 久久香蕉国产线看精品| 日本午夜视频在线观看| 色婷婷视频在线| 91精品国产无线乱码在线| 亚洲码一区二区三区| 亚洲一区二区精品无码久久久| 青青草原偷拍视频| 99草精品视频| 亚洲国产精品无码AV| 制服丝袜在线视频香蕉| 欧美激情伊人| 色悠久久综合| 国产乱人伦AV在线A| 久久久久免费看成人影片| 在线国产资源| 欧美精品H在线播放| 十八禁美女裸体网站| 99re这里只有国产中文精品国产精品| 色香蕉影院| 亚洲高清免费在线观看| 国产免费福利网站| 日韩成人在线网站| 精品人妻一区无码视频| 色网在线视频| 亚洲欧洲国产成人综合不卡| 国产精品私拍在线爆乳| 日韩在线视频网站| 青青操国产视频| 天天摸天天操免费播放小视频| 亚洲欧美另类日本| 在线亚洲精品福利网址导航| 99在线观看精品视频| 99热这里只有精品2| 啪啪啪亚洲无码| www.亚洲国产| 九九九久久国产精品| 偷拍久久网| 色天天综合久久久久综合片| 青青草综合网| 国产女人18毛片水真多1| 国产在线视频导航| 国产人在线成免费视频| 伊人激情综合网| 在线欧美日韩| 亚洲精品第一页不卡| 国产91色在线| 欧美成人免费午夜全| 亚洲无码91视频| 91久久国产热精品免费| 国产永久免费视频m3u8| 婷婷色在线视频|