前面一篇文章,对近20年的position bias发展做了详细的描述、列举,下面这篇文章配合上一篇文章,将一些阶段性发展,有代表意义的解决办法进行下详解
一、贝叶斯模型
2007年
贝叶斯模型
这里面有个逻辑,就是认为一个广告点击与否取决于两个因素,一是他被看到的概率,一是看到了被点击的概率,所以有了下面第一个公式
其中的 p(seen|ad,pos) 就是 广告在某个位置被看到的概率,
P(click|ad,pos,seen)就是 广告在某个位置被看到->点击的概率
这里面有好几个假设
- 就是被点击但是没有看到的可能性为0
- 一旦一个ad被看到的话,他是否被点击就和position无关了
- 在给定position的情况下,ad被看到的概率和广告本身无关,也和其他广告的内容无关
在这几种假设下,概率公式被描述成了上篇文章那样
二、pair对模型
2008.4
Pair对模型
下面这样一个场景属于典型的存在position bias,假设有两个广告ad1和ad2,且ad1位于ad2的上面,若点击ad1但未点击ad2,并不能说明ad1是更相关的,可能仅仅是因为它在更上面。但如果用户点击ad2但未点击ad1, 那我们就更有理由相信ad2比ad1更相关,利用这样的假设,就可以组成pair对。文章中的构造方式如下
右侧每个阴影的地方构成block,每个block包括以下:最下面属于代表被点击,而其上则是位置更靠上则没有被点击的,然后在训练的时候可以采用pair形式的训练方式。
三、级联模型
将“用户点击” 看成伯努利事件,认为只有当上一个位置的文档没有被点击时,下一个位置的文档才有可能 被点击。也就是说人们都是从上到下挨个看过去每一个文档。
其中r(ai)表示广告ai在页面q的位置下被点击的概率,q(ai)代表广告ai被认为与页面q相关的概率,ci代表前面所有文档跳过的概率
四、贝叶斯+协同过滤
2014.12
算法的推荐结果来自于用户的邻居,即相似的页面。待推荐页面的某个邻居页面刊登了一些没有在待推荐页面上刊登过,并且在邻居页面上被点击过的广告。如果将这些广告刊登在待推荐页面上很可能就会被点击。原因在于这个页面和它的邻居在点击行为上是存在相似性的这种相似性使得它们对同个广告的相关性也是相近的。
如果邻居页面与这个广告的相关程度足以导致被点击,那么相似页面与这个广告的相关程度也可能导致这个广告在待推荐页面上被点击,首先需要衡量用户之间的关系。就是要度量不同页面之间的相似度。如果多个页面具有相似的历史点击行为,可以认为多个页面是相似的邻居,相似的历史点击行为,不仅指在这多个页面上有许多相同的广告被点击过,而且多个页面对同个广告的相关性数值上也要接近,具体而言,根据相关性构建页面向量,使用调整余弦相似度相似计算每个页面之间的相似度
五、EM模型
可以参考这篇文章:https://new.qq.com/omn/20180304/20180304G0PULL.html
2018.2 谷歌
文章首先讨论了如果已知偏差值,也就是用户看到每一个文档或者物品时的概率,我们就可以构造“无偏差”的指标,比如“无偏差的精度”来衡量系统的好坏。
这里,无偏差的效果主要是来自于重新对结果进行权重的调整。意思就是说,并不是每一个点击都被认为是同样的价值。总的来说,如果文档位于比较高的位置上,那权重反而会比较低,反之,如果文档位于比较低的位置上,权重反而较高。这里的假设是一种“位置偏差”(Position Bias)假设。意思就是不管什么文档,相对来说,放在比较高的位置时都有可能获得更多的点击。因此,在较低位置的文档被点击就显得更加难得。
这种情况下,一般都无法直接知道“偏差值”。因此,如何去估计偏差值就成了一个核心问题。
这篇文章在进行“偏差值”估计的方法上,首先利用了一个叫“位置偏差模型”(Position Bias Model)的经典点击模型,对偏差值和相关度进行了建模。“位置偏差模型”的假设是用户对于每一个查询关键字的某一个位置上的文档点击概率,都可以分解为两个概率的乘积,一个是用户看到这个位置的概率,一个就是文档本身相关度的概率。那么,位置偏差模型的主要工作就是估计这两个概率值。
作者提出,直接对位置偏差模型进行参数估计。也就是说,不希望利用随机化来完全消除其中的位置概率,而是估计位置概率和相关度概率。
这里,因为有两个概率变量需要估计,于是作者利用了传统的“期望最大化”(EM)算法,并且提出了一种叫做“基于回归的期望最大化”的方法。为什么这么做呢?原因是在传统的期望最大化中,作者们必须对每一个关键字和文档的配对进行估计。然而在用户数据中,这样的配对其实可能非常有限,会陷入数据不足的情况。因此,作者们提出了利用一个回归模型来估计文档和查询关键字的相关度。也就是说,借助期望最大化来估计位置偏差,借助回归模型来估计相关度。