推荐系统之贝叶斯过滤算法

来源:互联网 发布:浙江软件企业认定 编辑:程序博客网 时间:2024/05/22 07:06
本文参考:https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/35599.pdf(来自google工程师的论文,08年左右还是比较早期的)
      一、首先为什么需要推荐系统
      一般情况下在互联网上我们有明确的需求,我们就会通过baidu、google等进行搜索,这部分是用户带有强烈的需求。另外一种情况是,当用户在浏览新闻时,能够看到一些有趣的东西,此时用户也不会明确告诉app我喜欢什么,反正app你看着猜吧。后面这种情况就是推荐系统需要解决的问题。

      二、常用的推荐系统方法、缺陷
      在推荐系统相关书籍中我们看到最多的方法是协同过滤算法UserCF以及ItemCF。
      (1)UserCF:推荐和你兴趣相似的用户喜欢的新闻
      (2)ItemCF:推荐和你之前喜欢物品相似的物品
      上述方法存在着弊端:
       1、新的新闻因为没有人阅读所以不会被推荐,对于爆炸性新闻的推荐会有数小时的延迟,错过了第一手资料的良机。
       2、用户之间并不总是等价的,比如娱乐新闻大部分都喜欢,但是会推荐给不喜欢的人
       那么怎么解决上述问题,我们的思路是:
       1、我们需要探究用户真实的兴趣画像
       2、记录兴趣新闻的分类,这部分新闻会在候选新闻列表中排名更高

      三、用户新闻兴趣的统计分析
       1、前提条件:如果统计用户的新闻兴趣,我们就需要有登录用户的信息,这部分是以log的形式存在。实际操作中我们会将用户基本信息脱敏,只保留操作行为进行数据分析
       2、新闻兴趣特点:观察google的用户行为日志,我们会发现用户兴趣有短期、长期之分。
       (1)短期:一般是热点,变化比较快,这部分跟着当地、所在国家的热点时事的趋势走。比如杭州举办G20,则当地人对这类新闻阅读量比较大,其他地区则不会有过多的关注。
       (2)长期:一般是用户真实的兴趣
       3、新闻趋势包含:重大新闻的影响、不同国家(区域)关注度不同,对个人兴趣改变的影响包括:
       (1)每个人的新闻兴趣会随着时间改变
       (2)重大事件会影响新闻趋势
       (3)不同的地区有不同的新闻趋势
       (4)在一定程度上,用户兴趣与所在地区的新闻趋势相关联
       4、用户新闻兴趣分类:
       (1)用户真实兴趣
       (2)当地新闻趋势的影响

      四、推荐系统评价方法
       1、推荐系统的2个注意点:
       (1)用户画像需要不断变更
       (2)即使用户信息很少,也能提供合理的推荐
       2、一般评价统计:点击情况(CTR click-through ratio点击率)、浏览时间(点进去后不看马上退出的一般是不怎么喜欢,但并不是说讨厌)

      五、贝叶斯信息过滤方法
       1、为什么使用贝叶斯方法:贝叶斯能够将前置条件转化为后置条件。比如我们需要计算点击一下是某个新闻分类的概率(用户新闻兴趣,即喜欢哪个分类的新闻),我们可以通过计算某个分类的点击率(这个是历史数据)换算得到。
       2、贝叶斯过滤算法的做法:
       (1)根据用户每一个时间段点击预测用户真实新闻兴趣
       (2)把每个时间段的数据汇总,得到一个真实的用户新闻兴趣
       (3)结合用户真实新闻兴趣,以及当地当前新闻趋势 预测用户当前兴趣
       3、计算过程:
       (1)计算用户在t时段点击Ci类新闻的概率
推荐系统之贝叶斯过滤算法
        
       (2)汇总过去各时段的数据预测用户的新闻兴趣
推荐系统之贝叶斯过滤算法

       (3)预测用户当前的新闻兴趣,其中G是平滑系数
推荐系统之贝叶斯过滤算法