推荐系统-冷启动问题

推荐系统冷启动问题主要分为三类

  1. 用户冷启动:用户冷启动主要解决如何给新用户做个性化推荐的问题。

  2. 物品冷启动 :物品冷启动主要解决如何将新的物品推荐给可能对它感兴趣的用户这一问题

  3. 系统冷启动 :系统冷启动主要解决如何在一个新开发的网站上(还没有用户,也没有用户行为,只有一些物品的信息)设计个性化推荐系统,

    可能得解决方案:

  4. 提供非个性化的推荐:热门排行榜,随机推荐

  5. 利用年龄等数据做粗粒度的个性化

  6. 通过社交账户登陆导入用户好友信息

  7. 登陆时收集用户兴趣信息

  8. 对于新加入的物品,可以利用内容信息

  9. 在系统冷启动时,可以引入专家的知识,通过一定的高效方式迅速建立起物品的相关度表。

利用用户注册信息

用户的注册信息分3种:

  1. 人口统计学信息

    包括用户的年龄、性别、职业、民族、学历和居住地。

  2. 用户兴趣的描述

有一些网站会让用户用文字描述他们的兴趣。

  1. 从其他网站导入的用户站外行为数据

    比如用户通过豆瓣、新浪微博的账号登录,就可以在得到用户同意的情况下获取用户在豆瓣或者新浪微博的一些行为数据和社交网络数据。

人口统计学

人口统计学特征包括年龄、性别、工作、学历、居住地、国籍、民族等,这些特征对预测用户的兴趣有很重要的作用,比如男性和女性的兴趣不同, 不同年龄的人兴趣也不同。

图3-3是一个基于用户人口统计学特征推荐的简单例子。如图所示,当一个新的注册用户访问推荐系统时,我们首先从用户注册信息数据库中查询他的注册信息。比如图3-3中的用户,我们查到他是一位28岁的男性,是一位物理学家。然后,查询3张离线计算好的相关表:一张是性别-电视剧相关表,从中可以查询男性最喜欢的电视剧;一张是年龄-电视剧相关表,从中可以查询到28岁用户最喜欢的电视剧;一张是职业-电视剧相关表,可以查询到物理学家最喜欢的电视剧。然后,我们可以将用这3张相关表查询出的电视剧列表按照一定权重相加,得到给用户的最终推荐列表。

image-20240505203028005

所以我们需要计算对于某种特征的用户喜欢什么样的物品

我们可以将${p(f,i)}$ 定义为喜欢物品i的用户中具有特征f的比例

image-20240505203222917

这里分母中使用参数$a$ 的目的是解决数据稀疏问题。比如有一个物品只被1个用户喜欢过,而这个用户刚好就有特征f,那么就有 ${p(f,i)=1}$ 。但是,这种情况并没有统计意义,因此我们为分母加上一个比较大的数,可以避免这样的物品产生比较大的权重。

Lastfm数据集包含了更多的用户人口统计学信息,包括用户的性别、年龄和国籍。图3-4给出了该数据集中用户性别的分布。

我们准备用该数据集对比一下使用不同的人口统计学特征预测用户行为的精度。 在测试集中给每一类用户推荐${p(f,i)}$最高的10个物品,并通过准确率和召回率计算预测准确度。同时,我们也会计算推荐的覆盖率来评测推荐结果

  1. MostPopular

    给用户推荐最热门的歌手。

  2. GenderMostPopular

    给用户推荐对于和他同性别的用户最热门的歌手,这里我们将用户分成男女两类。

  3. AgeMostPopular

给用户推荐对于和他同一个年龄段的用户最热门的歌手,这里我们将10岁作为一个年龄段,将用户按照不同的年龄段分类。

  1. CountryMostPopular

    给用户推荐对于和他同一个国家的用户最热门的歌手。

  2. DemographicMostPopular

给用户推荐对于和他同性别、年龄段、国家的用户最热门的歌手。

这 4 种 算 法 具 有 不 同 的 粒 度 , 其 中 MostPopular 粒 度 最 粗 , 而DemographicMostPopular算法的粒度最细。结果显示利用的用户人口统计学特征越多,越能准确地预测用户兴趣。

image-20240505203943178

收集用户兴趣信息

登录时用户提供一些物品,让用户反馈他们对这些物品的兴趣,然后根据用户反馈给提供个性化推荐

启动用户兴趣的物品需要具有以下特点:

  1. 比较热门

    如果要让用户对一个物品进行反馈,前提是用户知道这个物品是什么东西。

  2. 具有代表性和区分性

    启动用户兴趣的物品不能是大众化或老少咸宜的,

  3. 启动物品集合需要有多样性

    在冷启动时,我们不知道用户的兴趣,而用户兴趣的可能性非常多,为了匹配多样的兴趣,我们需要提供具有很高覆盖率的启动物品集合

Nadav Golbandi 通过如下方式度量一个物品的区分度D(i):

image-20240505204456354

