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

基于SQL-Like語言的分布式推薦系統*

2012-07-01 22:20:42薛羽李煒沈奇威
電信工程技術與標準化 2012年11期
關鍵詞:用戶系統

薛羽, 李煒, 沈奇威

(1 北京郵電大學網絡與交換技術國家重點實驗室, 北京 100876;2 東信北郵信息技術有限公司, 北京 100191)

基于SQL-Like語言的分布式推薦系統*

薛羽1,2, 李煒1,2, 沈奇威1,2

(1 北京郵電大學網絡與交換技術國家重點實驗室, 北京 100876;2 東信北郵信息技術有限公司, 北京 100191)

Hadoop應用的開發要求用戶掌握分布式編程的相關知識,造成了一定的開銷,Apache Pig則提供了一種輕量級的開發方式,用戶通過編寫類SQL(Structured Query Language)語句,即可調用Hadoop的分布式處理能力。本文將結合Apache Pig和Item-Based協同過濾算法,設計并實現一種輕量級、可維護性較高的分布式推薦系統。

推薦系統;分布式;Hadoop;SQL;協同過濾

隨著互聯網行業的迅猛發展,出現了信息過載的現象,用戶很難從海量信息中找到其感興趣的內容。推薦系統很好地解決了這一問題,它通過對用戶的歷史行為進行分析,得出用戶行為習慣,并根據這種習慣產生推薦結果,達到信息過濾的目的。然而,用戶的歷史行為記錄往往都是海量數據,對存儲和計算環境有著較高的要求。Hadoop是一個開源的分布式計算平臺,適用于大數據處理,它主要包括Hadoop分布式文件系統(HDFS, Hadoop Distributed File System)和分布式計算框架MapReduce。Hadoop應用的開發要求用戶掌握分布式編程的相關知識,造成了一定的開銷,Apache Pig則提供了一種輕量級的開發方式,用戶通過編寫類SQL語句,即可調用Hadoop的分布式處理能力。本文將結合Apache Pig和Item-Based協同過濾算法,設計并實現一種輕量級、可維護性較高的分布式推薦系統[1,2]。

1 推薦系統設計

1.1 功能模塊劃分

根據推薦系統的一般處理流程[3],將推薦系統分為6個功能模塊,如圖1所示,本文將重點介紹推薦引擎部分的實現過程。

(1) 數據采集:從多種數據源獲取用戶記錄,存儲在HDFS中;

(2) 數據清洗:對原始數據做初步統計,過濾不符合規定格式的記錄;

(3) 數據準備:處理數據,使其符合推薦引擎輸入數據的格式要求;

(4) 推薦引擎:根據用戶歷史記錄,利用推薦算法,產生推薦結果;

(5) 結果展示:將推薦結果展示給用戶,包括Web、報表等多種形式;

(6) 反饋修復:根據用戶對推薦結果的反饋情況,修改相關推薦參數。

1.2 相關定義說明

設用戶集合為U,物品集合為B:

(1) “用戶-物品”矩陣:矩陣中的每個元素表示用戶對物品的偏好值pref,如果pref=0,表示不存在相應的(uid, bid,pref)記錄。

(4) 物品間相似度矩陣:矩陣中的每個元素表示兩個物品間的相似程度sim,值越大,表示這兩個物品被多個用戶同時喜歡的程度越高。

Pig中的數據被抽象為一張張的關系表,后文中統一用phase:(uid, bid, pref)表示,關系表中列的類型也可以為一張關系表,如:(uid,{(bid, pref)})[2]。

圖1 模塊劃分

2 偏好值的標準化處理

用戶對物品的偏好值往往都帶有一定的用戶特征。比如,有的用戶對物品的打分整體偏高,而有的用戶卻恰好相反,所給出的分數都分布在一個低分區間,用戶之間的這種特征差異會影響后續物品之間相似度計算的準確性。偏好值的標準化處理屏蔽了這種差異,具體處理步驟如下(如圖2和圖3所示):

圖2 偏好值標準化-運算步驟

圖3 偏好值標準化-數據結構變化及Pig代碼

圖4 計算相似度矩陣-分母處理

(1) 從“用戶-物品”關系矩陣中獲取用戶特征向量。

(2) Pig使用group by語句實現了這一步驟(phase21),將分散存儲在集群中不同節點上的具有相同uid的用戶記錄匯聚到同一個節點(聚合結點);parallel指定了聚合結點的個數;

(4) 恢復“用戶-物品”關系矩陣。flatten語句可以將已經聚合的數據展開,相當于group by的逆操作(phase24)。phase22的作用是保證上下文列名的一致性,后面的步驟中還會出現相同類型的語句,將不再進行解釋。

3 計算物品間相似度矩陣

圖5 計算相似度矩陣-相似度計算

圖6 生成推薦結果-運算步驟

3.1 分母處理

3.2 相似度計算

(2) 將分散在各個結點上的(bid1, bid2, sim)按照(bid1, bid2)進行聚合(phase411, phase412),并在各個聚合節點上計算相同(bid1, bid2)組合的sim和。

可見,通過簡單的公式變換,整個相似度計算過程充分利用了分布式計環境的性能。

4 生成推薦結果

圖7 生成推薦結果-數據結構變化及Pig代碼

將物品間相似度矩陣乘以“用戶-物品”矩陣,即可得到用戶對物品的推薦偏好值(預測用戶對某個物品的喜好程度),具體處理步驟如下(如圖6和圖7所示):

(1) 將分散存儲的矩陣元素(bid1, bid2, sim)按照bid1進行聚合(phase501);

