推荐系统中的position-bias

发布时间 2023-05-04 17:41:38作者: xd_xumaomao

背景

position-bias 简单理解就是同个商品/广告展示在不同的位置上有不同的ctr、cvr,如:

1. 小说榜单,越靠前的位置的点击率越高

2. 今日头条中可能有不同广告位,约显眼的广告位点击率约高

这样就回形成“马太效应”,排在前面的物品越来越容易排在前面,排在后面的物品越来越容易排在后面。这样会使得推荐系统的准确性、多样性都会受到影响

 

解决方案

1. 把position作为特征

最容易想到的方案就是把position作为特征,让模型学到不同position点击率的差异,这个方案的一个问题是物品的点击positon只有在训练时可以拿到,在serving是不知道的。通常的解决方法就是在serving时把position这个特征置0。

这里有个trick:训练时对position这个特征加dropout,防止模型过度依赖这个特征,被这个特征dominant

优点:简单,成本低,不会增加模型复杂度

缺点:上限低,改善效果有限

 

2. 华为PAL

PAL出自华为的论文《PAL: A Position-bias Aware Learning Framework for CTR Prediction in Live Recommender Systems》,PAL把用户是否会点击广告分为两个因素:

1. 用户在这个position上看到这个广告的概率

2. 看到广告后点击这个广告的概率

并且假设:

1. 用户是否看到广告只跟广告的位置有关系

2. 用户看到广告后,是否点击广告与广告的位置无关

 基于这些假设,就可以把ctr模型分为两个tower的乘积,左边tower只用position相关特征建模该position下seen的概率,右边tower只用非position特征建模seen后发生点击的概率,serving时只需要用右边tower serving

优点:采用类似ESMM模型的方式更精细化的建模了不同position对点击率的影响

缺点:做出的假设太强,和ctr、cvr不同,用户是否发生点击不能严格的拆违send->seen、seen->click两个阶段,用户在seen后是否发生点击还是和position有关系,

 

3. YouTube shallow tower

YouTube在《Recommending What Video to Watch Next: A Multitask Ranking System》这篇论文中采用了一个shallow tower来建模position bias

YouTube和PVL一样,都使用了一个单独的tower来建模position对ctr的影响,不同点在于PVL是以乘积的方式和主tower结合,而YouTube则是以加和的方式和主tower结合

 

参考资料

https://blog.csdn.net/Kaiyuan_sjtu/article/details/121867965