国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop和MapReduce的商品推薦

2019-08-06 04:25陶冶
計算機時代 2019年7期
關鍵詞:大數(shù)據(jù)

陶冶

摘? 要: 電子商務網站、社交網站以及醫(yī)療、教育、公共平臺等各種領域的應用等已深入人們的日常生活,海量信息帶來便捷的同時也產生了無用信息的干擾,過濾信息進行智能推薦已成為一種需求。采用協(xié)同過濾算法對產品的用戶評價數(shù)據(jù)進行分析,能夠跨領域運作分析,具有很好的通用性。依據(jù)綜合因素對算法進行改進后,利用MapReduce和Storm對提取的數(shù)據(jù)進行處理,得到數(shù)據(jù)過濾后的商品推薦列表,并通過實驗驗證了算法預測的準確度。

關鍵詞: 大數(shù)據(jù); 協(xié)同過濾算法; Hadoop; MapReduce

中圖分類號:TP31? ? ? ? ? 文獻標志碼:A? ? ?文章編號:1006-8228(2019)07-29-04

Abstract: E-commerce websites, social networking websites and applications in various fields such as medical, education, and public platforms have penetrated into people's daily life. Massive information brings convenience, but also produces interference of useless information. Filtering information for intelligent recommendation has become a demand. Collaborative filtering algorithm is used to analyze the user evaluation data of product, which can be used in cross-domain operation analysis and has good versatility. After improving the algorithm with comprehensive factors, the extracted data are processed by Mapreduce and Storm, and the recommended commodity list filtered by data is obtained. The accuracy of the prediction is verified by experiments.

Key words: big data; collaborative filtering algorithm; Hadoop; MapReduce

0 引言

對于大數(shù)據(jù)的并行處理分析,我們常利用各種推薦方法的優(yōu)點和系統(tǒng)的組織結構,目前,并行計算的框架有很多種。谷歌公司的云計算技術和MapReduce的并行計算框架有較好的發(fā)展前景,軟件借助Hadoop開源云計算平臺開發(fā)實現(xiàn)。系統(tǒng)在結合推薦技術和云計算技術基礎上,實現(xiàn)對實時采集并且進行整理過的數(shù)據(jù)通過推薦算法,進行分析,通過MapReduce的多次作業(yè)后生成一個推薦列表。

1 技術及主要內容

1.1 協(xié)同過濾算法

借助協(xié)同過濾算法對海量用戶的歷史交易數(shù)據(jù)進行分析,比如消費者對物品的評價信息,點擊信息和購買信息等等,然后通過協(xié)同過濾方法對這些數(shù)據(jù)進行處理,最后生成比較準確的推薦列表。協(xié)同過濾方法非常受到一些大型購物網站的熱愛。協(xié)同過濾方法分為基于物品和基于消費者兩種方法[1]。前者的核心思想是通過消費者的行為歷史數(shù)據(jù)的分析,求出物品之間的相似度,然后推薦相似的物品給消費者。后者的核心思想是,計算出相似的消費者,然后給目標消費者推薦相似的消費者購買過的物品。

1.2 主要內容

先介紹大數(shù)據(jù)處理方法框架和協(xié)同過濾方法,然后在Hadoop大數(shù)據(jù)處理平臺上對以物品為中心的協(xié)同過濾算法進行實驗,將消費者的歷史數(shù)據(jù),例如瀏覽,點擊,收藏,購買等等這樣的數(shù)據(jù)輸入,最后生成推薦列表。

2 協(xié)同過濾推薦算法

2.1 推薦技術

2.1.1 基于物品內容屬性的推薦

基于物品內容屬性的推薦(CBF),是根據(jù)消費者的歷史行為數(shù)據(jù),對其進行矩陣的建模分析,經過多次的矩陣的操作,為消費者推薦與物品的屬性比較相似的的物品,其核心在于對物品集合中所有的物品的特征進行提取,建模,找出物品之間的相關屬性[2]?;谖锲穬热輰傩缘耐扑]圖如圖1所示。

消費者B購買或瀏覽了衣服1,然后基于物品內容屬性的推薦系統(tǒng)(CBF)就為其推送與衣服1屬性相同或相似的衣服2,不推送與衣服1內容屬性不同或者差異比較大的衣服3。通過分析消費者歷史數(shù)據(jù)發(fā)現(xiàn)其消費愛好,這不依賴消費者之間任何關系的關系,它完全是根據(jù)物品之間的相似度或者說是物品的屬類是否相同。

