http://www.ibm.com/developerworks/cn/java/j-lo-mahout/
马 春娥, 软件工程师, IBM
马春娥,工作在 IBM 中国软件开发中心 Web 2.0 开发小组,开发人员,曾参与 Project Zero 和 Lotus Mashup Center 的开发。主要的关注点在 Web 2.0 领域的数据的建模,数据的处理,数据的可视化,Web2.0 领域的数据的语义,数据的关联等。
赵 晨婷, 软件工程师, IBM
赵晨婷,现就职于 IBM 中国软件开发中心 Web 2.0 开发小组,对 SOA、J2EE、Web 2.0 应用的开发有丰富的经验。主要关注点在数据处理、数据搜索、推荐算法和推荐系统设计等。 简介: Web 2.0 的一个核心思想就是“群体智慧”,即基于大众行为,为每个用户提供个性化的推荐。这使得如何让用户能更快速更准确的获得所需要的信息,成为了 Web 应用成败的关键。Apache Mahout 是 ASF(Apache Software Foundation)的一个较新的开源项目,提供机器学习领域的一些经典算法的高效实现。本文主要讲述如何基于 Apache Mahout 来构建社会化推荐引擎,帮助 Web 应用开发者更高效的实现个性化推荐功能,从而提高最终用户满意度。
推荐引擎简介
推荐引擎利用特殊的信息过滤(IF,Information Filtering)技术,将不同的内容(例如电影、音乐、书籍、新闻、图片、网页等)推荐给可能感兴趣的用户。通常情况下,推荐引擎的实现是通过将用户的个人喜好与特定的参考特征进行比较,并试图预测用户对一些未评分项目的喜好程度。参考特征的选取可能是从项目本身的信息中提取的,或是基于用户所在的社会或社团环境。
根据如何抽取参考特征,我们可以将推荐引擎分为以下四大类:
2:使用 Taste 构建推荐引擎实例 – 电影推荐引擎
这一部分就比较头痛了,我也无法一一详细描述,中间有很多困难之处。
首先从原文下载作者提供的代码,导入到eclipse,我的eclipse是Eclipse Java EE IDE for Web Developers,版本是Indigo Service Release 2,导入之后是一堆错,这个估计每个人都不一样,自己通过google应该都能解决。我的错误都是lib下的jar包引起的,参考下面:
原文的代码使用的是mahout0.2的,这个显然太老了,我用mahout 0.5的版本替换了,从后面结果看基本无影响,但由于0.5版本有几个地方被修改了,需要修改到适应0.5版本的,到项目的属性里边修改即可。
原来的项目和tomcat相关的几个jar包,由于新版本tomcat没有common/lib目录了,需要将这几个jar包指到正确的位置,有个包还要改名字,修改后分别是:
TOMCAT_HOME/lib/jasper.jar,TOMCAT_HOME/lib/jsp-api.jar,TOMCAT_HOME/lib/servlet-api.jar,自己修改到对应的目录即可。
web.xml也有编译错误,头上几行修改为: