文章名称
【SIGIR-2021】【University of Illinois at Chicago】Propensity-Independent Bias Recovery in Offline Learning-to-Rank Systems
核心要点
文章旨在同时解决LTR中的Position Bias和Selection Bias,提出了两阶段的bivariate method,在不依赖Propensity Score的情况下,同时纠正上述两种偏差。
方法细节
问题引入
直接利用观测到的用户隐式反馈训练LTR模型,会因各种偏差影响,导致模型得到次优解。现有的方法主要利用Propensity Score进行偏差纠正,并且主要关注Position Bias。然而,准确估计Propensity Score是比较困难的,并且除了Position Bias以外,还存在如Selection Bias等多种其他偏差。值得注意的是,作者这里提到的Selection Bias不是评分模型(多见于召回阶段)里提到的,因用户选择给更喜欢的物品打分而造成的偏差。而是因为展示给用户的结果列表被截断了(因为只能取top-k),使得某些长尾物品根本无法被用户观察到,更没有可能被点击,造成了选择性偏差,偏差的示意如下图所示。
在估计Propensity Score时,除了我们熟知的,
- 收集随机数据会伤害用户体验;
- 利用Intervention Harvesting可能覆盖不到长尾物品(主要还是无法解决Selection Bias,因为他们长尾,所以常常被截断)
依赖Propensity的方法,通常需要联合估计Propensity以及Relevance,但是如果控制的不好,通常会导致两者都没有得到准确的估计,偏差没有被有效消除[3, 31]。最主要是的是,这些方法(由于因果推断的Positivity)Propensity有非零值,但是对于长尾物品来说,它们基本是0.
此外,现有的方法中,大多数要么只处理了Position Bias,要么只处理了Selection Bias(假设被曝光的物品具有相同的被审视概率)[28, 35]。少数同时解决两种偏差的方法要么过于复杂,要么需要满足较强将设,要么需要随机数据。
LTR问题可以被形式化为,给定查询以及某个物品,利用两者特征来估计查询(用户)-物品元组相关性。通常收集到的观测数据来自原有的LTR模型返回的推荐结果,啰嗦一句,返回的结果是一个物品的集合(top-k)。整个学习的目标是,基于观测数据学习新的排序模型。
把物品在返回结果中的排序记做,那么审视概率的Position Bias和Selection Bias可以被表示为如下图所示的公式。
其中表示被观测到的概率与查询以及某个物品在结果集中的排序之间的关系,是函数的参数。其中,0反映了Selection Bias也就是被截断的情况。
通常通过优化以下目标来学习排序模型,整个优化过程是在可能的查询集合上进行的(所谓整个,也是观测到的分布,未观测到的查询不属于分布,也就是出现概率比较小)。其中,表示的是某个查询的排序损失,该损失对排序错误的(把相关物品排很靠后)行为进行惩罚,以此不断优化模型。监督信息一般来自2种标签,
- 人工标注的相关性(昂贵),作者成为full observation settings
- 隐式的电机反馈(有偏),作者成为partial observation settings
具体做法
以同时解决Position Bias和Selection Bias为目标,作者从反事实的角度来定义问题(其他文章也有类似的定义方法[22])。定义变量表示用户是否观察到某个物品,表示在被观察到的情况下,物品是否被点击(应该可以被表示为条件概率)。在这种框架下,LTR的任务是准确度估计所有物品被点击的反事实概率(对于一些没有展示,没有被点击的物品是反事实),包括哪些(由于被截断)没有机会被观察到和被点击的物品(且),其形式化的公式如下图所示。
下一节,继续讲解怎么解决无法观测到用户是否审视到物品以及查询-物品相关性的问题。
心得体会
Selection Bias
文章引入了由于Top-K截断导致的选择性偏,使得某些物品被用户观测到的概率是0,点击概率也是0。这样的假设丰富了原有没有被观测到的物品主要是由于排序太低的单一假设,毕竟我们的全部候选集也包括那些根本没有进入返回结果集的物品。当然,也有可能模型足够准,那些没有进入结果集的物品都是不相关的,只是概率比较小。所以仍然会存在选择性偏差。两种偏差如果被单独切开处理,确实会存在遗留的偏差,同时可能没有利用到有效的信息。个人觉得这是文章的一个亮点。
Positivity
因果推断假设物品的Propensity在0,1之间,而top-k导致Propensity是0。不过如果从整个查询结集合的角度看,一个物品被包含在结果集合里的概率是可能大于0的(假设查询足够分散,物品不是特别长尾)?然而,这个概率就算不为0,也是没有意义的,因为我们所谓的干预是对一次查询做的,多次查询是iid的采样。一个次干预里,必须要保证treatment是positivity的。所以,位置和截断行为(其实是指K的选取,也就是K等于几)是两个混淆变量,同时影响了物品是否被点击,以及物品是否会被当做treatment assign给用户(把物品从左treatment,返回结果集看做是treatment的组合,结果集就是个组合treatment)。感觉作者的这个建模更causal(相比于其他文章)。
并且,可以看出,Selection Bias也和物品的位置有关,如果物品定位置小于K不就不会被截断了么。
Causal Outcome/Counterfactual
作者这里把观测到并点击的概率当做问题的outcome,而其他的一些文章把相关性当做outcome。个人感觉,还是点击概率更合理,毕竟从因果关系的角度,相关性是原因,同时影响treatment的assigment(物品的排序)以及物品是否被用户点击。
文章引用
[1] Yoshua Bengio and Jean-Sébastien Senécal. 2008. Adaptive importance sampling to accelerate training of a neural probabilistic language model. IEEE Trans. Neural Networks 19, 4 (2008), 713–722.
[2] Sébastien Jean, Kyunghyun Cho, Roland Memisevic, and Yoshua Bengio. 2014. On using very large target vocabulary for neural machine translation. arXiv preprint arXiv:1412.2007 (2014).
[3] Aaron van den Oord, Yazhe Li, and Oriol Vinyals. 2018. Representation learning with contrastive predictive coding. arXiv preprint arXiv:1807.03748 (2018).
[4] Kihyuk Sohn. 2016. Improved deep metric learning with multi-class n-pair loss objective. In NeurIPS. 1857–1865.