2.1.2 基于規(guī)則的推薦

基于規(guī)則的推薦方法,其實就是根據(jù)消費者的消費歷史行為數(shù)據(jù)找出消費物品之間的相關性,總結出相關的規(guī)則,基于規(guī)則的推薦圖如圖2所示。

消費者A購買了三星手機,就可以為購買者推薦與該手機所相配的耳機或手機殼,這樣的推薦是根據(jù)用戶的實際需求,具有合理的推薦意義,能幫助消費者快速找到所需要的物品,這種推薦簡單有效。分析此例,這種推薦方法是沒有依賴消費者之間的關系的,只是根據(jù)物品之間的關聯(lián)關系進行推薦的。所以這種關聯(lián)關系是此算法的核心和關鍵。

2.1.3 協(xié)同過濾推薦

協(xié)同過濾算法從兩個角度分析數(shù)據(jù):一個是用戶,另一個是物品。

下面對協(xié)同過濾算法做介紹:

⑴ 基于用戶的協(xié)同過濾算法(UserCF):通過分析消費者對物品的評分來研究消費者的相似性,對相似的消費者做相同的推薦[3]。簡單的說,如果消費者A和消費者B有著比較高的相似度,當消費者A對物品S有著比較大的興趣愛好時,就可以對消費者B推薦物品S?;谟脩舻膮f(xié)同過濾示例圖如圖3所示。從圖3可以看出,消費者C和消費者A有著比較高的相似度,所以,對消費者A可以推薦一下物品D。

⑵ 基于物品的協(xié)同過濾算法(ItemCF):基于物品的協(xié)同過濾算法,對不同的物品的評分來自于對歷史數(shù)據(jù)進行大數(shù)據(jù)挖掘,從而根據(jù)物品之間的相似度推薦消費者喜歡的物品?;谖锲返膮f(xié)同過濾示例圖如圖4所示。

2.1.4 混合推薦

協(xié)同過濾推薦、知識推薦、內容推薦、規(guī)則推薦,這幾種推薦方法都有各自的優(yōu)缺點,所以提出混合的推薦方法?;旌贤扑]方法,就是組合這幾種算法來消除各自的缺點,所以混合推薦的確有著比較高的準確性。

3 大數(shù)據(jù)分析的相關技術框架

3.1 離線計算Hadoop

Hadoop是Apache下面的一套開源的開發(fā)平臺。Hadoop提供的主要功能有就是利用集群服務器,根據(jù)用戶的業(yè)務邏輯,讀數(shù)據(jù)進行分布式處理。Hadoop的核心組件有:MAPREDUCE(分布式運算編程框架),HDFS(分布式文件系統(tǒng)),YURN(運算資源調度系統(tǒng))[4]。

3.1.1 HDFS工作機制的簡單介紹

HDFS集群主要分為兩大角色第一是NameNode,第二是DataNode。NameNode是負責全部管控元數(shù)據(jù),DataNode 是負責全部管理文件數(shù)據(jù)塊,每個文件被分成固定大小的塊分布存儲在多臺datanode上,Datanode會按照一定的時間間隔向Namenode匯報它所保存的文件block的信息,內部的HDFS工作原理是客戶端透明的,客戶端通過向namenode申請來進行HDFS訪問的。

3.1.2 分布式計算框架(MAPREDUCE)

Mapreduce采用分布式運算框架,被Hadoop數(shù)據(jù)分析的應用當做核心架構[5]。Mapreduce可以整合業(yè)務邏輯代碼和自帶默認的組件為分布式運算程序,并發(fā)的運行在一個Hadoop集群上。

3.1.3 apreduce框架結構及核心運行機制

apreduce程序有三類分布式實例進程:①MRAppMaster:完成過程調用和狀態(tài)轉換;②mapTask:負責map階段的整個數(shù)據(jù)處理流程,也就是切片的過程[6];③ReduceTask:負責reduce階段整個數(shù)據(jù)處理流程。

3.2 流式計算Storm

相對于離線計算,流式計算就是數(shù)據(jù)的產生、傳輸、計算以及展示都是實時的[7]。Storm是用來實時的處理數(shù)據(jù),提供簡單容易理解的接口,便于開發(fā)。

