前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SIGIR20最佳论文:通往公平、公正的Learning to Rank!

SIGIR20最佳论文:通往公平、公正的Learning to Rank!

作者头像
石晓文
发布2020-09-15 16:17:29
1.1K0
发布2020-09-15 16:17:29
举报
文章被收录于专栏:小小挖掘机小小挖掘机

大家好,我是叉烧。感谢卖萌屋再次给我机会在这里分享~

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 表示点击和未点击。有这个反馈后,我们就能用动态排序算法更新我们的排序规则得到 。

现在我们来看看这个描述用户偏好的变量 ,以点击和未点击来判断的话,那么用户偏好和相关性应该是这么关系:

表示该内容是否经过用户偏好的试探(实质上就是曝光),当且仅当内容被曝光而且被点击,用户的偏好才能被记录,换言之, 只能表达那些经过试探的内容的偏好,而对于那些没有被试探的内容,非常的不准确。即 的时候,我们无法判断是因为没有曝光还是因为曝光未点击导致的 0。这个错误在起初可能并不明显,但是随着迭代轮数的叠加,我们将无法判断累计点击低的内容,是因为曝光不足导致的低还是用户真的不喜欢而导致的低(事实上我们都把这种低都归于了后者)。

继续看 ,对于新物料,我们无法知道什么用户喜欢他,因此我们要通过试探的方式知道,就是曝光。但是常态下,我们无法快速获取用户的曝光,因此我们可以通过一些简单的方式进行估计,那就是实际的排序了。直观的,排序越在前面,被曝光的概率就越大。这也是我们常说的 position bias

其中 可以理解为排序的打分,例如我们预估的 ctr,和用户本身的信息、物料信息以及两者的相关性等一系列特征有关。

呼应前面的排序,假设不进行动态优化,则这个排序逻辑可用下面的数学公式表示:

公式(3)是系统展示给特定用户的排序。实质上就是根据用户 的特征,计算用户和文档 的相似度。这个相似度,当然也可以简化表示为期望 。在推荐领域,可以理解为“用户对特定物料的偏好”,直观点就是“点击率”。在搜索领域,其实就是 query 和 doc 的匹配度了。

那么,如果我们要动态,其实就是添加上与时间相关的特征,来让上面公式(3)中的 随着时间变化就好,这里就需要把上面提到的 用户偏好考虑进去,具体怎么加,在后续的章节中就会提到。

公平性

公平性到底怎么描述是一个非常关键的问题。公平性问题的核心就是如何公平合理地曝光。这里我们对如何判断是否曝光以及如何衡量用户对物料偏好两个变量进行建模。

是否曝光实际上和排序打分、用户信息、相关性有关,于是可以定义为偏好试探的边缘分布,即被曝光的概率:

现在我们把单个物料 拓展为一个类型的物料,用类内所有物料的平均曝光度衡量,有:

其中表示的是第i类物料。

对一个物料偏好可以用 来衡量,从上一节介绍中我们得知,这个变量和 、 有关。对整类物料的偏好,我们可以用类内所有物料的平均偏好来衡量,我们把它叫做 merit,有:

好了我们回到问题核心——公平性,公平的实现在于消除差异,那么公平的衡量问题就可以转为差异的衡量问题,差异低了,公平自然就高了。

(向右滑动查看完整公式)

先来看两者的差异描述的是什么方面的差异:,即某一类物料单位偏好下的期望曝光。这点非常遵从推荐系统中“根据偏好推荐内容”的宗旨,我们希望物料的偏好越大,曝光度越高。那么所谓的公平,其实就是希望每种物料的“单位偏好下的期望曝光”尽可能接近,所以有了变量,作者把它称为“exposure-based fairness disparity”。

当然,上述是一种基于曝光的公平衡量方式,我们还可以有更多衡量公平的方式,例如前面提到的点击,于是有:

(向右滑动查看完整公式)

(向右滑动查看完整公式)

这就是“impact-based fairness disparity”。

无偏性

考虑完了公平性,该是时候考虑无偏性了。这里需要考虑无偏性的变量一共3个:

  • 位置偏差
  • 用户对物料的平均相关性
  • 全局的物料期望相关性

position bais,即由于排位导致的曝光度不同,排在后面的物料被曝光的概率会逐级递减。有关位置偏差 的预估,作者认为这本不是动态排序问题的一部分,且目前已经有不少的研究谈到了,所以没有展开详述。简单地,可以直接根据排序的打分 (与用户偏好、物料性质以及两者匹配度等方面有关)来确定,还可以考虑加入更多的特征,如用户特征等(当然越复杂性能就会被拉的越多,需要根据实际需求综合考虑)[2]。

物料与用户相关性的一种表征,可以简单理解为,用户 x 点击 d 的概率。我们无法观测到实际的相关性 ,目前只能观测到 ,即用户的点击情况。作者提出使用抽样(survey sampling)和因果推断(causal inference)。

