基于Hbase的用戶評分協同過濾推薦算法
作者: 張保維 2012-1-3
一、 概述
本文為推薦引擎設計的基礎篇,介紹基于hbase 存儲方式用戶評分的方式進行推薦的主體算法及在分布式平臺環境下的實現。由于推薦算法分支眾多,我們先從簡單及實用的算法進行設計。其它更加復雜算法及實現將會在后面的相關設計中進行說明。
二、 相關知識
(一) Hadoop與MapReduce
Hadoop在本文中所起到的作用只是一個系統支撐作用,由于hbase基于Hadoop的事實,所以,hadoop是本文功能實現的一個必要條件。MapReduce是一個用于分布運算的編程模型,同時也是運行本文中核心功能的載體。
關于 hadoop 及 MapReduce知識參見 附錄。
(二) Hbase
HBase – Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。
同時Hbase對外提供了Thrift接口,可以在外部進行方便的訪問。可以提供實時在線的訪問功能。
由于Hbase 基于hadoop 產品族,所以Hbase具體天然的優勢,可以直接利用MapReduce的優勢。
基于如上原因,我們把用戶評分存儲于hbase , 在HBase中可以建立一個Row 為用戶編號, Column為產品編號,值為用戶評分的大表結構。同時,HBase為稀疏存儲,也可以節省存儲空間。
(三) 協同過濾
協同過濾是分析用戶興趣,在用戶群中找到指定用戶的相似(興趣)用戶,綜合這些相似用戶對某一信息的評價,形成系統對該指定用戶對此信息的喜好程度預測。
協同過濾是使用了集體智慧,不是傳統意義上的人工干預的,受限于人的情感因素,商業因素的推薦方式。
三、 功能需求
四、 設計
五、 實驗結果
六、 擴展功能
七、 參考
1. Hadoop : http://baike.baidu.com/view/908354.htm
2. MapReduce : http://zh.wikipedia.org/wiki/MapReduce
3. 奇藝升級推薦引擎提升轉化率:http://www.sootoo.com/content/221739.shtml
4. HBASE:http://www.searchtb.com/2011/01/understanding-hbase.html
5. 協同過濾:http://baike.baidu.com/view/981360.htm
6.