阅读笔记:《Causal Inference for Knowledge Graph based Recommendation》
阅读笔记:《Causal Inference for Knowledge Graph based Recommendation》
- 论文
- 
摘要部分概述研究的核心内容与目标。
 - 
研究背景介绍其理论意义与应用价值。
 - 
方法论体系化阐述研究采用的主要理论框架与分析工具。
- 在问题建模阶段中详细阐述具体方法论的应用场景与适用性。
 - 具体实施过程中采用了后门调整策略来解决关键问题。
- 在模型构建中涉及到了其中的具体实现方式:其中f(\cdot)和U(\cdot)的具体实现方式被详细阐述。
 - 研究中采用了反事实推理策略来进行数据验证与结果检验。
 - 在损失函数设计上注重考虑模型的泛化能力与计算效率之间的平衡关系。
 
 
 - 
实验
 - 
总结
 
 - 
 
论文
该研究以标题形式发布于2022年IEEE知识与数据工程汇刊上。该研究由Yinwei Wei及其团队完成,并由新加坡国立大学计算机学院的作者负责执行。作为首次尝试,在这项研究中首次探索了基于因果关系的分析框架以优化基于知识图谱的推荐系统。
摘要
多是采用知识图谱作为辅助信息,并将其整合到协同过滤推荐机制中。尽管如此表现依然显著。然而未能实现从知识图谱属性中提取并反映用户的偏好特征。主要原因在于其忽视了两个关键因素。
- 知识图谱的组织形式可能会影响学习者的偏好。
 - 用户的互动特征可能导致计算结果出现偏差的问题。
 
作者开发了一个基于知识图谱中的变量间因果关系的框架,并揭示出导致上述结果的原因。该框架命名为Knowledge Graph-based Causal Recommendation (KGCR)模型。该模型有两个主要创新:一是通过反混淆技术学习用户的偏好;二是采用反事实推理以消除相似性评分偏差。
经过广泛的实证研究,在Amazon-book、LastFM和Yelp2018这三个数据集上表现更为出色。
背景
知识图谱简介:

作者指出以往基于知识图谱的知识化推荐系统在建模知识图谱中属性实体间的细致层次用户偏好方面存在局限性。在实际应用中人们往往倾向于选择具有特定属性的产品例如有人会因导演选择观看某部电影或者因品牌决定购买一双鞋子如图1所示用户的通过电影《异形2》所表现出的兴趣于Fiction Michael Biehn以及James Cameron等属性显著影响了《时光骇客》与《泰坦尼克号》的相关推荐。现有的研究工作如KGAT与KGIN模型似乎能够从用户的交互属性特征中提取并学习到细致层次上的用户偏好并通过计算用户与物品表示间的相似度来实现推荐过程然而这些模型仍面临两大主要挑战:首先信息过载问题会导致模型难以有效区分用户的兴趣点;其次现有方法在处理复杂场景时往往缺乏足够的表达能力从而限制了其推广价值。
第一个挑战是信息过载问题导致系统难以有效区分用户的兴趣点;第二个问题是现有方法在处理复杂场景时缺乏足够的表达能力从而限制了其推广价值。
- 知识图谱的结构信息限制了用户偏好在属性实体上的表示(简单来说,就是知识图谱的结构无法很好地反映出哪些属性更受用户的青睐)。这是因为结构信息决定了哪些属性与物品相关联,并决定了这些属性(如《星球大战》、迈克尔·比恩和詹姆斯·卡梅隆)如何与物品(如《星际迷航II》)相关联在一起。仅仅依赖于用户与物品之间的互动关系,在区分不同属性对用户的偏好方面仍存在局限性,这不可避免地影响了用户的偏好学习过程。因此,在利用用户与物品互动来推断用户的偏好方面所面临的第一个挑战是如何准确捕捉这种互动特征。
 - 用户交互行为会导致相似度评分出现偏差问题,在训练阶段可能产生不准确的监督信号来源。具体而言,在相同样本中(如迈克尔·比恩饰演的《时间 Traveler》),得分较高的项目涉及的属性数量更多(用蓝色曲线表示),从而绕过了用户对詹姆斯·卡梅隆偏好的关注(用红色曲线表示)。因此,在消除相似性分数偏差方面所面临的另一个关键挑战是如何平衡不同属性之间的关联关系。
 

作者深入探讨了用因果推断的原理来解释这两种挑战产生的原因。系统性地构建了一个因果关系模型来模拟相似性评分的因果因素,并在图2中进行了展示:
- K 表示用于描述用户所观察到的Item结构信息
 - A 代表用户的交互属性
 - U 指代基于属性确定的用户的偏好情况
 - S 用于衡量基于属性计算出的用户与物品之间的相似度评分
 - I 类比于利用属性特征来表示物品的方式
 
在因果图中分析可知
对于相似性评分中的偏差问题

方法论
关键的定义列出来方便查看:

