WORD 格式可编辑
基于协同过滤算法的电影推荐系统
本电影推荐系统中运用的推荐算法是基于协同过滤算法( Collaborative
Filtering Recommendation)。协同过滤是在信息过滤和信息系统中正迅速成为
一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同
过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相
似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测。
电影推荐系统中引用了 Apache Mahout 提供的一个协同过滤算法的推荐引擎
Taste,它实现了最基本的基于用户和基于内容的推荐算法,并提供了扩展接口,
使用户方便的定义和实现自己的推荐算法。
电影推荐系统是基于用户的推荐系统,即当用户对某些电影评分之后,系统
根据用户对电影评分的分值,判断用户的兴趣,先运用 UserSimilarity 计算用
户间的相似度 .UserNeighborhood 根据用户相似度找到与该用户口味相似的邻
居,最后由 Recommender 提供推荐个该用户可能感兴趣的电影详细信息。将用户
评过分的电影信息和推荐给该用户的电影信息显示在网页结果页中,推荐完成。
一、Taste 介绍
Taste 是 Apache Mahout 提供的一个个性化推荐引擎的高效实现,该引擎基
于 java 实现,可扩展性强,同时在mahout 中对一些推荐算法进行了 MapReduce
编程模式转化,从而可以利用 hadoop 的分布式架构,提高推荐算法的性能。
在 Mahout0.5 版本中的 Taste, 实现了多种推荐算法,其中有最基本的基于
用户的和基于内容的推荐算法,也有比较高效的 SlopeOne 算法,以及处于研究
阶段的基于 SVD 和线性插值的算法,同时 Taste 还提供了扩展接口,用于定制化
开发基于内容或基于模型的个性化推荐算法。
Taste 不仅仅适用于 Java 应用程序,还可以作为内部服务器的一个组件以
HTTP 和 Web Service 的形式向外界提供推荐的逻辑。Taste 的设计使它能满足
企业对推荐引擎在性能、灵活性和可扩展性等方面的要求。
下图展示了构成 Taste 的核心组件:
专业知识分享
评论0
最新资源