作者:一元,四品炼丹师
An Experimental Comparison of Click Position-Bias Models (WSDM08)
这是一篇经典的文章,引用800 ,虽然有些老了,但里面的诸多假设仍然值得细细品味。
背景
搜索引擎点击日志提供了宝贵的相关信息来源,但这些信息是有偏的。
有偏的一个主要来源是呈现顺序:点击的概率受文档在结果页面中的位置的影响。本文着重于解释这种偏差,建模点击概率如何依赖于位置。我们提出了四个关于位置偏差产生的假设。
我们进行了大量的数据收集工作,扰乱了一个主要搜索引擎的排名,看看点击量是如何受到影响的。然后,我们探讨四个假设中哪一个最能解释实践中位置的影响,并将其与简单的logistic回归模型进行比较。
简单的位置模型并不能很好地解释这些数据,有些用户不分青红皂白地点击排名1的商品,或者注意力在排名上出现简单的衰减。“cascade”模型,用户从上到下查看结果,并在看到有价值的文档后立即离开,这是我们对早期排名中位置偏差的最佳解释。
位置偏差解释
我们将位置标记为, 我们对位置不做任何的假设,它们可能是线性排序的,在网格中,交错排列或以其他方式排列的。
我们的经验观测来自于一个标准的Top-10排序,我们诸多模型中的一个假设用户倾向于按从1-10的顺序观测结果。
大多数模型都假设存在一些与文档相关联的潜在“snippet relevance”变量,我们将其表示为,, 这是一种可能性,用户会认为代码片段的相关性足以保证在引擎的用户群中定义的点击。模型尝试基于以及其它的因素解释关于文本在rank为的位置的点击观测概率。
1. Baseline假设:在位置点击文档的概率与在位置点击文档的概率相同
Position Bias最简单的解释是none。用户查看所有结果并考虑每个结果的优点,然后决定单击哪个结果。在我们的基线假设中,在位置点击文档的概率与在位置点击文档的概率相同;
在我们的实验中, , 位置上可能的最小改变,所以我们的baseline模型是非常强的预测。
基线假设似乎与过去的研究不一致,过去的研究表明,排名第1或接近排名1的结果更有可能被点击,更有可能在眼睛跟踪下查看。衰减的点击曲线可以与基线一致,如果搜索引擎用衰减的对文档进行排序,那么我们将看到更低的rank的点击更少。然而,基线假设与衰减的注意曲线并不一致。
2. 混合假设:一些用户由于文档出现在rank 中而以概率盲目点击
关于position bias的另一种解释是,一些用户会盲目或投机地点击early排名。如果用户不确定或做仓促决定时,在这种情况下,我们有一个混合假设,一些用户由于相关性而点击,如在基线模型中,一些用户由于文档出现在rank 中而以概率盲目点击。用户的比例可以用混合参数来解释:
这个概率模型是新的,我们将看到很难根据我们的经验观察来拟合这个模型。然而,在不假设概率混合模型的情况下使用相关的方法,取得了显著的成功。Agichtein等人通过从该查询的点击分布中减去背景点击分布,纠正了位置偏差。然后,点击次数超过预期的搜索结果是相关的,而点击次数少于预期(否定)的搜索结果是无关的。
3. 检验假设
通过眼球追踪研究,我们有直接的证据表明,用户不太可能看排名较低的结果。这就提出了另一个假设:每个排名都有一定的被检验概率。这可以被建模为一个项,它是在位置被检测的概率,如果要被点击,结果必须被检查而且是相关的:
4. 级联模型
我们提出了一个新的模型来解释position效应,该模型假设通过排序进行线性遍历,并且不检查点击之后的文档。
本文灵感来自于Joachims等人的工作,该工作假设通过排名进行线性遍历,以点击结果结束。一个典型的模型是上面的。在该模型中,排名的单击文档被认为比跳过的文档更受欢迎。在第列。如果点击,则跳过第列的文档,$j
在级联模型中,我们假设用户从上往下浏览搜索结果,在进入下一个时会决定是否点击当前的,每个文档会以概率被点击以及概率被跳过点击,在模型的最基础形式,我们假设用户点击完了之后是不会再返回的,
为了观测一次点击,用户必须决定点击和跳过rank。
实验设置
为了验证我们关于点击是如何产生的假设,我们进行了一个对照实验,在这个实验中,我们改变了文档显示的rank,并观察了点击概率的变化。这是在一小部分用户上实验的,因为他们在主要的搜索引擎中执行搜索。所有翻转都是在排名前10的rank中的翻转,所以有9种类型的翻转,我们对其编号.
我们的每一个经验观察都涉及一个查询和两个 A和B,它们出现在结果列表中的和位置。所以一个实验可以被一个四元组鉴定:query, A, B, m; query在我们的实验中没有使用, 它仅仅用于对观测进行分组,我们按和的顺序给出了结果。在一次实验中,我们收集了六个计数。按顺序显示搜索结果的次数:,在上的点击次数, ,在上的点击次数, , 我们翻转顺序得到:, 以及,此处我们用1和2来表示翻转的上面和下面的ranks,即使当。
我们通过随机抽样收集了大量这样的实验,然后采用两种方式进行过滤。我们忽略了任何在前十名列表上方有广告或其他元素的实验。这意味着我们对前10名观看行为的分析主要集中在用户首先看到的是排名第一的情况。因此,我们不对广告和其他元素进行建模,第二个filter是移除或者的实验,这么做之后我们还有10.8万个实验。
我们使用ratios计算点击的概率并且可视化数据:在每个实验内,我们对更低的概率 和它的上面的概率,与其同时,我们对较低的概率进行配对, 以及它上面的概率
方框中间显示了较高概率的中位数,因此我们将bin较低概率的中位数显示为“.”,以便进行比较。方框图完整地显示了数据集,但存在一些问题。大多数观察都在最左边的箱子里。在最右边的bin中,我们实际上看到了中位点击概率在上部位置的下降(这是因为任何大于90%的概率都是异常值,因此在上部和下部位置都不太可能观察到)。
上图显示了日志空间中的相同数据。概率的对数几率为对数。这样做的效果是扩展了较低的概率,因此我们可以更清楚地看到数据的形状。误差条形图再次显示下、中、上四分位数(如方框图)。下图则显示了相同的图,但是对于每种类型的翻转是分开的。注意,我们的数据集包含大量零点击的观测数据,我们在实验和对数优势图中对这些数据进行了不同的处理。在实验中,我们保持零并使用平滑,后面会阐述。在对数优势图中,我们通过在x轴或y轴上的零点击观察移除任何数据点。零不能按原样显示,因为零的对数几率是负无穷大。此外,如果通过平滑或添加epsilon来包含它们,它们往往会使绘图的可读性降低,并减少关于非零数据点的信息。
Cross Entropy评估
存在四种可能的情况,
- 只点击A;
- 只点击B;
- 两个都点击;
- 两个都不点;
这么我们有从BA观测到的真实的概率, Cross entropy当的时候会给与奖励,我们对每个(query,A,B,m)计算平均的cross entropy。最后我们拿整体的cross entropy均值作为结果。
评估中的一个难点在于,我们的许多模型都独立地预测和的点击概率,这意味着我们分配了非零的概率,即两个结果在呈现时都被点击。
而在级联模型中,不可能同时观察到A和B的点击。我们的解决方案是对所有4个事件进行评估,但决不能同时观察到A和B的点击。我们表明,这并不妨碍独立A-B模型。
模型实现
我们通过下面的式子计算观测到的序列的点击概率:
此处默认, .
1.Baseline模型:
基于未调整的概率预测BA的点击概率;
2.Mixture模型:
通过一些简单的计算我们可以得到:
因为都是我们可以学习的参数。于是我们可以将它们替换为:
3.Examination模型:
4.级联模型
两个都点击的概率=0,一个都没点击的概率
结果
- 级联模型是最好的模型,优于logistic模型。Examination模型几乎没有对Baseline进行任何调整。我们还通过使用测试集BA计数作为我们的预测来计算“最佳可能”交叉熵。
- 在rank较小的时候,cascade模型表现特别好,在rank4以及之后,cascade模型表现的一般。
我们认为这意味着在较低的级别上存在少量的presentation偏差,并且由于点击很少,所以存在大量的可变性。
小结
我们10万多个观测类型的数据集中,cascade是迄今为止最成功的模型。这是值得注意的,因为它不使用训练数据,并适用于无参数点击观察。也就是说,它在较低rankk(大于4)级别上表现糟糕。尽管它并不比其他模型差多少,而且没有一个模型的性能明显优于基线。很明显,级联模型最适合解释rank为1或rank为1附近的翻转。
我们描述了一些简单的模型:“Mixture”下的点击是相关或随机的,而“Examination”下的点击是相关和examination的。然而,这些模型并不符合我们的数据。我们可以在没有点击的情况下找到任何级别的文档,这是反对随机点击假设的证明。
我们可以在(例如)rank 3中找到点击概率大于0.9的文档,这是反对检验假设的证明。因此,这两个模型的实现都存在约束问题。作为替代,我们提出了一个简单的LR模型,表现良好。即使我们允许AND或OR模型的权重有更多的极值,并且修正了任何越界的预测,他们的表现并不比LR模型好。
级联模型在早期排名中的出色表现,基线模型在较低排名中的不败表现,提出了两种结果查看模式。为了比较相邻配对的点击水平,基于我们的结果的建议是,如果配对处于最ranks,则简单地应用级联模型来校正呈现偏差,并且以未校正的形式使用来自其他ranks的点击。
显然可以改进我们的模型,增加更多的参数。例如,cascade模型包含一个关于继续的假设,即如果用户不单击,他们将继续排名(continue down the ranking.)。这显然不是真的,有些用户会放弃结果列表而不点击,也不查看所有结果。事实上,当用户浏览页面时,我们可能会发现,由于点击一个特别好的结果,我们会失去许多用户;如果点击一个特别坏的结果,我们会失去许多用户,因为放弃。然后,一旦用户点击,当前的层叠模型就假设他们不在了,因此我们永远无法观察到在同一个列表上的多次点击。如果我们给点击用户一些返回结果列表的概率,那么在级联模型下,可以允许多次点击的情况,这显然是真实发生的。
参考文献
- An Experimental Comparison of Click Position-Bias Models:https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.112.1288&rep=rep1&type=pdf
关注我们,一起完成年终KPI!