文章名称
【SIGIR-2021】【浙大-Salesforce】Adapting Interactional Observation Embedding for Counterfactual Learning to Rank
核心要点
上一节描述了IOBM要建模的内容以及建模的方法。这一节讲解如何分别学习独立学习审视和点击的嵌入向量表示,并利用上下文数据,结合观测内注意力机制(intra-observation attention)以及观测间注意力机制(inter-observation attention)来消除上下文带来的偏差。
方法细节
问题引入
如前所述,影响用户审视概率的分为2个部分,
- 用户自身对物品的偏好与该物品所在位置共同作用的结果
- 排序靠前的审视行为和点击行为对当前物品审视概率的影响
原有的方法把这两部分混合在一起,甚至没有考虑第2点所提到的问题。是否有方法把这两者分开,并且分别表示成单独的confounder呢?
另外,如果显示建模所有链式过程中的随机变量(也就是前边的所有点击和审视概率),模型结构会变得非常复杂,如何有效的学习embedding来作为这些confounder的proxy呢?
具体做法
作者分别学习独立学习审视和点击的嵌入向量表示,建模2种注意力机制,1)内注意力机制(Individual Observation Embedding);2)观测间注意力机制(Interactional Observation Embedding)。模型的整体框架如下图所示。
首先,回顾一下定义。给定查询以及返回的排序结果列表,用户是否观测到某个物品(原文讲的是检索,所以物品是文档)的随机变量表示为。这个概率和它的排序位置有关系,而是否被用户点击用随机变量表示。
Individual Observation Embedding
模型首进行物品位置和点击的嵌入向量表示,。其中,,分别表示嵌入向量的size。值得注意的是,点击向量的行数为2,表示的是点击和未点击(个人理解,在预测当前物品的审视概率之类的时候,这个点击是之前位置的点击,符合IOBM的建模链式规则,类似RNN和Transformer里的mask)。
作者强调,学习embedding还可以缓解点击数据集中在头部物品上,导致尾部物品的点击概率比较难学的问题。因为embedding把所有物品压缩到同一个空间中,实现了数据和信息的共享。
可以直接通过拼接的方式得到来作为用户的审视嵌入向量表示,但是这种嵌入向量应该在不同查询下是不同的。因此,需要引入查询上下文,但原始的查询上下文信息包含太多的噪声,[1]采用手工提取的特征,显然是费时费力的,且不具有很好的泛化性。作者平均了查询结果集合中每一个文本和查询的特征,如framework图中Query Context Features部分所示。并且,为了能够自动的筛选出审视embedding中重要的元素,采用attention的机制(intraobservation attention)来计算审视embedding ,其计算公式如下图所示。
其中,函数定义如下图所示,是输入向量的第维元素(这里的输入向量是)。是待训练的模型参数,而是一个常数,表示输入向量的size。作者表示,在每一个维度的注意力得分前面乘以这个维度,可以用来对齐每一维元素的尺度。
Interactional Observation Embedding
如前所述,审视通常受到返回结果中,排名在该物品前面的点击和审视动作的影响。作者通过学习Interactional Observation Embedding来避免直接显示建模整个审视概率的连式法则,同时充分表示这种交互的影响。
作者采用双向LSTM的方法学习Interactional Observation Embedding(原因是,有的用户会不按照顺序审视物品,可能倒着来或者随机来,其实这种不按照顺序,甚至是排版本身就不是瀑布流的场景也有研究文献,如XPA,后续会介绍。这种场景其实有点像NLP从RNN到ATT的过程)。前向LSTM 利用上边计算的到的Individual Observation Embedding ,计算得到Interactional Observation Embedding 。同理,反向LSTM 利用上边计算的到的Individual Observation Embedding ,计算得到Interactional Observation Embedding 。细心地同学可能发现,我们没有,这两个embedding可以利用得到,整体公式如下图所示。
同样的,Interactional Observation Embedding也和查询的上下文环境有关系(例如,这个用户如果没有倒着浏览的习惯,backward产出的embedding应该就没有那么重要),同样需要利用attention的机制来筛选embedding的重要性。作者称之为inter-observation attention,具体公式如下图所示。
Objective
得到Interactional Observation Embedding 之后,可以利用FFN和sigmoid函数来计算审视概率估计值,具体估计公式如下图所示。
利用交叉熵损失,我们可以监督训练整个模型,目标函数如下图所示。但是,目标函数中的真实审视概率,我们是不知道的,之前讲的PBM和CPBM中采用random swapping和intervention harvesting来同时估计相关性函数和审视概率,IOBM可以借鉴同样的方法来构造训练数据,学习模型参数。作者表示可以采用采用DLA[2]或者其他IPS的方法(作者用的是IPS)来学习模型参数。
代码实现
文章的伪代码如下图所示。
心得体会
scalar representation
作者提到,用户审视概率的影响因素交互较多,仅仅通过标量值来建模这种影响是不够的。个人感觉,本身这些随机变量(各个位置上的点击和审视)就是confounder,同时影响之后的点击和审视。因此,仅仅采用标量是很难反映多个方面的,之前模型的效果也印证了这一点。
点击嵌入
如上所述,这里的点击率embedding 实际上是利用某个函数,把当前位置之前的点击数据进行嵌入表示,利用学习到的embedding来计算它对后续审视概率的影响。
文章引用
[1] Zhichong Fang, Aman Agarwal, and Thorsten Joachims. 2019. Intervention harvesting for context-dependent examination-bias estimation. In Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. 825–834.
[2] Qingyao Ai, Keping Bi, Cheng Luo, Jiafeng Guo, and W Bruce Croft. 2018. Unbiased learning to rank with unbiased propensity estimation. In The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. 385–394.