数据反馈信息
- 显性反馈数据和隐性反馈数据
- 显性反馈数据
- 概述
- 显性反馈行为包括用户明确表示对物品喜好的行为。这里的主要方式就是评分和喜欢/不喜欢。
- 特点
- 用户兴趣:明确
- 数量:较少
- 存储:数据库
- 实时读取:实时
- 正负反馈:都有
- 案例
- 视频网站:用户对视频的评分
- 电子商务网站:用户对商品的评分
- 门户网站:用户对新闻的评分
- 音乐网站:用户对音乐/歌手/专辑的评分
- 概述
- 隐性反馈数据
- 概述
- 隐性反馈行为指的是那些不能明确反应用户喜好 的行为。最具代表性的隐性反馈行为就是页面浏览行为。
- 特点
- 用户兴趣:不明确
- 数量:庞大
- 存储:分布式文件系统
- 实时读取:有延迟
- 正负反馈:只有正反馈
- 案例
- 视频网站:用户观看视频的日志、浏览视频页面的日志
- 电子商务网站:购买日志、浏览日志
- 门户网站:阅读新闻的日志
- 音乐网站:听歌的日志
- 概述
- 显性反馈数据
- 正反馈和负反馈
- 正反馈指用户的行为倾向于指用户喜欢该物品
- 负反馈指用户的 行为倾向于指用户不喜欢该物品。
- 一般来说,不同的数据集包含不同的行为, 目前比较有代表性的数据集有下面几个
- 无上下文信息的隐性反馈数据集
- 每一条行为记录仅仅包含用户ID和物品ID。 Book-Crossing 就是这种类型的数据集。
- 无上下文信息的显性反馈数据集
- 每一条记录包含用户ID、物品ID和用户对物品的评分。
- 有上下文信息的隐性反馈数据集
- 每一条记录包含用户ID、物品ID和用户对物品产生行为的时间戳。Lastfm数据集就是这种类型的数据集。
- 有上下文信息的显性反馈数据集
- 每一条记录包含用户ID、物品ID、用户对物品的评分和评分行为发生的时间戳。Netflix Prize 提供的就是这种类型的数据集。
- 无上下文信息的隐性反馈数据集
用户行为分析
- 用户活跃度和物品流行度的分布
- 用户活跃度和物品流行度的关系
基于邻域的算法
- 基于用户的协同过滤算法
- 基于物品的协同过滤算法
隐语义模型(LFM)
- 概述
- 隐语义模型是最近几年推荐系统领域最为热门的研究话题,它的核心思想是通过隐含特征 (latent factor)联系用户兴趣和物品。
- 人工对物品进行分类的难点
- 编辑的意见不能代表各种用户的意见。
- 编辑很难控制分类的粒度。
- 编辑很难给一个物品多个分类。
- 编辑很难给出多维度的分类。
- 编辑很难决定一个物品在某一个分类中的权重。
- 算法概览
- pLSA
- LDA
- 隐含类别模型(latent class model)
- 隐含主题模型(latent topic model)
- 矩阵分解(matrix factorization)
- 算法
- LFM在显性反馈数据(也就是评分数据)上解决评分预测问题并达到了很好的精度。
- 在隐性反馈数据集上应用LFM解决TopN推荐的第一个关键问题就是如何给每个用户 生成负样本。
- 方法
- 对于一个用户,用他所有没有过行为的物品作为负样本。
- 对于一个用户,从他没有过行为的物品中均匀采样出一些物品作为负样本。
- 对于一个用户,从他没有过行为的物品中采样出一些物品作为负样本,但采样时,保证 每个用户的正负样本数目相当。
- 对于一个用户,从他没有过行为的物品中采样出一些物品作为负样本,但采样时,偏重 采样不热门的物品。
- 特点
- 对每个用户,要保证正负样本的平衡(数目相似)。
- 对每个用户采样负样本时,要选取那些很热门,而用户却没有行为的物品。
- 方法
基于图的模型
- 概述
- 用户行为 数据是由一系列二元组组成的,其中每个二元组(u, i)表示用户u对物品i产生过行为。这种数据集 很容易用一个二分图① 表示。
- 一般来说图中顶点的相关性主要取决于下面3个因素
- 两个顶点之间的路径数;
- 两个顶点之间路径的长度;
- 两个顶点之间的路径经过的顶点。
- 分支主题
- 分支主题
- 算法
- PersonalRank算法