aihot  2017-11-07 06:03:23  机器学习 |   查看评论   

信任度

  信任度是指用户对于推荐系统的信任程度。我们可以通过提供给用户推荐理由以及利用用户的好友/信任的人的信息给用户做推荐来提高信任度。

  但是其实很多情况下,对于一些很容易直观感受到推荐结果好坏的物品,比如音乐,信任度就不那么重要了。

实时性

  在很多网站中,因为物品具有很强的实时性,比如新闻、微博等,所以推荐系统的实时性就显得至关重要。

  推荐系统的实时性包含两部分,一部分是推荐系统需要实时地更新推荐列表来满足用户新的需求;另一部分是推荐系统需要能够将新加入系统的物品推荐给用户。

  实时性对完成推荐系统的冷启动也有着重要作用。

健壮性

  健壮性指一个推荐系统防止作弊的能力。

  设计推荐系统时,应尽量使用代价比较高的用户行为。在使用数据前,可以进行攻击检测,从而对数据进行清理。

商业目标

  推荐系统也需要满足自身商业目标的需求。

总结

  在上面提到的指标里,预测准确度、覆盖率、多样性、新颖性是可以离线计算的。实际评测算法时,我们一般采用预测准确度的正确率和召回率,覆盖率,还有推荐商品的平均流行度。

  综合一下上面的指标,我们前面说了三个目标,分别是让用户满意、让物品提供者满意、让推荐系统满意。用户满意度对应第一个目标,覆盖率对应第二个目标,商业目标对应第三个目标。因为用户满意度不容易获得,所以实际上预测准确度替代用户满意度成为了最重要的指标。然后我们回到推荐列表上,将其与物品类型结合,物品种类多就是多样性;将其与用户认知结合,用户没听过就是新颖性惊喜度是新颖性的升级。然后是整个推荐系统,推荐系统需要实时性健壮性,来稳定保证好的推荐结果。而且有的场景的推荐系统还要考虑到用户对推荐系统的信任度的问题。

  这样就把这十个指标串起来了,也更方便记忆。

  当然我们在采用以上指标进行评测时,也要考虑到评测的用户维度、物品维度、时间维度,也就是涉及评测的用户群,物品的种类属性和评测的季节、时间等。这可以让我们发现不同算法在不同场景下的优缺点。

利用用户行为数据

  实现个性化推荐最理想的情况,是用户告诉我们他喜欢什么,但这种方法有三个缺点,第一个是,现在的自然语言处理技术还很难理解用户用来描述兴趣的自然语言;第二个是,用户的兴趣是不断变化的;第三个是,用户也不知道自己喜欢什么,或者说,用户也很难用语言描述自己喜欢什么。

  这里考虑代入HMM的思想,用户的需求会不断变化,就是状态序列。而且这个状态序列是隐藏的,也就是我们无法直接获知用户的兴趣,不管是因为用户自己没意识到还是无法表达。我们需要通过观察序列,也就是用户的行为数据去做推测,去根据EM算法估计这个HMM的参数,然后再用其来得到用户的需求序列,也就是隐状态序列。

  基于用户行为分析的算法是个性化推荐系统的重要算法,学术界一般将这种算法称为协同过滤算法。

  我们能拿到的用户行为一般分为两种,显性反馈行为和隐性反馈行为,显性反馈行为就是点击喜欢不喜欢,或者评5分1分。隐性反馈行为指的是那些不能明确反应用户喜好的行为。最具代表性的隐性反馈行为就是页面浏览行为,虽然不明确,但数据量更大。而且隐性反馈只有正反馈,没有负反馈。

  即便是反馈也分为有无上下文,实际上就是是否记录了用户反馈行为的时间以及前后行为,这里先只考虑无上下文的隐性反馈数据集。

用户行为分析

用户活跃度和物品流行度的分布

  互联网上的很多数据其实都满足长尾分布,也叫PowerLaw分布,我在《浅谈自然语言处理基础》中还提到过,就是讲平滑方法,古德图灵估计法那里。里面提到了Zipf定律,也即,如果将英文单词出现的频率按照由高到低排列,则每个单词出现的频率和它在热门排行榜中排名的常数次幂成反比。也可以这么说,如果x1x2x3是三个热门排名相邻的三类单词,x1最靠前,那么出现的频率x2/x1 < x2/x3,也就是最开始下降的最快,然后下降速度越来越慢。

  我们发现,用户活跃度和物品流行度都满足长尾分布。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自浅谈推荐系统基础

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]