其中,${N^{+}(i)}$是喜欢物品i的用户集合,${N^{-}(i)}$ 是不喜欢物品i的用户集合,$ {\overline{N}(i)}$是没有对物品i评分的用户集合。第一个是是喜欢物品i的用户对其他物品评分的方差,第二个是是不喜欢物品i的 用户对其他物品评分的方差, 第三个是没有对物品i评分的用户对其他物品评分的方差。也就是说,对于物品i, Nadav Golbandi将用户分成3类——喜欢物品i的用户、不喜欢物品i的用户和不知道物品i的用户(即没有给i评分的用户)。如果这3类用户集合内的用户对其他的物品兴趣很不一致,说明物品i具有较高的区分度。

当用户对某个物品有兴趣时,他们对其他物品的评分方差较大可能表明以下几个情况:

  1. 多样性的反映: 用户对其他物品的评分分布较为广泛,涵盖了不同类型和风格的物品。这可能意味着用户的兴趣比较多元化,对不同类型的物品都有一定程度的兴趣。因此,这种情况下推荐系统需要更加细致地分析用户的兴趣,提供更加多样化和个性化的推荐,以满足用户的多样化需求。
  2. 较强的区分度: 当用户对其他物品的评分方差较大时,不同用户之间的兴趣差异可能较为显著。这意味着推荐系统可以更好地区分用户之间的兴趣差异,从而提供更具针对性的推荐。例如,对于具有较大评分方差的用户,推荐系统可以更加精细地调整推荐策略,提供更符合其个性化需求的推荐结果。

并不是说这个物品很有区分度喜欢这个物品对其他物品的喜欢程度也相同,那么它可能并不符合热门

例子:通过一个简单的例子解释Nadav Golbandi的算法。如图所示,假设通过分析用户数据,我们发现《变形金刚》最有区分度。而在喜欢《变形金刚》的用户中《钢铁侠》最有区分度,不知道《变形金刚》的用户中《阿甘正传》最有区分度,不喜欢《变形金刚》的用户中《泰坦尼克号》最有区分度。进一步分析,我们发现不喜欢《变形金刚》但喜欢《泰坦尼克号》的用户中,《人鬼情未了》最有区分度。那么,假设来了一个新用户,系统会首先询问他对《变形金刚》的看法,如果他说不喜欢,我们就会问他对《泰坦尼克》号的看法,如果他说喜欢,我们就会问他对《人鬼情未了》的看法,如果这个时候用户停止了反馈,我们也大概能知道该用户可能对爱情片比较感兴趣,对科幻片兴趣不大。

image-20240505210002281

利用物品的内容信息

首先需要指出的是, UserCF算法对物品冷启动问题并不非常敏感。因为, UserCF在给用户进行推荐时,会首先找到和用户兴趣相似的一群用户,然后给用户推荐这一群用户喜欢的物品。在很多网站中,推荐列表并不是给用户展示内容的唯一列表,那么当一个新物品加入时,总会有用户从某些途径看到这些物品,对这些物品产生反馈。因此该物品就能不断地扩散开来,从而逐步展示到对它感兴趣用户的推荐列表中

对于ItemCF算法来说,物品冷启动就是一个严重的问题了。因为ItemCF算法的原理是给用户推荐和他之前喜欢的物品相似的物品。 ItemCF算法会每隔一段时间利用用户行为计算物品相似度表(一般一天计算一次),在线服务时ItemCF算法会将之前计算好的物品相关度矩阵放在内存中。因此,当新物品加入时,内存中的物品相关表中不会存在这个物品,从而ItemCF算法无法推荐新的物品。解决这一问题的办法是频繁更新物品相似度表,但基于用户行为计算物品相似度是非常耗时的事情,主要原因是用户行为日志非常庞大。而且,新物品如果不展示给用户,用户就无法对它产生行为,通过行为日志计算是计算不出包含新物品的相关矩阵的。为此,我们只能利用物品的内容信息计算物品相关表,并且频繁地更新相关表(比如半小时计算一次)。

因为我们需要根据物品的内容和信息对物品打上标签

对物品d,它的内容表示成一个关键词向量如下:

image-20240505210344048

其中, ei 就是关键词, wi 是关键词对应的权重。

在给定物品内容的关键词向量后,物品的内容相似度可以通过向量之间的余弦相似度计算:

image-20240505210409415

可以采用第二章的倒排表加速这一计算过程在得道相似度之后可以利用上一章提到的ItemCF算法的思想,给用户推荐和他历史上喜欢的物品内容相似的物品。

专家经验标注

首先,它让专家对电影进行标记,每个电影都有大约50个基因,这些基因来自大约1000个基因库。然后,在专家标记一定的样本后, Jinni会使用自然语言理解和机器学习技术,通过分析用户对电影的评论和电影的一些内容属性对电影(特别是新电影)进行自己的标记。同时, Jinni也设计了让用户对基因进行反馈的界面,希望通过用户反馈不断改进电影基因系统。

Author

jzs

Posted on

2024-05-10

Updated on

2024-05-10

Licensed under

Comments