1. 基本概念
协同过滤推荐方法的主要思想是,利用已有用户群过去的行为或意见预测当前用户最可能喜欢哪些东西或对哪些东西感兴趣。
纯粹的协同方法的输入数据只有给定的用户-物品评分矩阵,输出数据一般有以下几种类型:
(1)表示当前用户对物品喜欢或不喜欢程度的预测数值;
(2)n项推荐物品的列表。
用户行为的统一表示:user id产生行为的用户的唯一标识
item id产生行为的对象的唯一标识
behavior type行为的种类(比如是购买还是浏览)
context产生行为的上下文,包括时间和地点等
behavior weight行为的权重(如果是观看视频的行为,那么这个权重可以是观看时长;如果是打分行为,这个权重可以是分数)
behavior content行为的内容(如果是评论行为,那么就是评论的文本;如果是打标签的行为,就是标签)
2. 特点
(1)依赖于系统中用户的惯用数据(显性反馈数据和隐形反馈数据)
(2)对推荐对象没有特殊的要求,能处理非结构化的复杂对象
3. 分类
(1)基于用户的邻域协同过滤推荐算法
(2)基于项目的邻域协同过滤推荐算法
(3)基于模型的协同过滤推荐算法
4. 实现原理
① 基于用户的协同过滤推荐算法
基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜欢(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分。根据不同用户对相同商品或内容的态度和偏好程度计算用户之间的关系。在有相同喜好的用户间进行商品推荐。简单的说就是如果A,B两个用户都购买了x,y,z三本图书,并且给出了5星的好评。那么A和B就属于同一类用户。可以将A看过的图书w也推荐给用户B。
1.1 寻找偏好相似的用户
我们模拟了5个用户对两件商品的评分,来说明如何通过用户对不同商品的态度和偏好寻找相似的用户。在示例中,5个用户分别对两件商品进行了评分。这里的分值可能表示真实的购买,也可以是用户对商品不同行为的量化指标。例如,浏览商品的次数,向朋友推荐商品,收藏,分享,或评论等等。这些行为都可以表示用户对商品的态度和偏好程度。