3.2.1 Storm核心組件

⑴ Nimbus:是負責資源分配和任務調度。

⑵ Supervisor:執(zhí)行Nimbus的任務,控制和管理自己的Worker進程。

⑶ Worker:分為兩種任務Spout和Bolt,是處理組件邏輯的運行進程。

⑷ Task:Worker中每一個Spout/Bolt線程稱為一個Task。一個executor物理線程被多個Task共享[8]。

3.2.2 流式計算一般架構

Storm流式計算的順序框架圖如圖5所示。

⑴ 其中flume用來獲取數(shù)據(jù)。

⑵ Kafka用來臨時保存數(shù)據(jù)。

⑶ Strom用來計算數(shù)據(jù)。

⑷ Redis是個內存數(shù)據(jù)庫,用來保存數(shù)據(jù)。

4 實驗以及實驗結果的分析

4.1 實驗簡介

4.2 實驗設計

實驗輸入的數(shù)據(jù)格式如圖6所示。

4.3 實驗結果以及總結

實驗結果數(shù)據(jù)如圖7所示,通過實驗驗證了基于Hadoop平臺的優(yōu)化協(xié)同過濾推薦算法,數(shù)據(jù)經過六次mapreduce并行化作業(yè)后的正確性和準確性,要得到最好的推薦效果,準確率和召回率各為80.6%,16.2%。該實驗系統(tǒng)推薦商品的滿意度為80.6%,網絡商品推薦系統(tǒng)提高了用戶的工作效率,能有效滿足用戶在網購系統(tǒng)中的需求,具有良好的可擴展性。

5 結束語

在數(shù)據(jù)推薦算法的前提下,通過案例分析了基于屬性、規(guī)則、用戶、物品、混合等推薦算法的原理特點,搭建了基于虛擬機、Linux下Hadoop環(huán)境、Eclipse開發(fā)環(huán)境的實驗平臺,使用Storm流式計算,將消費者的歷史數(shù)據(jù),例如瀏覽,點擊,收藏,購買等等這樣的數(shù)據(jù)輸入,利用Mapreduce對類似于(item_id,user_id,action,vtime)的互聯(lián)網上用戶行為數(shù)據(jù)進行運算處理,最得到數(shù)據(jù)過濾后的商品推薦列表。使用該方法得到的推薦具有較高的準確性和社會效益,值得進一步研究和推廣。

參考文獻(References):

[1] (美)Benoy Antony等著.Hadoop大數(shù)據(jù)解決方案 [M].清華大學出版社,2017.

[2] 丁維龍等.Storm大數(shù)據(jù)流式計算及應用實踐[M].電子工業(yè)出版社,2016.

[3] 李嵩,李書琴,劉斌.改進的協(xié)同過濾算法及其并行化實現(xiàn)[J].計算機工程與設計,2018.12:3853-3859

[4] 曹超.基于用戶評論分析的推薦系統(tǒng)設計與實現(xiàn)[D].北京郵電大學碩士學位論文,2017.

[5] 胡波.B公司基于協(xié)同過濾算法的零售商品推薦系統(tǒng)研究[D].北京交通大學碩士學位論文,2018.

[6] 鄧園園,吳美香,潘家輝.基于物品的改進協(xié)同過濾算法及應用[J].計算機系統(tǒng)應用,2019.1:182-187

[7] 陳軍,謝衛(wèi)紅,陳揚森.國內外大數(shù)據(jù)推薦算法領域前沿動態(tài)研究[J].中國科技論壇,2018.1:173-181

[8] 孫竹.基于商品關系改進的協(xié)同過濾推薦算法[D].燕山大學碩士論文,2017.

猜你喜歡
大數(shù)據(jù)
基于大數(shù)據(jù)背景下的智慧城市建設研究
白山市| 简阳市| 静宁县| 托克逊县| 乌拉特中旗| 赤峰市| 泰和县| 孝昌县| 文登市| 讷河市| 澄江县| 大城县| 通州市| 咸宁市| 凌云县| 泾源县| 安塞县| 宝山区| 汤阴县| 建德市| 枣强县| 越西县| 庆云县| 宽城| 元阳县| 涟水县| 广汉市| 玉环县| 化州市| 文安县| 桦甸市| 罗定市| 故城县| 山东省| 南开区| 同江市| 洞头县| 余干县| 西华县| 定远县| 平泉县|