冷启动#

冷启动是推荐系统必须面对的问题,任何推荐系统都要经历数据从无到有、从简单到丰富的过程。那么,在缺乏有价值数据的时候,如何进行有效的推荐被称为“冷启动问题”。

具体地将,冷启动可分为三类:

1.用户冷启动

2.物品冷启动

3.系统冷启动

解决冷启动问题需要比较专业的洞察,根据领域专家意见制定合理的冷启动策略,总的来说主流冷启动策略可分为以下几类:

1.基于规则的冷启动

2.丰富冷启动过程中获得的用户和物品特征

3.“探索和利用机制”等

基于规则的冷启动#

在冷启动中由于数据缺乏,个性化推荐引擎无法有效工作,自然可以让系统回退到“前推荐系统”时代,采用基于规则的方法。

例如,在用户冷启动场景下,可以使用“热门排行榜”,“最近流行趋势”,“最高评分”等榜单作为默认的推荐列表。事实上,大多数音乐、视频应用都是采用这类方法作为冷启动的默认规则。

在物品冷启动场景下,可以根据一些规则找到物品的相似物品,利用相似物品的推荐逻辑完成物品的冷启动过程,以Airbnb为例进行说明。

Airbnb在新上线短租房时,会根据该房屋的属性对短租房指定一个“聚类”,位于同样“聚类”中的房屋有相似的推荐规则,“聚类”所依靠的规则有如下三条:

  1. 同样的价格范围

  2. 相似的房屋属性(面积、房间数等)

  3. 距目标房源的距离在10公里内

通过Airbnb的例子可以知道,基于规则的冷启动方法更多依赖的是领域专家对业务的洞察。在制定冷启动规则时,需充分了解公司的业务特点,充分利用已有数据,才能让冷启动规则合理且高效。

丰富冷启动过程中获得的用户和物品特征#

在历史数据特征缺失的情况下,推荐系统仍然可以凭借用户和物品的属性特征完成较粗粒度的推荐。这类属性特征包括以下几类:

1.用户的注册信息

2.第三方DMP(Data Management Platform,数据管理平台)提供的用户信息

3.物品的内容特征

4.引导用户输入的冷启动特征

探索和利用#

探索和利用是在“探索新数据”和“利用旧数据”之间进行平衡,使系统既能利用旧数据(捞鱼),又能高效地探索冷启动物品是否是优质物品(放鱼苗)。

这里以最经典的探索与利用方法UCB(Upper Confidence Bound,置信区间上界)为例说明探索与利用的原理。

使用UCB方法计算每个物品的得分的公式如下:

$$UCB(j) = \overline{x_{j}} + \sqrt{\frac{2ln\ n}{n_{j}}}$$

其中$x_{j}$为观测到的第j个物品的平均回报(这里平均回报可以是点击率、转化率、播放率等),$n_{j}$目前为止向用户曝光第$j$个物品的次数,$n$为到目前为止曝光所有物品的次数之和。

通过简单的计算可知,当物品的平均回报高时,UCB的得分会高;同时,当物品的曝光次数低时,UCB的得分也会高。也就是说,使用UCB方法进行推荐,推荐系统会倾向于推荐“效果好”或者“冷启动”的物品。