《推荐系统实战》读书笔记(三)

一、利用用户行为数据概述

为了让推荐结果符合用户口味,我们需要深入了解用户,通过用户留下的文字和行为了解用户兴趣和需求。

最简单的做法当然是在用户注册时,主动地表明他的需求。但是,这个方法有3个明显的缺点:首先,现在的自然语言技术很难理解用户来描述兴趣的自然语言;其次,用户的兴趣是不断改变的,很少有用户会不断更新自己的兴趣描述;最后,很多时候用户自己也并不知道自己的兴趣,或者说难以用语言来描述。

基于以上的问题,我们需要通过算法自行挖掘用户行为数据,从用户的行为中推测出用户的兴趣,从而给用户推荐满足他们兴趣的物品。

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


二、用户行为数据简介

用户行为数据在网站上最简单的存在形式就是日志。网站在运行过程中产生大量原始日志,并将其储存在文件系统中。

用户行为在个性化推荐系统中一般分为两种——显示反馈行为(explicit feedback)和隐性反馈行为(implicit feedback)。显示反馈行为比如评分和喜欢/不喜欢。

和显示反馈行为相应的是隐性反馈行为。隐性反馈行为指的是那些不能明确反应用户喜欢的行为,例如页面浏览行为。

这里写图片描述

按照反馈的明确性分,用户行为数据可以分为显性反馈和隐性反馈,但按照反馈的方向分,又可以分为正反馈和负反馈。正反馈指用户的行为倾向于指用户喜欢该物品,而负反馈指用户的行为倾向于指用户不喜欢该物品。

这里写图片描述

互联网中的用户行为有很多种,有很多方法来表示用户行为,这里给出其中一种:

这里写图片描述

当然,在很多时候我们并不使用统一结构表示所有行为,而是针对不同的行为给出不同表示。一般来说,不同数据集包含不同的行为:

  • 无上下文信息的隐性反馈数据集
  • 无上下文信息的显性反馈数据集
  • 有上下文信息的隐性反馈数据集
  • 有上下文信息的显性反馈数据集


三、用户行为分析


3.1 长尾分布

互联网上的很多数据分布都满足一种称为Power Law的分布,这种分布在互联网领域被称为长尾分布:

f ( x ) = α x k

这里以Delicious和CiteULike数据集为例,横坐标为物品的流行度K,纵坐标为流行度为K的物品总数:

这里写图片描述

同样是上述两个数据集,横坐标为物品的用户活跃度,纵坐标为具有某个活跃度的所有用户评过分的物品的平均流行度:

这里写图片描述

3.2 用户活跃度和物品流行度的关系

一般认为,新用户倾向于浏览热门物品,而老用户开始逐渐关心冷门的物品。以MovieLens数据集为例:

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_27157975/article/details/80640750
今日推荐