SIGIR20最佳论文:通往公平、公正的Learning to Rank!
Editor's Note
应屋主之邀,再次撰文~感谢屋主,果然没屋子不行。SIGIR2020的best paper花落排序,谈的是公平性和无偏性,怎么定义、衡量和优化的,仔细看文章啦~
The following article is from 夕小瑶的卖萌屋 Author 机智的叉烧
星标/置顶小屋,带你解锁
最萌最前沿的NLP、搜索与推荐技术
编 | 兔子酱
大家好,我是叉烧。感谢卖萌屋再次给我机会在这里分享~
SIGIR2020 的 best paper 终于出炉,这次获奖论文是 Controlling Fairness and Bias in Dynamic Learning-to-Rank,这是一篇 排序学习(Learning to Rank,LTR) 的论文。
排序是匹配用户和内容(文章、视频、音乐)主要手段。在推荐和搜索场景中,目前的排序算法存在对用户和内容双方不公平的问题,针对此问题,本文提出了一种兼顾公平性、稳定性和实用性的 FairCo 算法,通过构建公平性的无偏统计量,控制曝光公平性以及实际排序的质量,并且可以随着数据的变化而自适应地动态调整。
论文本身阐述的东西比较多且深入(这也是他能拿best paper的原因之一哈哈),导致讨论的主线会被埋的比较深,为此我简单的先给大家梳理整块思路。大家按着这个逻辑先走一遍。
文章指出,排序学习中的动态排序,会实时地将全局用户行为考虑到排序策略中,由此引申出公平性问题,以及在量化用户兴趣偏好时会出现偏差。在阅读下文之前,我们先抛出几个问题,以便大家更好地理解本文的写作逻辑:
什么是动态排序,动态排序是如何把用户行为考虑进去的? 公平性问题的是如何产生的? 公平性应该如何衡量,原来为什么不公平,新方法怎么保证公平的? 如何通过用户行为量化用户兴趣? 量化方式为什么是“有偏”的? 我们的量化方法又是如何保证“无偏”的?
最终,了解作者是通过什么方式在动态排序中保证公平性和无偏性的。
论文题目:Controlling Fairness and Bias in Dynamic Learning-to-Rank
论文链接:
https://arxiv.org/pdf/2005.14713.pdf
背景
在排序学习LTR问题下,有一个专门的方向,就是动态排序,动态排序与常规的LTR方法相比,在计算排序的过程中加入了用户的反馈信息,将用户的反馈快速作用到排序结果上。
但问题也是从这里产生的,只有被曝光的内容才能获得用户的反馈,未曝光的内容连用户反馈都无法拿到。造成的后果是,一些优质的内容,可能会因为有很多用户的好反馈而得到后续更好的排名,而那些没有曝光的内容则会继续不被曝光,这就是 “富人越富、穷人越穷” 的状态。另一方面,在曝光的影响下,用户的思维其实是会被影响的,例如某些可能偏门的信息以为曝光多而被认为是“热点”。因此,我们需要在排序中考虑到公平性。
问题引申
为了更加深入地讨论这里面涉及的问题,作者用最原始的动态 LTR 方案来分析。
先来假设问题,例如现在有20篇文章需要我们进行排序,,第一天以随机排序给用户展示20篇,然后观察点击情况。设每一篇文章的点击数是,假设某篇文章被点击的最多,如,则这篇文章在后续的排名最高,继续跟进用户的点击情况,更新用户点击量重新进行排序。
这是最简单的动态排序,暴露了非常严重的问题。
第一点, 不是平均相关性的一致统计量(consistent estimators of average relevance)。换言之,它不是一个随着样本无限增加就能逼近真实效果的统计量。初衷上,我们希望这个 能够衡量用户的喜欢程度,但问题是,用户的喜好和实际曝光有很大关系,无曝光的内容喜好根本无从谈起。
第二点,作者指出问题在于排序策略本身,退一步说,假设我们获得了准确的平均相关性(搜索领域是 query 和 doc 的相关性,推荐领域则是用户对 item 的偏好程度),排序策略仍然会导致不公平的产生。举个极端的例子,假设我们有两个系列的文章,A 组和 B 组,分别有10 篇,51% 的用户希望看 A 组的文章,49% 的用户希望看 B组。按照这种规则,将会直接导致前 10 名全都是 A 组的文章,B 组的文章无法排在前 10,这会导致 B 组的文章曝光量大大下降。但是其实它们享有了相似数据量的用户的喜欢,就差 2%。但结果确是 A 组文章全部在前面,而 B 组文章全在后面的情况。这个问题非常严重,它会让 49% 的用户开始不用我们的产品,而对于 51% 的用户而言也不一定完全能够接受清一色的内容,因此对产品杀伤力很大。
从这两点出发,就引出了动态排序算法期望具备的两个性质:
无偏性。用来描述用户偏好的统计量是无偏的。 公平性。算法可以根据相关性对曝光量进行公平的分配。
动态排序
在讲如何改进一般的动态排序方法之前,先聊清楚什么叫做动态排序。给定一系列物料 ,用户信息 及用户与当前所有物料的相关性 ,以及时间因子,于是就有特定时间下的用户信息 和相关性 。在系统中, 是明确的显性的,而相关性 则是隐性的不好明确的。现在有一个排序规则 能够得到排序打分,在这个排序打分下我们能够获得一系列非负的用户反馈(后续就会被当做用户偏好),简单的可以用 0 和 1 表示点击和未点击。有这个反馈后,我们就能用动态排序算法更新我们的排序规则得到 。
现在我们来看看这个描述用户偏好的变量 ,以点击和未点击来判断的话,那么用户偏好和相关性应该是这么关系:
继续看
其中
呼应前面的排序
公式(3)是系统展示给特定用户的排序。实质上就是根据用户
那么,如果我们要动态,其实就是添加上与时间相关的特征,来让上面公式(3)中的
公平性
公平性到底怎么描述是一个非常关键的问题。公平性问题的核心就是如何公平合理地曝光。这里我们对如何判断是否曝光以及如何衡量用户对物料偏好两个变量进行建模。
是否曝光实际上和排序打分、用户信息、相关性有关,于是可以定义为偏好试探的边缘分布,即被曝光的概率:
现在我们把单个物料
其中
对一个物料偏好可以用
好了我们回到问题核心——公平性,公平的实现在于消除差异,那么公平的衡量问题就可以转为差异的衡量问题,差异低了,公平自然就高了。
(向右滑动查看完整公式)
先来看两者的差异描述的是什么方面的差异:
当然,上述是一种基于曝光的公平衡量方式,我们还可以有更多衡量公平的方式,例如前面提到的点击,于是有:
(向右滑动查看完整公式)
(向右滑动查看完整公式)
这就是“impact-based fairness disparity”。
无偏性
考虑完了公平性,该是时候考虑无偏性了。这里需要考虑无偏性的变量一共3个:
位置偏差 用户对物料的平均相关性 全局的物料期望相关性
position bais,即由于排位导致的曝光度不同,排在后面的物料被曝光的概率会逐级递减。有关位置偏差
具体地解释下,我们希望得到
实际上我们只需要在损失函数层面让根据
最后就是
从公式中我们可以清晰地看到,相关性的计算,是需要依赖每一时间段的
公平性的动态控制
有了公平性的衡量以及对关键参数的无偏估计,我们就可以为用户设计合理的排序规则以及排序规则的学习方式了。在实际应用中,从一开始我们就要尽可能保证公平,但上述的无偏估计都是要基于一定的迭代才能够求出无偏统计量,这就造成了矛盾,因此文章设计了一个控制器来控制这种情况的产生。
延续上面公式 (6) 提出的两个组内容曝光的差异值,这里升级一下,得到衡量全局所有内容曝光的公平性的变量,
(向右滑动查看完整公式)
显然
这也就是这篇论文提到的 FairCo 了,FairCo 的思路来源于 Proportional Controller[3],其核心是为了在常态信号下控制特定信号而构建的一种模型。在这里,常态是能根据用户的偏好为用户推荐内容,需要控制的就是不能让特定组的条目出现的过多。 所以构建的形式就是这样的:
(向右滑动查看完整公式)
其中,
(向右滑动查看完整公式)
公式 (12) 是为了找出与所有类差距最大的那个类,对曝光不足的要推高,曝光过多的要拉低。
实验与效果
主要从两个层面考虑:
新方法是否达到了预期效果。 新方法在实际指标上是否确实有提升。
以此为中心,作者进行了一系列的试验和分析,首先是用了一套半人工的新闻数据,剖析了 FairCo 的效果。具有以下优点:
公平性和实际用户体验能很好地兼顾。侧面也说明了用户对推荐内容的公平性是敏感且有需求的,这点我在搜索中的经验也是如此,用户在淘宝输入苹果,常规场景下我们既要给苹果手机电脑,也要给红富士苹果。 无偏估计可以收敛到真正的相关性,上述无偏估计的设计是成功的。 FairCo 能够解决富者越富的问题。 FairCo 相比 LinProg 方法具有更高的性价比。 FairCo 是针对 group 来分析多样性的,但实验表明 FairCo 对类内物料的多少不敏感。 FairCo 对用户偏好的分布不敏感。
而在实际数据中,有进一步分析,有如下结论:
公平性对用户体验优化有收益。 FairCo 能提升推荐的公平性。 曝光公平性和点击公平性存在很大差异,需要根据实际情况进行选择和权衡。
评价
本文获得 best paper 可谓是实至名归,个人认为文章有如下亮点:
明确指出了常规动态排序方法存在不公平性问题,并实证了公平性对整体用户体验的影响。这对搜索推荐的策略优化具有很强的指导意义。
针对公平性问题,提出了描述公平性的衡量方法,即不同类目单位偏好下的期望曝光。基于这个衡量方法,提出了动态排序模型,取得正向效果。衡量方法十分巧妙,这个很有启发意义。
考虑到多个统计量的无偏性,并且给出了无偏估计的方法。这么统计学的思路,需要有非常深的数学,尤其是统计学的基础。这种用多代均值做无偏估计的方法很有意思。
比例控制器成为一种权衡多目标的方法,一个常态化分析和一个异常检测控制,用在这里非常合适。
实证部分,本文没有循规蹈矩,而是有自己的一套非常完整的分析方案,这点对于科研其实也很有启发意义。我们时刻需要记住的一点是我们优化模型不只是为了准召、F1、NDCG之类的效果指标,很多旁系相关的指标我们仍然要考虑,比如稳定性、公平性等。这篇文章很好地诠释了这点,并给我们做了很好的示范,认真研读对我们思考问题、设计实验都很有好处。
我们常把模型和规则分开,并且给它们区分了高端和低端。但实际上,规则和模型是密不可分的。比如:原来用当前用户的点击情况判断用户偏好,现在则是把用户历史时刻的平均偏好当做是用户偏好,这个策略不算“高端”,但是却实打实的用在了排序的框架里,产生了重要的作用。
参考文献
[1] Morik M , Singh A , Hong J , et al.
Controlling Fairness and Bias in Dynamic Learning-to-Rank. 2020.
[2] Nick Craswell, Onno Zoeter, Michael Taylor, and Bill Ramsey. 2008.
An experi- mental comparison of click position-bias models. In WSDM.
[3] B Wayne Bequette. 2003.
Process control: modeling, design, and simulation. Prentice Hall Professional.