基于Hbase的用户评分协同过滤推荐算法

基于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.

posted @ 2012-01-05 15:31  张保维  阅读(743)  评论(0编辑  收藏  举报