具体地解释下,我们希望得到 ,但是我们只能通过估计得到 ,而求 的时候,只能通过用户在时间 t 的行为(点击) 去求。但是 是有偏的,因此我们要尝试通过多次 的叠加,借助 的数学期望来估计 。总结成一句话就是,通过 的无偏化求 ,来得到这个无偏估计。呼应前面,这就是 引入到 中的物理意义和具体的方法

实际上我们只需要在损失函数层面让根据 求 的损失函数的期望等于根据 求 就行,即

最后就是 的简化版本 的估计了,简单地,其实就是一个期望点击率。

从公式中我们可以清晰地看到,相关性的计算,是需要依赖每一时间段的 进行动态更新的,从而实现了动态排序。

公平性的动态控制

有了公平性的衡量以及对关键参数的无偏估计,我们就可以为用户设计合理的排序规则以及排序规则的学习方式了。在实际应用中,从一开始我们就要尽可能保证公平,但上述的无偏估计都是要基于一定的迭代才能够求出无偏统计量,这就造成了矛盾,因此文章设计了一个控制器来控制这种情况的产生。

延续上面公式 (6) 提出的两个组内容曝光的差异值,这里升级一下,得到衡量全局所有内容曝光的公平性的变量,

(向右滑动查看完整公式)

显然 尽可能小,代表越公平。

这也就是这篇论文提到的 FairCo 了,FairCo 的思路来源于 Proportional Controller[3],其核心是为了在常态信号下控制特定信号而构建的一种模型。在这里,常态是能根据用户的偏好为用户推荐内容,需要控制的就是不能让特定组的条目出现的过多。 所以构建的形式就是这样的:

(向右滑动查看完整公式)

其中,

(向右滑动查看完整公式)

公式 (12) 是为了找出与所有类差距最大的那个类,对曝光不足的要推高,曝光过多的要拉低。

实验与效果

主要从两个层面考虑:

  • 新方法是否达到了预期效果。
  • 新方法在实际指标上是否确实有提升。

以此为中心,作者进行了一系列的试验和分析,首先是用了一套半人工的新闻数据,剖析了 FairCo 的效果。具有以下优点:

  • 公平性和实际用户体验能很好地兼顾。侧面也说明了用户对推荐内容的公平性是敏感且有需求的,这点我在搜索中的经验也是如此,用户在淘宝输入苹果,常规场景下我们既要给苹果手机电脑,也要给红富士苹果。
  • 无偏估计可以收敛到真正的相关性,上述无偏估计的设计是成功的。
  • FairCo 能够解决富者越富的问题。
  • FairCo 相比 LinProg 方法具有更高的性价比。
  • FairCo 是针对 group 来分析多样性的,但实验表明 FairCo 对类内物料的多少不敏感。
  • FairCo 对用户偏好的分布不敏感。

而在实际数据中,有进一步分析,有如下结论:

  • 公平性对用户体验优化有收益。
  • FairCo 能提升推荐的公平性。
  • 曝光公平性和点击公平性存在很大差异,需要根据实际情况进行选择和权衡。

评价

本文获得 best paper 可谓是实至名归,个人认为文章有如下亮点:

  • 明确指出了常规动态排序方法存在不公平性问题,并实证了公平性对整体用户体验的影响。这对搜索推荐的策略优化具有很强的指导意义。
  • 针对公平性问题,提出了描述公平性的衡量方法,即不同类目单位偏好下的期望曝光。基于这个衡量方法,提出了动态排序模型,取得正向效果。衡量方法十分巧妙,这个很有启发意义。
  • 考虑到多个统计量的无偏性,并且给出了无偏估计的方法。这么统计学的思路,需要有非常深的数学,尤其是统计学的基础。这种用多代均值做无偏估计的方法很有意思。
  • 比例控制器成为一种权衡多目标的方法,一个常态化分析和一个异常检测控制,用在这里非常合适。
  • 实证部分,本文没有循规蹈矩,而是有自己的一套非常完整的分析方案,这点对于科研其实也很有启发意义。我们时刻需要记住的一点是我们优化模型不只是为了准召、F1、NDCG之类的效果指标,很多旁系相关的指标我们仍然要考虑,比如稳定性、公平性等。这篇文章很好地诠释了这点,并给我们做了很好的示范,认真研读对我们思考问题、设计实验都很有好处。
  • 我们常把模型和规则分开,并且给它们区分了高端和低端。但实际上,规则和模型是密不可分的。比如:原来用当前用户的点击情况判断用户偏好,现在则是把用户历史时刻的平均偏好当做是用户偏好,这个策略不算“高端”,但是却实打实的用在了排序的框架里,产生了重要的作用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小小挖掘机 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 问题引申
  • 动态排序
  • 公平性
  • 无偏性
  • 公平性的动态控制
  • 实验与效果
  • 评价
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档