当前位置:   article > 正文

《推荐系统》基于标签的用户推荐系统

for tag, wut in user_tags[user].items(): for item, wti in tag_items[tag].ite


打开微信扫一扫,关注微信公众号【数据与算法联盟】
转载请注明出处: http://blog.csdn.net/gamer_gyt  
博主微博: http://weibo.com/234654758 


1:联系用户兴趣和物品的方式

2:标签系统的典型代表

3:用户如何打标签

4:基于标签的推荐系统

5:算法的改进

6:标签推荐

源代码查看地址:github查看

一:联系用户兴趣和物品的方式

    推荐系统的目的是联系用户的兴趣和物品,这种联系方式需要依赖不同的媒介。目前流行的推荐系统基本上是通过三种方式联系用户兴趣和物品。

                                  

       1:利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品,即基于item的系统过滤推荐算法(算法分析可参考:点击阅读

       2:利用用户和兴趣用户兴趣相似的其他用户,给用户推荐哪些和他们兴趣爱好相似的其他用户喜欢的物品,即基于User的协同过滤推荐算法(算法分析可参考:点击阅读

       3:通过一些特征联系用户和物品,给用户推荐那些具有用户喜欢的特征的物品,这里的特征有不同的表现形式,比如可以表现为物品的属性集合,也可以表现为隐语义向量,而下面我们要讨论的是一种重要的特征表现形式——标签


二:标签系统的典型代表

       pass掉那些国外网站,比如说豆瓣图书(左),网易云音乐(右)

                

    标签系统确实能够帮助用户发现他们喜欢和感兴趣的物品


三:用户如何打标签

       在互联网中每个人的行为都是随机的,但其实这些表面的行为隐藏着很多规律,那么我们对用户打的标签进行统计呢,便引入了标签流行度,我们定义的一个标签被一个用户使用在一个物品上,他的流行度就加1,可以如下代码实现:

  1. #统计标签流行度
  2. def TagPopularity(records):
  3. tagfreq = dict()
  4. for user, item ,tag in records:
  5. if tag not in tagfreq:
  6. tagfreq[tag] = 1
  7. else:
  8. tagfreq[tag] +=1
  9. return tagfreq
      下面的是一个标签流行度分布图(横坐标是标签流行度K,纵坐标是流行度K对应的标签数目),其也是符合典型的长尾分布,他的双对数曲线几乎是一条直线

                                    

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/274948
推荐阅读
相关标签
  

闽ICP备14008679号