Disentangling User Interest and Conformity for Recommendation with Causal Embedding http://staff.ustc.edu.cn/~hexn/papers/www21-dice.pdf
背景
本文依旧是利用因果推断相关理论进行推荐系统纠偏的一篇文章,相关详细例子可以前往deconfounded中的“举个栗子”进行查看。这里进行简述,作者分析在用户购物的过程中,用户点击某个商品,一方面可能是因为他对这个感兴趣,另一方面可能是因为该商品最近比较热门,流行。而如若不加区分的直接从原始数据中进行训练,推荐,会使得推荐系统进入一个恶性循环,因此通常会进行纠偏,而本文是从分解原因的角度进行纠正。
- 本文点击原因分解为用户兴趣(interest)和一致性(conformity),结合因果推断构建推荐系统模型。
- 使用特定于原因的数据捕获两类特征,并构建多任务学习和累积学习从不同原因的数据中进行学习。
- 所提出的DICE框架具有较好的可解释性,并且在非独立同分布的数据上具有较好的鲁棒性
此处的一致性,本人也不是特别理解,从文中判断是和item流行度相对应的特征
方法
将原因分为两类之后,可以构建新的因果图,如下图:
难点:
如果我们需要训练这个结果,需要得到interest单独作为原因的数据和conformity单独作为原因的数据,但是我们用于训练的数据只是单纯的整体数据,是两个耦合在一起的数据,而这难点就在于如何解耦这两个原因 从图中可以发现,该因果图为_对撞结构_,interest和conformity两个节点相互独立,当以点击为条件时,这两个节点相关。作者利用这一点,来构建了以下方案。
方案:
表示user和item之间的兴趣匹配矩阵,
表示user和item之间的流行度一致性匹配矩阵。相当于将user-item矩阵分成了两个。
case1:负样本b(未点击)的流行度小于正样本a(点击)的流行度这样的情况可以说明负样本的流行度小于正样本,不过无法说明用户兴趣的相关信息,可以得到以下不等式
case2:负样本d的流行度大于正样本c这样的情况说明即使正样本不是热门样本,也被点击了,说明user对这个item的兴趣很高,可以的达到以下不等式
$$M_{ud}^C>M_{uc}^C,M_{ud}^IM_{ud}^I M_{ud}^C $$
根据以上两种情况,可以构建有样本对构成的数据集
分别表示以上两种情况。而这两个数据集可以分别对应一致性和兴趣度。本文构建三元组(u,i,j)分别表示用户,正样本,负样本,然后通过BPR模型进行建模,BPR模型是一个现有的模型,有兴趣的小伙伴可以查阅一下,后续有机会在做介绍。
一致性模型(Conformity Modeling)
整个DICE框架下,
分别表示user对应的conformity特征和interest特征,以及item i,j的流行度特征和本身特征,这里item的流行度特征和用户的一致性特征是对应的,因此这里作者为了统一就都用con和int表示了。
其中<,>表示点积,通过BPR可以衡量三元组的关系,此处的构建方式正是对应于上面的两个case中
相关的不等式。
兴趣度模型(Interest Modeling)
兴趣度模型的构建方式根据case2中的
相关的不等式。
点击率估计模型
其中
表示特征的拼接,损失函数的构造是根据上述case的不等式,将con和int特征拼接后,进行点击预估
分离任务(Discrepancy Task)
分离任务主要的目的是使得两类特征尽量不相关,以此达到因果图中相互独立的条件。因此此处作者尝试了采用L1,L2以及distance correlation(dCor)来衡量两个embedding之间的关系。最小化-L1,-L2,dCor。
三元组采样方式(PNSM)
在正负样本流行度差别较大时,上述不等式就很可能成立,因此作者采用以下采样方式:假设正样本的流行度是p(流行度的计算就是其出现的次数),则在采样负样本时,采样流行度大于p mup的或者小于p-mdown的。mup和mdown均为设置好的数,表示正样本的边距。通过边距的设置
多任务累积学习
损失函数已经比较明显了,结合多个任务,click为主任务,加上超参数控制不同子任务对主任务的影响程度。当mup和mdown较大时,具有较高的置信度来得到上述case中的不等式,因此α的值可以较大。随着训练轮次增加,减小边距mup,mdown,并且逐渐减小α。累积学习方式使得训练得到的DICE更加健壮。