关于推荐系统中冷启动问题的一些看法

发布于 2024-03-09  1.84k 次阅读


冷启动问题

推荐系统的冷启动问题指的是在系统面临新用户或新物品时,由于缺乏足够的历史数据而难以进行有效的个性化推荐。对于新物品而言,缺乏历史行为数据导致排序模型的记忆端无法识别该物品,同时也存在统计信息的缺失,一定程度阻碍物品本身的特征准确建模。对于用户而言,缺失历史行为数据更为严重,因为大部分用户特征都是基于历史交互物品来表征的。通常,为了解决冷启动问题,我们需要借助外部信息,如社交网络数据(通讯录、好友信息)或用户自选兴趣标签等。

用户与物品冷启动的区别

新用户的冷启动相对较为困难,因为用户的表征主要依赖于其历史交互物品。相比之下,对于新物品来说,最大的可利用外部信息是庞大的旧物品库和历史行为数据。

在前文提到了统计信息的缺失,该信息是基于历史行为的。为了弥补这一缺失,我们可以使用历史物品库中物品到统计信息的数据训练统计信息预测模型。但是,统计信息不仅受到物品本身特征的影响,还会受到发布时间等因素的影响。通过将统计信息分桶,并根据领域知识划分为有业务意义的段,可以最小化其他因素对其影响,保留其业务含义。例如画作的总收藏数和总浏览数,我们可以使用该统计值的业务含义是量化画作的作画质量优劣,在这个目的的导向下,5千的收藏数和2万的收藏数并没有很大的差别,因此5千以上的都将归为一个桶。

针对新物品的历史行为信息缺失,可以通过利用历史物品库的图像-标签数据来训练图像编码器,从而得到物品的语义embedding。在基于embedding的现代推荐场景中,新物品可以借助与其embedding相似的旧物品的历史交互数据进行个性化推荐,实现更精准的推荐效果。

冷启动问题的本质在于特征缺失,这导致推荐模型在面对新用户或新物品时难以准确地做出个性化推荐。为了解决这个问题,需要寻找方法来用外部信息填补这些缺失的特征数据。

用户冷启动一些解决办法

冷启动推荐需要高效地利用side information、有限的交互数据、Explore & Exploit

提供非个性化的推荐

  • 基于先验数据

    热门物品,近期热点话题

  • 多样化选择

    展示分类标签给用户自行选择

利用新用户在注册时提供的信息

  • 人口统计学数据

    性别、学历、工资等

  • 社交数据

    基于通讯录获取社交关系,实现你的朋友 XXX 也喜欢

  • 手动选择兴趣标签

兴趣迁移策略

  • 跨域推荐

    基于同公司下其他产品线的数据

快速试探策略

  • epsilon-greedy等强化学习方法

 

 


面向ACG编程