推荐系统实践笔记(四)

第四章 利用用户标签数据

流行的三个推荐系统联系用户和物品的方式:

  (1) item-base itemCF

  (2) user-base userCF

  (3) feature_base 隐语义模型以及UGC(User Generated Content)模型(用户标签模型)

 

利用用户标签推荐的简单算法流程:

  (1) 统计每个用户最常用的标签。

  (2) 对于每个标签,统计被打过这个标签次数最多的物品  

  (3) 对于一个用户,首先找到他常用的标签,然后找到具有这些标签的最热门物品推荐给这个用户。

  针对上述描述,用户u对物品i的兴趣公式为:$p(u,i) = \sum_{b}n_{u,b}n_{b,i}$b为标签集合,$n_{u,b}$表示用户u打过标签b的次数,$n_{b,i}$是物品i被打过标签b的次数

算法改进:

  (1) 兴趣计算公式$p(u,i) = \sum_{b}n_{u,b}n_{b,i}$一样存在倾向于对热门标签有很大权重的问题,借助TF-IDF的思想对公式进行改进:这里$n_{b}^u$记录了标签b被多少个用户标记过.这个算法记为 TagBasedTFIDF 。同理,我们也可以借鉴 TF-IDF 的思想对热门物品进行惩罚,从而得到如下公式:

$n_{i}^u$记录了物品i被多少个不用的用户打过标签.

  (2) 标签扩展

  用户兴趣和物品的联系是通过两者标签集合的交集来计算的,在冷启动问题中,新用户和新物品的标签很少,我们可以为其添加一些已有标签的相似标签.常用的方法有话题模型. 

  (3) 标签清理

  > 去除词频很高的停止词

  > 去除因词根不同造成的同义词,比如 recommender system 和 recommendation system ;

  > 去除因分隔符造成的同义词,比如 collaborative_filtering 和 collaborative-filtering 。 

 

标签的推荐以及一些实现就略过不记了,要用的时候再深入理解.

  

posted @ 2019-08-21 10:00  猪突猛进!!!  阅读(208)  评论(0编辑  收藏  举报