欢迎光临散文网 会员登陆 & 注册

Java 人工智能 - Apache Mahout - 推荐引擎

2021-10-04 12:10 作者:开源开发者  | 我要投稿

基于内容的过滤

使用项目属性寻找带有相似属性的项目

基于协同过滤

根据用户的评分或者其他用户的行为

基于拥有类似行为的用户喜好与购买的物品进行推荐


推荐引擎会观察用户的行为


推荐引擎4个输入

项目的信息

用户资料 年龄范围 性别 位置 朋友

用户交互 比如评级 浏览 标记 比较 保存 电邮

项目的上下文 比如项目的分类 地理位置


推荐引擎组合回答

购买 观看 浏览 收藏过这个项目的用户还买了 看了 浏览了 收藏了……

与这个项目类似的项目

你可能认识的其他用户

和你类似的其他用户


计算相似度


协同过滤

不依赖于项目内容

它基于的假设是 人们过去认可的将来也会认可 他们喜欢与过去喜欢的项目以及相似的项目


缺点 冷启动

也就是说 如果想创建一个精确的协同过滤系统 算法往往需要先有大量的用户评分

初创的项目不会使用协同过滤

有了一定量的数据积累之后才会使用



内容过滤

建立在项目的描述与用户偏好资料之上

使用属性描述项目并找出相似项目

需要使用一个距离测度

比如余弦距离或者皮尔逊相关系数

测量项目之间的距离

然后将用户的资料输入到方程式当中


项目中的属性重要程度按照权重排序

用户可以反馈喜欢项目中的某一个属性


比如一个电商项目 基于内容过滤技术 使用了 400 多个属性创建商品

一个用户通过特定的属性选中了一件商品

我们开发人员提供反馈功能

用户通过反馈属性可以突出这件商品的重要属性


只需要很少的用户反馈信息

能有效避免冷启动问题


混合方法

Netflix 使用协同过滤 分析相似用户的搜索与观看模式

使用基于内容的过滤向用户推荐高评分影片


混合技术

加权混合 切换混合 分区混合 特征组合 特征扩充 级联混合

分层混合


Mahout 是一个可扩展的机器学习库


maven 依赖

<dependencies>

       <dependency>

           <groupId>org.apache.mahout</groupId>

           <artifactId>mahout-mr</artifactId>

           <version>0.10.0</version>

       </dependency>

   </dependencies>



Java 人工智能 - Apache Mahout - 推荐引擎的评论 (共 条)

分享到微博请遵守国家法律