推荐算法(基于内容的推荐_1:内容推荐算法)

  • 基于内容的推荐:推荐给用户他们过去喜欢的类似产品;
  • 基于CF的推荐,识别出具有相同爱好的用户,给他们推产品
基于内容的推荐算法 基于内容推荐的步骤
  1. 对数据内容分析,得到物品的结构化描述
  2. 分析用户过去的评分或评论过的物品的,作为用户的训练样本
  3. 生成用户画像
    a.可以是统计的结果(后面使用相似度计算)
    b.也可以是一个预测模型(后面使用分类预测计算)
  4. 新的物品到来,分析新物品的物品画像
  5. 利用用户画像构建的预测模型,预测是否应该推荐给用户U
    a.策略1:相似度计算
    b.策略2:分类器做预测
  6. 进一步,预测模型可以计算出用户对新物品的兴趣度,进而排序
  7. 进一步,用户模型在变化,通过反馈更新用户画像(用户画像在这里就是预测模型)
    • 反馈-学习,构成了用户画像的动态变化
基于内容推荐的算法 空间向量模型(最基础的CB方法)
【推荐算法(基于内容的推荐_1:内容推荐算法)】用户信息和物品信息都被表示为带权重的词向量,使用余弦相似的计算用户对一个物品的兴趣度
例如:
1. 物品画像表示为视频的属性(TF-IDF):(视频名字,导演,主演,….)
2. 用户画像(喜欢或者不喜欢的电影类型):(视频名字,导演,主演,….)
3. 计算相似度(余弦相似度)
内容相似度的检索
  • 基于knn的最近邻的方法(基于空间向量模型)
    1. 选择出用户u喜欢的文档集合
    2. 在这些文档集合中,选择k个和新文档最相似的文档( 相似度使用余弦相似度计算)
    3. 注意区别和CF:cb的方法中是用文档和文档内容的相似度计算,而cf的方式是通过用户的打分来计算
基于 反馈的rocchio方法
基于文本分类的算法
  • 基于概率的算法
  • 基于其他线性分类器
  • 基于决策树
  • 基于聚类
用户画像中的特征选择
  1. 传统是基于IF-IDF的方法
  2. 现在是基于语义学的方法
基于内容推荐的层次结构 * 内容分析器
  • 文档的数据处理
  • 得到结构化的数据,存储在物品库中
* 信息学习器
  • 收集有关用户偏好的数据特征,泛华这些数据,构建用户特征信息(机器学习)
  • 通过历史数据构建用户兴趣模型(通过分类的方法,提取特征,特征就是组建用户画像的基础)
  • 生成兴趣特征(正样本)和无兴趣特征(负样本)
* 过滤组件
  • 将用户的个人信息和物品匹配
  • 生成二元或连续性的相关判断(原型向量和物品向量的余弦相似度)
反馈 显性反馈
  • 喜欢/不喜欢
    @@@A_hybird_user_model_for_news_story_classification)
  • 评分
    1. 离散刻度值
      @@@Social_information_filtering_algorithms_for_automating_”word_of_mouth”
    2. 把用户对网页的评价划分为热门,一般,冷门
      @@@Syskill_&_webert:_identifying_interesting_web_sites
  • 文本评论
隐性反馈
  • 保存
  • 删除
  • 印刷
  • 收藏
  • 缺点:偏差比较大
学习推荐
  • 建立活跃用户 Ua的个人画像;定义 Ua 的训练集TR;TR是 的集合;
  • rk是用户对物品描述 Ik 的平分
  • 监督学习算法生成预测模型
  • 给定一个新的物品的描述
  • 比较存储在用户数据库的用户偏好和物品特征
  • 预测是否 对物品有兴趣
  • 时刻改变用户个人信息
  • “反馈-学习”
内容过滤的优缺点 优点
  • 用户独立性:仅使用当前的用户评价来构建用户的个人信息
  • 透明度:可以接受推荐的结果
  • 新物品:没有任何用户评分的也可以推荐
缺点
  • 可分析的内容有限
  • 新颖度差
  • 新用户需要用户的偏好信息

    推荐阅读