lookalike模型综述

1.什么是lookalike

首先我们需要知道,lookalike不是某一种特定算法,而是某一类算法或者策略的总称。具体来说,在某个实际业务场景中,我们可能会先根据某些规则或者业务经验,选出一些好用户,即所谓的种子用户。这些用户往往精度很高,能精确贴合我们业务场景,但是一般人数较少。这个时候,我们就需要通过lookalike算法,根据种子用户,对人群来进行扩充,来满足实际业务需求。
举个实际例子,广告主在进行广告投放的时候,可能事先会给定1w个种子用户,这些种子用户对广告的响应与转化都很高。现在我们需要将广告的规模扩大,对100w人进行投放,这个时候就可以使用到lookalike的相关算法。

2.根据标签进行圈选

对于实际业务场景来说,根据标签进行人群圈选与扩充是常见的策略。像常见的广告/推荐等靠数据算法驱动的业务,标签系统是标配。在进行投放/人群圈选时,根据标签进行圈选时常规操作,也是最简单最容易实现的方式。其原理也很好解释:如果候选人群与种子用户人群具有相同的标签,这些人大概率相似度较高,后续的表现也与种子人群类似。

如果有完善的标签系统,根据标签进行lookalike扩充不失为一种简单高效的方式。当然这种方式也有区别,那就是比较粗糙,精度不太够,适合用于第一步召回/粗排阶段。

3.基于用户相似度进行扩充

通过计算用户相似度来对种子用户进行扩充,也是lookalike中常见的策略。

以本博主所在业务为例,系统中对业务内所有用户都有embedding操作,数据仓库中会记录所有用户的embedding值。理论上要对种子用户进行扩充,只需要计算与种子用户embedding值相似度即可,具体计算方法为计算余弦相似度,然后根据实际情况选取相似度最大/平均值即可。

基于相似度进行计算的方式,比较依赖前期embedding质量。如果前期user embedding质量较高,而且embedding的语义空间也与lookalike场景比较一致,那么基于用户相似度进行lookalike操作的方式是可行的。

4.基于分类模型

如果将lookalike中的种子用户看成正样本,我们再通过合理的方式构造负样本,就可以用传统的分类算法来进行lookalike操作了。比如LR, FM,各种树模型xgb等等,都可以用来做分类。

如果使用基于分类算法的模式,难点在于构造合适的负样本。因为lookalike本质是个PU Learning(Positive-unlabeled learning)问题,正样本无须多言就是给定的种子用户,但是负样本怎么选择,就是个非常有技术含量的活,后面可以专门写一篇PU Learning相关的内容。

5.基于Attention的深度模型

鹅厂的老铁在KDD 19发了一篇paper,《Real-time Attention based Look-alike Model for Recommender System》,正好认识团队相关的老铁,还咨询过paper里的相关内容,这篇paper的主要思路,就是使用RALM(Realtime Attention-based Look-alike Model) 算法,通过user representation learning 表达用户的兴趣状态,通过 Look-alike learning 学习种子用户群体信息以及目标用户与种子用户群的相似性,从而实现实时且高效的受众用户扩展和内容触达。

关于RALM的具体解析,可以参考知乎上的一篇文章,里面图文比较详细,感兴趣的同学可以参阅。
知乎链接:https://zhuanlan.zhihu.com/p/71951411

猜你喜欢

转载自blog.csdn.net/bitcarmanlee/article/details/131006642
今日推荐