本文主要基于博主的实际经验,简单介绍几种推荐系统实践中常用的几种解决冷启动的方案。每种方案尽量提供主要的资料,但不展开详细介绍,有需要的可以自己查看相关资料或google。
此外,本文只针对用户的冷启动问题,不涉及物品的冷启动。
我将这些方案归纳为以下几种:
1、基于用户基本背景属性
2、基于用户的社交关系
3、基于用户的设备信息
4、启动页设计
5、bandit算法
下面分别介绍这几种方法。
1.基于用户基本背景属性
我们通常所说的用户冷启动问题是指系统中没有用户的行为数据,但并不表示没有其他数据,或者可以获取到其他数据。
获取来源:
有哪些数据可以用来解决冷启动呢?
1) 系统内的数据通常包括用户的一些注册信息,比如用户的年龄,性别等;
2)如果系统内没有呢?如果可以,可以从外部源获取用户的相关信息。比如,在你的系统(平台)上,通常起码都会有用户的手机号或者邮箱,通过这一标识数据,可以从外部,通过合作或者爬取到用户的相关人口属性数据,或其他更多的数据。
3)现在很多平台都允许采用第三方的账号(当然,主要是微信,qq以及微博)登录,这个的好处也是为了能够从第三方获取到一些基本的用户信息。
有了这些数据后怎么办呢?我们就可以采用基于人口统计属性的推荐算法了。方法主要有:
1)将用户的这些属性数据转换成他的特征向量,然后基于用户最近邻给用户推荐物品。注意,最近邻需要找非冷启动问题的用户(这些姑且叫做活跃用户,而相应没有行为数据的用户称之为沉默用户),这个很好理解,没有行为的用户是没法给别人推荐物品的。
2)逻辑回归;通常,物品的属性,比如像新闻,有作者,来源等,同时还能抽取关键词。那么结合用于的属性,物品的属性,我们还可以采用逻辑回归来解决冷启动问题:利用活跃用户的数据,得到逻辑回归的训练样本数据,然后训练得到一个模型。用这个模型就可以预测用户是否会对某个物品产生行为,进而实现推荐。通常,除了用户和物品的属性外,如果可以,添加上下文信息(

本文介绍了五种解决推荐系统中用户冷启动问题的方法,包括基于用户背景属性、社交关系、设备信息、启动页设计及bandit算法。这些方法有助于在缺乏用户行为数据时进行有效的个性化推荐。


被折叠的 条评论
为什么被折叠?