(2) 將用戶偏好記錄中的偏好值pref乘以記錄中所指定的物品bidi與其他物品之間的相似度,這個過程分散在用戶偏好記錄所在的結點執行(phase503~phase507);

(3) 將(uid, bid)相同的記錄的pref* sim值進行加權(phase508~phase509);

(4) 過濾推薦結果中用戶已打過分的物品(phase511~phase513),cogroup by根據指定的主鍵對多個關系表進行聚合;

(5) 對推薦結果進行降序排列,以及推薦物品個數的限制。order by desc語句表示降序排列,limit的作用為指定輸出記錄的數量。

5 結論

互聯網的飛速發展,將我們帶入了信息爆炸時代,用戶面對海量信息,往往會眼花繚亂。個性化推薦系統通過分析用戶行為,為用戶推薦有價值的信息,實現了信息的過濾,很好的解決了上述問題。同時,由于用戶行為記錄的數據量通常都非常大,這就要求推薦系統具有較高的存儲能力和計算能力。

本文設計并實現了一種輕量級的分布式推薦系統,其使用類SQL語言的編程方式,調用底層的Hadoop分布式處理能力,從海量數據中為用戶選擇其感興趣的內容,代碼量少,開發效率高,具有較好的可維護性。

[1] 許海玲. 互聯網推薦系統比較研究[J]. 軟件學報, 2009,(2):350-362.

[2] Apache Foundation. Apache Pig[EB/OL]. http://pig.apache.org,2012-07-24.

[3] 項亮. 推薦系統實踐[M]. 北京: 人民郵電出版社, 2012.

[4] Sarwar B. et al. Item-based collaborative filtering recommendation algorithms[A]. The 10th International Conference on World Wide Web[C],2001,285-295.

[5] Linden G, Smith B, York J, Amazon. com recommendations: itemto-item collaborative filtering[J]. Internet Computing, IEEE, 2003, (1):76-80.

[6] Ni P. et al. Web information recommendation based on user behaviors[A].Computer Science and Information Engineering, 2009 WRI World Congress on[C], 2009.

[7] Schelter S. Distributed itembased collaborative filtering with apache mahout [EB/OL].http://isabel-drost.de/hadoop/slides/collabMahout. pdf,2010-10-07.

Distributed recommendation system based on SQL-like language

XUE Yu1,2, LI Wei1,2, SHEN Qi-wei1,2
(1 State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876, China; 2 EBUPT Information Technology Co., Ltd., Beijing 100191, China)

Hadoop is an open source distributed computing platform, it’s suitable to the large data processing, but we must learning distributed programming skills before developing Hadoop applications. Apache Pig provides a lightweight development way, it allows us to make use of distributed processing capacity of Hadoop by using SQL (Structured Query Language) language. In this paper we will design and implements a lightweight and high maintainability distributed recommendation system through the combination between Apache Pig and item-based collaborative fi ltering algorithm.

recommendation system; distributed; hadoop; SQL; collaborative fi ltering

TN929.5

A

1008-5599(2012)11-0084-05

2012-10-10

國家自然科學基金(No. 61072057,61101119,61121001,61271019,60902051);長江學者和創新團隊發展計劃資助(No. IRT1049);國家科技重大專項(No. 2011ZX03002-001-01,移動互聯網總體架構研究)。

猜你喜歡
用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 美女毛片在线| 日本www色视频| 国产人妖视频一区在线观看| 99福利视频导航| 亚洲高清资源| 一级毛片免费高清视频| 久久婷婷六月| 国产女人在线| 久久动漫精品| 亚洲性日韩精品一区二区| 国产91九色在线播放| 91亚洲免费视频| 欧美亚洲国产日韩电影在线| 高清免费毛片| 亚洲精品黄| 亚洲国产中文精品va在线播放| 高清不卡毛片| 国产在线精品99一区不卡| 在线欧美国产| 欧洲成人免费视频| 国产美女免费| 免费一级成人毛片| 午夜国产理论| 狠狠色香婷婷久久亚洲精品| 91香蕉视频下载网站| 黄色在线网| 亚洲第一成人在线| 91免费在线看| 精品综合久久久久久97| 色悠久久综合| 茄子视频毛片免费观看| 国产欧美日韩资源在线观看| 亚洲综合亚洲国产尤物| 免费高清毛片| 日韩欧美一区在线观看| 国产综合欧美| 精品国产香蕉伊思人在线| 91小视频版在线观看www| 日本一本在线视频| 在线精品欧美日韩| 亚洲天堂久久久| 免费日韩在线视频| 久久国产精品麻豆系列| 91亚洲精选| 亚洲国产系列| 国产99精品久久| 欧美亚洲第一页| 毛片久久久| 日韩欧美国产另类| 福利视频一区| 免费xxxxx在线观看网站| 国产第一页第二页| 国产又黄又硬又粗| 夜精品a一区二区三区| 久久一级电影| 中文字幕亚洲第一| 亚洲天堂777| 啪啪永久免费av| 小13箩利洗澡无码视频免费网站| 国产丰满大乳无码免费播放| 色综合狠狠操| 日韩在线永久免费播放| 欧美a在线| 国产凹凸一区在线观看视频| 99热这里都是国产精品| 国产精品青青| 午夜欧美在线| 中文字幕久久精品波多野结| 特黄日韩免费一区二区三区| 午夜激情福利视频| 亚洲swag精品自拍一区| 高清码无在线看| 日本在线亚洲| 成人中文在线| 国产精品人成在线播放| 欧美日韩中文国产va另类| 国产黄色爱视频| 视频二区亚洲精品| 中文字幕波多野不卡一区| 露脸一二三区国语对白| 四虎影视永久在线精品| 四虎精品黑人视频|