因果推断推荐系统工具箱 - IOBM(二)

文章名称

【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)。模型的整体框架如下图所示。

framework

首先,回顾一下定义。给定查询q以及返回的排序结果列表\pi_q,用户是否观测到某个物品(原文讲的是检索,所以物品是文档)d的随机变量表示为o。这个概率和它的排序位置p有关系,而是否被用户点击用随机变量c表示。

Individual Observation Embedding

模型首进行物品位置和点击的嵌入向量表示,v_p = Emb_p(p), v_c = Emb_c(c)。其中,v_p \in \mathbb{R}^{|\pi_q| \times l_p}, v_c \in \mathbb{R}^{2 \times l_c}l_p, l_c分别表示嵌入向量的size。值得注意的是,点击向量的行数为2,表示的是点击和未点击(个人理解,在预测当前物品的审视概率之类的时候,这个点击是之前位置的点击,符合IOBM的建模链式规则,类似RNN和Transformer里的mask)。

作者强调,学习embedding还可以缓解点击数据集中在头部物品上,导致尾部物品的点击概率比较难学的问题。因为embedding把所有物品压缩到同一个空间中,实现了数据和信息的共享。

可以直接通过拼接v_p, v_c的方式得到[v_p \oplus v_c]来作为用户的审视嵌入向量表示,但是这种嵌入向量应该在不同查询下是不同的。因此,需要引入查询上下文x_q,但原始的查询上下文信息包含太多的噪声,[1]采用手工提取的特征,显然是费时费力的,且不具有很好的泛化性。作者平均了查询结果集合\pi_q中每一个文本d和查询q的特征,如framework图中Query Context Features部分所示。并且,为了能够自动的筛选出审视embedding中重要的元素,采用attention的机制(intraobservation attention)来计算审视embedding v_{o}^{intra},其计算公式如下图所示。

ndividual Observation Embedding

其中,函数f_{x_q}^{att}定义如下图所示,x_{(j)}是输入向量x的第j维元素(这里的输入向量x[v_p \oplus v_c])。W, b是待训练的模型参数,而l_x是一个常数,表示输入向量的size。作者表示,在每一个维度的注意力得分前面乘以这个维度,可以用来对齐每一维元素的尺度。

intra-observation attention function

Interactional Observation Embedding

如前所述,审视通常受到返回结果中,排名在该物品前面的点击和审视动作的影响。作者通过学习Interactional Observation Embedding来避免直接显示建模整个审视概率的连式法则,同时充分表示这种交互的影响。

作者采用双向LSTM的方法学习Interactional Observation Embedding(原因是,有的用户会不按照顺序审视物品,可能倒着来或者随机来,其实这种不按照顺序,甚至是排版本身就不是瀑布流的场景也有研究文献,如XPA,后续会介绍。这种场景其实有点像NLP从RNN到ATT的过程)。前向LSTM Forward(\cdot) 利用上边计算的到的Individual Observation Embedding v_{o, 1},...,v_{o, |\pi_q|-1},计算得到Interactional Observation Embedding a_2, a_3,...,a_{|\pi_q|}。同理,反向LSTM Backward(\cdot) 利用上边计算的到的Individual Observation Embedding v_{o, |\pi_q|-1},...,v_{o, 2},计算得到Interactional Observation Embedding b_{|\pi_q| - 1},...,b_1。细心地同学可能发现,我们没有a_1, b_{|\pi_q|},这两个embedding可以利用Forward(0), Backward(0)得到,整体公式如下图所示。

Interactional Observation Embedding

同样的,Interactional Observation Embedding也和查询的上下文环境有关系(例如,这个用户如果没有倒着浏览的习惯,backward产出的embedding应该就没有那么重要),同样需要利用attention的机制来筛选embedding的重要性。作者称之为inter-observation attention,具体公式如下图所示。

inter-observation attention

Objective

得到Interactional Observation Embedding v_{o, p}^{inter}之后,可以利用FFN和sigmoid函数来计算审视概率估计值\hat{o}_{p},具体估计公式如下图所示。

prediction of observation

利用交叉熵损失,我们可以监督训练整个模型,目标函数如下图所示。但是,目标函数中的真实审视概率o_p,我们是不知道的,之前讲的PBM和CPBM中采用random swapping和intervention harvesting来同时估计相关性函数r和审视概率o,IOBM可以借鉴同样的方法来构造训练数据,学习模型参数。作者表示可以采用采用DLA[2]或者其他IPS的方法(作者用的是IPS)来学习模型参数。

objective function

代码实现

文章的伪代码如下图所示。

pseudo code

心得体会

scalar representation

作者提到,用户审视概率的影响因素交互较多,仅仅通过标量值来建模这种影响是不够的。个人感觉,本身这些随机变量(各个位置上的点击和审视)就是confounder,同时影响之后的点击和审视。因此,仅仅采用标量是很难反映多个方面的,之前模型的效果也印证了这一点。

点击嵌入

如上所述,这里的点击率embedding c实际上是利用某个函数,把当前位置p之前的点击数据进行嵌入表示,利用学习到的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.

©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容