协同过滤
基于用户行为分析的推荐算法是个性化推荐系统的重要算法,一般称为协同过滤算法。
1.用户行为数据
用户行为数据在网站上的主要存在形式是日志和会话日志。
用户行为
显性反馈行为:用户明确表示对物品喜好。
隐形反馈行为:不能明确反映用户喜好的行为。
用户行为数据
按照反馈的明确性分,用户行为数据可以分为显性反馈和隐性反馈。
按照反馈的方向分,又可以分为正反馈和负反馈。正反馈指用户的行为倾向于指用户喜欢该物品,而负反馈指用户的行为倾向于指用户不喜欢该物品。
在显性反馈中,很容易区分一个用户行为是正反馈还是负反馈,而在隐性反馈行为中,就相对比较难以确定。
用户行为的统一表示
字段 | 含义 |
---|---|
user id | 产生行为的用户的唯一标识 |
item id | 产生行为的对象的唯一标识 |
behavior type | 行为的种类(比如是购买还是浏览) |
context | 产生行为的上下文,包括时间和地点等 |
behavior weight | 行为的权重(如果是观看视频的行为,那么这个权重可以是观看时长;如果是打分行为,这个权重可以是分数) |
behavior content | 行为的内容(如果是评论行为,那么就是评论的文本;如果是打标签的行为,就是标签) |
无上下文信息的隐性反馈数据集
每一条行为记录仅仅包含用户ID和物品ID。
Book-Crossing①就是这种类型的数据集。
无上下文信息的显性反馈数据集
每一条记录包含用户ID、物品ID和用户对物品的评分。
有上下文信息的隐性反馈数据集
每一条记录包含用户ID、物品ID和用户对物品产生行为的时间戳。Lastfm数据集就是这种类型的数据集。
有上下文信息的显性反馈数据集
每一条记录包含用户ID、物品ID、用户对物品的评分和评分行为发生的时间戳。Netflix Prize提供的就是这种类型的数据集。