问题建模
基于协同过滤的推荐模型:$$
S_{ui}^{cf} = f_{cf}({\bf{u}}{cf},{\bf{i}}{cf}) \tag{1}
$S_{ui}^{cf}$代表u与i交互的预测得分,在协同过滤相关的特征下评估用户u与物品i之间的互动可能性;其中分数函数$f_{cf}$能够通过内积计算或使用神经网络模型来实现。在知识表示方面:
G_{kg} = {(h,r,t)|h,t \in \varepsilon,r\in R}\tag{2}
$\varepsilon$是实体的集合,$R$是关系的集合,每个三元组描述了从头部实体h到尾部实体t之间的关系r。通过将项目映射到知识图谱的实体中,可以将从知识图谱中学到的外部知识注入到用户和项目的表示中。 基于属性计算的相似性得分:
S_{u,i,a} = f({\bf{u,i}}),where {\bf{u}}=U(O^+u,G{kg})\tag{3}
$S_{u,i,a}$体现了用户与物品之间的关联程度,在协同过滤中被定义为评分模型与偏好建模之间的关系指标。$f(),U()$分别代表评分模型和用户的偏好生成机制。$O^+_u$表示用户u与其互动过的所有物品集合,在知识图谱网络中被整合到全局拓扑结构中处理。 ### 具体方法论 #### backdoor adjustment  该研究采用因果推断中的常见反混淆手段,并通过do运算实施后置干预以消除K对A的作用,并针对问题1提出解决方案 * K: 表征用户观察到的 item 的数据特征 * A: 用户行为指标 * U: 基于行为指标构建用户的偏好模型 * S: 用户与 item 间的基于行为指标的相似度评估值 * I: 以行为指标为维度表示 item 的特性向量 核心理论公式:
\begin{align*} S_{u,i,a} & 达成了某种条件下的概率计算 \ & 等于通过求和的方式计算出特定条件下各可能性之总和 \end{align*}\tag{4}
在研究中发现,在该模型中$P({\bf{k}})= \{ P({{\mathbf k}_1}), \ldots, P({{\mathbf k}_{K'}}) \}$这一指标能够清晰地反映使用者观察到的各项物品与其属性结构之间的关联可能性;同时$U(\cdot)$这一函数则根据使用者的行为特征与各项物品的属性结构输出其偏好表现形式 其中$f(\cdot)$用于衡量用户与物品之间的相似程度。 它能够近似地将外部变量以及$k\in K$引入到表示用户偏好的函数U(·)中,并以此来降低计算负担。当$f(\cdot)$和$U(\cdot)$选用线性函数时,则能使得近似的误差达到最小值。 变量${\bf{k}}$的取值由集合$K' = \{k_1,\cdots,k_{K'}\}$通过特定方式决定,在此过程中每个分量都代表了各个item在属性维度上的分布情况。该方法将向量k分解为两个部分:第一部分是第一子向量$\tilde{k}\in[0,1]^{M\times 1}$(其中M为项目总数),它记录了各个项目的采样情况;第二部分则是矩阵$K \in R^{M \times N}$(N为属性数量),每一行则反映了相应item在其属性空间中的分布特征。例如,在图示中,采样向量$\tilde{k}=[0,1,0]$表示第二个项目被成功采样。通过这种方式,在反事实场景下调整采样向量$\tilde{k}$能够有效避免干扰知识图谱中项目与属性之间的直接关联性。
\begin{align*}
S_{u,i,a} &= P(S|U={\bf{u}},I={\bf{i}},do(A={\bf{a}})) \
&\approx f(U({\bf{a}}, {\bf{\sum_{k\in K} kP({\bf{k}})}}),{\bf{i,a}}) \
&=f(U({\bf{a}}, {\bf{\sum_{\tilde{k}\in \tilde{K}} \tilde{k}P({\bf{\tilde{k}}})}}),{\bf{i,a}})
\end{align*}
基于假设,在每个物品交互的机会上都遵循均匀的概率(即$\frac 1 M$)的情况下,则可以将向量$\mathbf a$分解为两个部分:其中$\tilde{\mathbf a}\in[0, 1]^{1\times N}$代表交互属性的分布;而矩阵$\mathbb A \in \mathbb R^{N\times D}$则包含了所有属性的表现。由此可得以下公式成立:
S_{u,i,a}=P(S|U=\mathbf u,I=\mathbf i,\textit do(A=\mathbfa))
$$
近似于函数f作用于参数(U(a,E(\tildik), K ),i,\bfa)的结果;
等于在给定用户信息...情况下...
f(\cdot),U(\cdot)的实现
该系统通过构建基于用户的属性二分图以及基于项目的属性二分图来实现对两组二分图的卷积操作。
\bf{p}^{(l+1)} = \sum_{q \in N_p}\frac{1}{\sqrt{|N_p|}\sqrt{|N_q|}}\bf{q}\tag{9}
其中\bf{p}^{(l+1)}被定义为图卷积层(l+1)处第p个节点的表示。|N_p|和|N_q|分别代表节点p和节点q的邻居数量。
通过执行上述操作步骤,使得结构信息得以融合到属性表示中。随后,在这一过程中,构建了与结构信息相关的交互属性来刻画细粒度用户的偏好。

f(\cdot)的实现
基于前人的研究基础,并通过乘积融合机制来构建分数函数S_{u,i,a}, 该函数被定义为:
S_{u,i,a} = \mathbf{f(u,i,a)} = \mathbf{g(u,i)}\cdot \sigma(\mathbf{h(i,a)}) \tag{10}
其中σ被定义为sigmoid函数。此外,在本研究中所涉及的g(·)和h(·)分别用于(U, I)到S以及(A, I)到S的建模过程。为了简化处理过程,在这里采用内积运算来计算g(·).
h(·)的计算公式:
S_{i,a} = h(\bf{i,a} = \bf{i\cdot \bar{a}^T}), \bar{a} = \frac{1}{M}\sum_{a\in A}{\bf{a}}\tag{12}
基于协同信息对用户-物品相似度评分:
S_{u.i}^{cf}=\bf{u}_{cf}\cdot \bf{i}_{cf}^T
反事实推理策略
该方案旨在解决挑战2。A对S的影响导致了用户-物品相似度评分出现偏差的问题。通过应用反事实推理方法,计算仅基于属性特征表示而不考虑交互影响下的相似度得分。
TE是试验因素A与响应指标S之间的因果关联。其数值可通过在试验因素A分别取基准值和预设值时观察响应指标S的变化量来衡量。其数学表达式如下:
TE = S_{u,i,a} - S_{u^*,i,a^*}\tag{13}
NDE是指在直接路径上仅调整试验变量所带来的响应变量的变化。如图4所示,在形式上所述的NDE计算公式为:
NDE = S_{u^*,i,a} - S_{u*,i,a^*} \tag{14}
其中(u∗, i, a)是通过施加do-calculus算子于变量u所生成的一组反事实实例;即通过do操作符将U设为u∗。

将NDE从TE中剔除,可以得到用户和物品对得分的去偏效应,称为总间接效应(total indirect effect, TIE)。正式地,TIE可表述为如下,其中,由于参考值u *与特定用户无关,因此s_i可以由g(u, i)的输出的平均值来计算。
\begin{aligned}T I E & =T E-N D E \\ & =S_{u, i, a}-S_{u^{*}, i, a^{*}}-S_{u^{*}, i, a}+S_{u^{*}, i, a^{*}} \\ & =g(\mathbf{u}, \mathbf{i}) \sigma(h(\mathbf{i}, \mathbf{a}))-g\left(\mathbf{u}^{*}, \mathbf{i}\right) \sigma(h(\mathbf{i}, \mathbf{a})) \\ & =\left(g(\mathbf{u}, \mathbf{i})-s_{i}\right) \sigma(h(\mathbf{i}, \mathbf{a})) .\end{aligned}\tag{15}
最终阶段中, 我们将去偏见相似度得分与协作得分相结合来估计用户与物品之间的互动情况. 其分数形式如下所示:
$$
y_{ui}=S_{ui}{cf}+S_{ui}{kg}= \bm{u}{cf}\cdot\bm{i}{cf}^T + (g(\bm{u},\bm{i}) - s_i)\sigma(h(\bm{i},\bm{a}))
\tag{16}
#### 损失函数  该研究中采用了BPR损失函数作为整体的损失函数构建方法。具体而言,整体的损失函数由三部分组成:基础的部分$\mathcal{L}_{1}$、加权的部分$\alpha \mathcal{L}_{2}$以及用于正则化的项$\|\Theta\|_{2}$。其中α被用作平衡两个主要损失函数的关键参数。其计算公式如下:
\mathcal{L}{1}=\sum{(u, i, j) \in \mathcal{O}}-\ln \sigma\left(S_{u,i,a}+S_{u,i}{cf}-S_{u,j,a}-S_{u,j}{cf}\right)\tag{17}
其中σ代表sigmoid函数,在模型训练过程中起到激活的作用 其中训练集$\mathcal{O}$由满足条件的所有三元组$(u,i,j)$组成。其中正号表示$(u,i)$属于观察到的用户-项目对集合$\mathcal{O}^+$, 负号代表$(u,i)$属于未观察到的用户-项目对集合$\mathcal{O}^-$. 这些用户的-项目以及他们的互动记录所构成的训练数据集即为$\mathcal{O}$. 该损失函数的形式如下,并且用于指导h(u,i,j)的输出。 其中m是预先定义的阈值,用来控制正负对预测值之间的差值。 ## 实验  作者还进行了消融实验,感兴趣的可以自行查看 ## 总结 这是将因果推断首次应用于基于知识图谱的推荐系统中。 事实上,在 causal inference 领域内采用混淆技术和 counterfactual 方法是非常常见的做法。 我认为本文的独特之处在于它如何运用这些技术和构建模型框架。 值得注意的是,在讨论这张图时作者展示了他成功地将自己的故事讲述清楚,并构建了一个清晰展示 causal relationship 的图表模型。 随后借助 causal inference 技术解决了相关问题。 总体而言该架构值得借鉴但目前我对其中各变量的具体解释仍不够清晰 如果能提供一个详细案例可能会有助于更好地理解文章内容 
