文章名称
【SIGIR-2021】【Zhejiang University, China/National University of Singapore】CauseRec: Counterfactual User Sequence Synthesis for Sequential Recommendation
核心要点
文章旨在解决用户行为序列系数且具有噪声,对模型稳定性和鲁棒性造成的影响。作者从观测序列中识别不可或缺的和可替换的concepts,concepts包括物品粒度和兴趣粒度两个层级。通过替换观测序列中这两种concepts,可以得到反事实的行为序列分布(counterfactual data distribution,相当于数据增广)。通过在观测行为和反事实行为上进行对比训练(contrastive learning),解决前述问题。
方法细节
问题引入
SRS虽然能够从用户行为数据中提取有用信息,提升推荐性能。但受到如下两方面原因的影响,性能会有损失,
- 数据噪声。例如,caption bias[1], position bias[2]以及销售活动等,会是用户在某一时刻的行为与其原本意图或真实兴趣出现偏离。
- 数据稀疏。推荐系统中物品的总数量一般比较庞大,加之行为序列是对候选集进行排列,很难在有限的观测数据里保证估计可靠的数据分布。
作者提出利用反事实数据分布辅助模型学习,并提出了concept的概念。concept是指用户某一方面的偏好或兴趣(嗯,就是个概念而已)。Concept可以在体现在物品层级,也可以体现在更抽象的兴趣层级。此外,作者把concept分为两类,不可或缺的(indispensable)和可有可无的(dispensable)。
通过替换可有可无的concept(行为序列中的某个行为),可以得到所谓counterfactually positive用户表示(替换某个行为后,再学习embedding)。反之,通过替换不可或缺的concept得到counterfactually negative用户表示。通过对别学习,学习识别不可或缺和可有可无的的兴趣提升模型的准确性和鲁棒性。
具体思路,如下图所示。
具体做法
Formulation
首先,形式化的定义一下问题,
- (所有)用户可能的行为序列空间记作,物品总空间记作。
- 观测到的用户行为数据集为。其中,分别表示用户的序号和其行为序列的序号(一个人可能有多条行为序列),表示该用户产生的(或者说观测到的)行为序列交互的总数。
- 表示用户的行为序列(指的是其中一条序列)。
- SRS的目标是在给定的情况下准确的预测,预测概率记作。
值得注意的是,作者表示,文章旨在解决召回阶段的问题,而非排序阶段。
Baseline
作者首先给出了一个简单的baseline。因为是matching阶段的模型,召回大量物品,通常不采用复杂的用户和物品特征交互,而是用户和物品分别encode。用户encoder记作,利用用户行为序列得到用户向量表示(当然也可以拼接其他物品特征)。物品encoder记作,通常通过物品ID得到物品向量表示,或结合其他的物品特征拼接。最后,通过点积求用户和物品的相似度,返回top-k。通过优化如下目标进行模型参数的学习(一段再基础不过的召回操作)。由于物品集合庞大,所以一般采用sample softmax[3,4]。
作为基线,作者用简单的embedding lookup作为,而利用类似fasttext的方法作为(具体计算公式如下,先把所有行为交互的物品的embedding求平均,在过MLP)。
CauseRec
CauseRec的整体框架图,如下图所示。大致可以分为3个部分(步骤),
- 不可或缺与可有可无concepts识别。所谓不可或缺的concepts,指的是用户行为序列的子集,反映了用户的某方面兴趣。而可有可无,是无法构成(或者构成了不重要的)兴趣偏好的子集(这里有inductive bias)。
- 替换concepts。替换不可或缺的concepts会导致用户的兴趣偏移,在替换后的序列上得到的embedding被作者成为counterfactually negative用户表示(作者强调这种negative是hard的,意思是说除了这些concepts,其他的concepts没有改变)。替换可有可无的concepts,用户的兴趣应该没有变化,在替换后的序列上得到的embedding被作者成为counterfactually positive用户表示。
- 对比学习。通过对比学习的方式学习两种表示,来提升模型的鲁棒性和准确性。
本节介绍了问题的背景,作者的思路和整体框架以及作者提出的baseline。下一节将详细介绍CauseRec的3个组成部分。
心得体会
反事实序列生成
同其他反事实序列生成的方法一样,本文是利用替换的方法来进行反事实生成,区别在于作者利用了inductive bias来识别所谓的indispensable/dispensable concepts,然后有目标的替换。而其他生成方法则是通过不断地寻找最小的行为序列(或序列集合)是的模型预测改变,通过替换这个最小行为集合,得到反事实序列(也就是找到反事实解释)。
文章引用
[1] HongyuLu,MinZhang,andShaopingMa.2018.BetweenClicksandSatisfaction: Study on Multi-Phase User Preferences and Satisfaction for Online News Reading.. In The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval, SIGIR 2018, Ann Arbor, MI, USA, July 08-12, 2018.
[2] Rolf Jagerman, Harrie Oosterhuis, and Maarten de Rijke. 2019. To Model or to Intervene: A Comparison of Counterfactual and Online Learning to Rank from User Interactions.. In SIGIR.
[3] Yoshua Bengio and Jean-Sébastien Senecal. 2008. Adaptive Importance Sampling to Accelerate Training of a Neural Probabilistic Language Model. IEEE Trans. Neural Networks (2008).
[4] SébastienJean,KyungHyunCho,RolandMemisevic,andYoshuaBengio.2015. On Using Very Large Target Vocabulary for Neural Machine Translation.. In ACL.