论文链接:https://arxiv.org/pdf/2003.05753.pdf
代码链接:https://github.com/xiangwang1223/kgpolicy

摘要

合理的处理缺失数据在推荐系统中是的一个根本挑战。 目前的大多数工作都是从未观察到的数据中进行负采样,以提供带有负信号的推荐模型训练 。 然而,现有的负采样策略,无论是静态的还是自适应的,都不足以产生高质量的负样本-这既有助于模型训练,也有助于反映用户真实的需求。

在这项工作中,我们假设项目知识图(KG),它提供了项目和KG实体之间的丰富关系,可以用来推断有价值的负样本。

本文开发了一种新的负采样模型-知识图策略网络(KGPolicy),它作为一种强化学习智能体来探索高质量的负样本。 具体来说,通过进行我们设计的探索操作,它从用户项目正项交互中导航,自适应地接收知识感知的负信号,并最终产生一个负项目训练推荐系统。 我们在装有KGPolicy的矩阵分解模型上进行了测试。

1、引言

推荐系统已广泛应用于实际应用中,以提高用户满意度和参与度。 从历史用户-项目交互中训练推荐模型,正例和负例的用户反馈,被要求以确保模型生成合理的个性化排序[13,23,33]。 然而,大多数互动都是以隐反馈的形式进行的,例如点击和购买,这只提供信号的正反馈。 这就给推荐模型学习带来了根本的挑战—如何从仅有正例数据中提取负例数据-这也被称为一类问题。

由于负面信号潜伏在未观察到的数据中,一个普遍的解决方案是执行负采样,这比将所有未观察到的相互作用视为负例更有效。 现有的负采样策略可分为三种类型:静态采样器、自适应采样器和具有额外行为的增强采样器。然而,每种方法都有一些固有的局限性。

鉴于负采样的基本作用和现有方法的局限性,我们在本工作中将重点放在负采样上,旨在通过引入其他类型的数据来提高其质量。高质量的负采样应该满足两个要求:1)信息性,这意味着目前的模型对它们的评分相对较高,因此将它们更新为负例将会我显著地改变模型参数,2)事实,这意味着它们是真正的负例,即用户以前知道它们(通过系统或其他方式暴露),但没有选择它们。由于自适应采样器可以实现对信息的要求,关键的挑战在于从缺失的数据中发现真实的负例,这些数据本质上缺乏真实性。

在这项工作中,我们假设知识图(KG),它引入了项目和现实世界实体之间的额外关系(来自项目属性或外部知识),可以从未观察到的数据中推断真实的负例。虽然将KG纳入推荐中最近得到了广泛的研究,但这些研究只利用KG建立预测模型,以前的工作没有使用它来增强负采样器。

为此,我们提出了一种新的负采样模型KGPolicy(简称知识图策略网络),该模型采用强化学习(RL)代理来探索KG以发现高质量的负采样。核心是设计的探索操作,它从用户项正例探索,选择两个顺序邻居(例如,一个KG实体和一个项目)访问。 这样的两跳路径可以捕捉到知识感知负例。为了实现这一目标,我们设计了一个邻居注意力模块,该模块指定了以正例用户项对为条件的一跳和两跳邻居的不同重要性,以便自适应地捕获对KG实体的偏好,并产生潜在的项目。 通过递归地进行这种探索,KGPolicy学会为目标正例交互选择潜在的负例。 此外,路径历史作为支持证据,揭示了为什 所选项目被视为负实例。为了证明我们的方法,我们使用了一个简单的线性模型,矩阵分解(MF),作为推荐者,使用KGPolicy训练该模型。

总之,这项工作作出了以下主要贡献:
1) 据我们所知,我们是第一个将知识图纳入负抽样的,目的是选择高质量的负例与正例用户项交互配对。
2) 我们开发了一种用于负采样的强化学习KGPolicy,它有效地学习了用多跳探索路径得到高质量的负例。
3) 我们对三个基准数据集进行了广泛的实验,证明了KGPolicy在抽样有效性和知识条目使用方面的优势。

2、任务描述

我们首先呈现交互数据和知识图谱,制定我们的任务,并强调多跳路径中的负例。

Interaction Data 设O+={(u,i)∣u∈U,i∈I}\mathcal{O}^+=\{(u,i)|u∈\mathcal{U},i\in\mathcal{I}\}O+={(u,i)∣u∈U,i∈I}是隐式反馈,其中每个(u,i)(u,i)(u,i)对表示用户uuu和正项iii之间的历史交互,U\mathcal{U}U和I\mathcal{I}I分别表示用户和项目的集合。

Knowledge Graph 在最近的研究工作启发下,我们以知识图谱(KG)的形式组织项目属性或外部知识以及交互数据。 正如先前的工作所显示的,用户项交互数据中的项目可以与KG中的相应实体对齐。

Task Description 建立了用户行为和项目知识,旨在利用这些丰富的信息来指导采样器的学习。 我们的目标是知识感知的负采样,如下:j∼fS(u,i,G)j\sim f_S(u,i,\mathcal{G})j∼fS​(u,i,G)

fS(⋅)f_S(\cdot)fS​(⋅) 是用ΘSΘ_SΘS​参数化的采样器。 它产生对未观察项目的经验分布,以产生知识感知的负采样项目jjj。 此外,正例iii的排他性KG实体{p∣(i,p)∈G,(j,p)∉G}\{p|(i,p)∈\mathcal{G},(j,p)\notin\mathcal{G}\}{p∣(i,p)∈G,(j,p)∈/​G}有助于解释为什么目标用户uuu对负例jjj不那么感兴趣。 例如, {p2}\{p_2\}{p2​}可能是用户u1u_1u1​行为在项目i1i_1i1​和i4i_4i4​之间差异的原因。

Negative Signals in Multi-hop Paths 为此,我们旨在探索KG的结构信息,特别是节点之间的高阶连通性,以发现合适的负例。 对于正例(u,i)(u,i)(u,i)交互,我们可以遍历根节点iii的路径,终止于未观察到的项jjj,并将多跳连接视为iii和jjj之间的关系。 然而,很明显,不同的路径在发现负例的过程中有不同的置信度,并不是所有的路径都有助于提取负例信号。i→e′→jwithe′∈Ei\to e'\to j\quad\text{with}\quad e'\in\mathcal{E}i→e′→jwithe′∈E

1)informative 由于两个Items iii和jjj共享相同的KG实体e′e'e′,它们可能具有相似的表示,它们的成对比较可能在推荐参数上提供较大的梯度。
2)reflective of user real tastes 因为如果e′e'e′是uuu感兴趣的一个重要因素,jjj可能已经通过其他方式(例如搜索、营销或广告系统)暴露于uuu。 然而,uuu选择了iii而不是jjj,这表明uuu可能真的不那么对jjj感兴趣。 因此,(u,j)(u,j)(u,j)被认为是一个更好的负例用于训练推荐模型。 此外,如果jjj是以较低的置信度为负例估计的,我们可以通过扩展来继续探索这样的原子路径。 例如,从i→e→j′→e′→ji→e→j'→e'→ji→e→j′→e′→j中可以发现j′j'j′项,并且具有较高的负置信度。

3、KGPolicy模型

如下图所示,该框架由一个推荐器和一个采样器组成。 然后,详细阐述了采样器KGPolicy,其目标是学习探索到KG上的负例。进行探索的操作分为三个步骤。

1) 图形学习模块,它预先准备节点的高质量表示。
2) 邻居注意力机制模块 它利用两个注意模型进行路径查找,并确定下一个访问哪个合适的节点。
3)neighbor pruning module 这减少了搜索空间,以解决上述模块中的计算过载。 反复进行这样的探索,KGPolicy最终能够产生一个潜在的负例项目来配对正例目标。

最后,KGPolicy和推荐被共同训练以提供推荐。

3.1、Recommender

为了证明我们的知识感知采样器的有效性,我们使用了一个线性和简单的模型,矩阵分解(MF),作为推荐模型。 更具体地说,MF将用户和项目的ID信息参数化为嵌入,并使用用户和项目嵌入的内积作为预测函数来估计用户uuu选择项目iii的可能性。y^ui=fR(u,i)=ru⊤ri\hat{y}_{ui}=f_R(u,i)=\textbf{r}_u^{\top}\textbf{r}_iy^​ui​=fR​(u,i)=ru⊤​ri​其中,y^ui\hat{y}_{ui}y^​ui​是(u,i)(u,i)(u,i)相互作用的预测分数。将fR(⋅)f_R(\cdot)fR​(⋅)抽象为具有推荐参数ΘR\Theta_RΘR​的交互函数;ru∈Rd\textbf{r}_u\in R^dru​∈Rd和ri∈Rd\textbf{r}_i\in R^dri​∈Rd分别是用户uuu和项目iii的ID嵌入表示,ddd是嵌入维度。

我们使用成对的BPR损失作为目标函数来优化和学习ΘRΘ_RΘR​的参数。minΘR∑(u,i)∈O+Ej∼fS(u,i,G)−lnσ(fR(u,i)−fR(u,j))\text{min}_{\Theta_R}\sum_{(u,i)\in \mathcal{O}^+}\mathbb{E}_{j\sim f_S(u,i,\mathcal{G})}-\text{ln} \sigma(f_R(u,i)-f_R(u,j))minΘR​​(u,i)∈O+∑​Ej∼fS​(u,i,G)​−lnσ(fR​(u,i)−fR​(u,j))Δu,i,j=1−σ(fR(u,i)−fR(u,j))\Delta_{u,i,j}=1-\sigma(f_R(u,i)-f_R(u,j))Δu,i,j​=1−σ(fR​(u,i)−fR​(u,j))负样本的信息性可以测量为梯度大小。 这反映了成对偏好(u,i,j)(u,i,j)(u,i,j)对改善ΘRΘ_RΘR​的贡献。因此, 低质量的负例,被分配到比iii更小的分数,使梯度幅度接近0,因此对优化贡献很小。 所以,和正例相比,一个信息丰富的负面信息有望接近正例的预测分数。

3.2、Knowledge-aware Sampler

我们以KG作为取样器的环境。 这使我们能够利用项目和KG实体之间的丰富关系,特别是高阶连通性,以探索更合适的负例。 基本思想是,以目标用户为条件,从正例的项目开始,学会在KG结构上探索,然后沿着探索的路径产生可能的负例。 在大规模的KGs中,无法列举所有未观察到的项目的可能路径,因为它需要劳动密集型的特征工程,存储这些路径需要大量的内存,消耗大量时间。 因此,我们设计了一种智能采样器作为强化学习(RL),对KG进行自动探索。

Sampling as Reinforcement Learning

我们将采样作为马尔可夫决策过程(MDP)M={S,A,P,R}M=\{S,A,P,R\}M={S,A,P,R}, 其中A={a}A=\{a\}A={a}是从探索路径操作导出的一组动作(action),S={s}S=\{s\}S={s}是探索过程中抽象路径的一组状态(state),PPP是状态转移概率矩阵,RRR是奖励作用(reward)。 我们介绍了RL的KG环境(相当于environment)的关键要素如下:

Exploration Operation 为了获得知识图谱中的原子路径。 我们定义了一种新的探索操作,包括两个连续的边。比如说:在步骤ttt处,at=(et→et′→et+1)a_t=(e_t\to e'_t\to e_{t+1})at​=(et​→et′​→et+1​)表示从项目ete_tet​出发到et+1e_{t+1}et+1​的两跳路径,其中(et,et′),(et′,et+1)∈G(e_t,e'_t),(e'_t,e_{t+1})\in\mathcal{G}(et​,et′​),(et′​,et+1​)∈G,et,et+1∈Ie_t,e_{t+1}\in\mathcal{I}et​,et+1​∈I通过内部节点et′e'_tet′​连接。这种操作认为KG中的实体et′e'_tet′​暴露于目标用户uuu的置信度,而项目et+1e_{t+1}et+1​的置信度为负值。随着探索操作的推进,采样器fS(⋅)f_S(\cdot)fS​(⋅)生成一个2T2T2T跳的路径(a1,⋯,aT)(a_1,\cdots,a_T)(a1​,⋯,aT​),依次产生TTT个项目作为policy。π=(e1,e2,⋯,eT)\pi=(e_1,e_2,\cdots,e_T)π=(e1​,e2​,⋯,eT​)其中正例项目iii是a0a_0a0​中的第一个节点;ete_tet​是ttt步骤后的最后一个项目节点。在最后一步TTT上,以eTe_TeT​作为最终的负例来优化推荐器。改变探索操作的数量TTT允许我们灵活调整搜索空间,以保证负例的多样性。我们默认将TTT设置为2,并评估TTT的影响。

State 在步骤ttt中,以目标用户uuu为条件的状态sts_tst​被定义为二元组(u,et)(u,e_t)(u,et​),其中ete_tet​是采样器当前访问的节点。因此,我们可以将步骤ttt之前的探索过程形式化为{s0,a1,s1,⋯,at,st}\{s_0,a_1,s_1,\cdots,a_t,s_t\}{s0​,a1​,s1​,⋯,at​,st​},其中初始状态s0s_0s0​为{u,i}\{u,i\}{u,i}。

Action 状态sts_tst​的action空间AtA_tAt​由从节点ete_tet​开始的所有可能的探索操作路径组成,不包括历史轨迹。在探索的过程中,随着路径的变化其对应的邻居节点是不同的,action空间是动态的。

State Transition Dynamics 给定在state sts_tst​处的探索操作ata_tat​,向下一个st+1s_{t+1}st+1​状态的转换被定义为:P(st+1=(u,et+1)∣st=(u,et),at=(et→et′→et+1))=1\mathbb{P}\left(s_{t+1}=(u,e_{t+1})|s_t=(u,e_t),a_t=(e_t\to e'_t\to e_{t+1})\right)=1P(st+1​=(u,et+1​)∣st​=(u,et​),at​=(et​→et′​→et+1​))=1

Reward 奖励RetR_{e_t}Ret​​衡量推荐项目ete_tet​的质量。w.r.t步骤ttt处的成对偏好(u,i,j)(u,i,j)(u,i,j)。然而,没有负信号的基本真理来确认uuu是否真的对ete_tet​缺少兴趣,我们依靠推荐模型的反馈来定义soft reward function。在这里我们考虑两个因素:

  1. Prediction Reward:负例ete_tet​的预测是对抗性采样方法中的typical reward,证明了ete_tet​与uuu之间的匹配分数。从推荐的角度鼓励采样器产生具有更高预测分数的项目。从信息性的角度来看,一个分数接近正例的项目能够提供更大的梯度幅度。
  2. Similarity Reward:直观地说,如果负例ete_tet​相似于正例,则ete_tet​更有可能作为用户的负例。强制推荐采样这样的ete_tet​给用户uuu,前提是用户uuu之前对该ete_tet​不感兴趣。

考虑到这两个因素,我们设计了一个奖励函数:R(et)=fR(u,et)+gR(i,et)\mathcal{R}(e_t)=f_R(u,e_t)+g_R(i,e_t)R(et​)=fR​(u,et​)+gR​(i,et​)其中,fR(u,rt)=ru⊤retf_R(u,r_t)=\textbf{r}_u^{\top}\textbf{r}_{e_t}fR​(u,rt​)=ru⊤​ret​​和gR(i,et)=ri⊤retg_R(i,e_t)=\textbf{r}_i^{\top}\textbf{r}_{e_t}gR​(i,et​)=ri⊤​ret​​分别表示预测和相似性奖励;ru\textbf{r}_uru​、ri\textbf{r}_iri​和ret\textbf{r}_{e_t}ret​​分别是uuu、iii和ete_tet​的推荐ID嵌入。为这两个奖励成分设定了同等的重要性,使得它们的线性组合由超参数来控制。

Objective Function 为了学习一个随机策略πππ来优化采样器参数ΘSΘ_SΘS​,我们最大化了预期的累积折扣奖励如下:maxΘS∑(u,i)∈O+Eπ[∑t=1Tλt−1R(et)]\text{max}_{\Theta_S}\sum_{(u,i)\in\mathcal{O}^+}\mathbb{E}_{\pi}\left[\sum_{t=1}^T\lambda^{t-1}\mathcal{R}(e_t)\right]maxΘS​​(u,i)∈O+∑​Eπ​[t=1∑T​λt−1R(et​)]

3.3、Knowledge Graph Policy Network

我们引入一个网络来生成策略πππ,以及对每一项行动(action)的置信度。 首先,我们描述了一个图形学习模块,它为每个节点生成向量表示,然后在表示上构建一个邻居注意模块,以选择一个合适的邻居作探索访问,它与邻居剪枝模块耦合,以减少探索空间。

3.3.1、Graph Learning Module

在最近的图神经网络(GNNs)的启发下,我们使用G上的图GraphSage和用户项二部图O,目的是嵌入用户、项目和KG实体的向量表示。

eg. 在第lll个图卷积层中,以节点eee为起始节点接收从其邻居传播的信息以更新其向量表示形式,如:he(l)=ρ(W(l)(he(l−1)∣∣hNe(l−1)))h_e^{(l)}=\rho\left(W^{(l)}\left(h_e^{(l-1)}||h_{\mathcal{N}_e}^{(l-1)}\right)\right)he(l)​=ρ(W(l)(he(l−1)​∣∣hNe​(l−1)​))其中he(l)∈Rdlh_e^{(l)}\in R^{d_l}he(l)​∈Rdl​是嵌入传播lll步后的表示,dld_ldl​表示嵌入大小,W(l)∈Rdl×2dl−1W^{(l)}\in R^{d_l\times 2d_{l-1}}W(l)∈Rdl​×2dl−1​是提取有用信息的权重矩阵;∣∣||∣∣是连接操作,ρ\rhoρ是一个非线性激活函数集,这里使用LeakyReLU;he(0)h_e^{(0)}he(0)​表示ID嵌入,而hNe(l−1)h_{\mathcal{N}_e}^{(l-1)}hNe​(l−1)​是从eee的邻居传播的信息。如:hNe(l−1)=∑e′∈Ne1∣Ne∣∣Ne′∣he′(l−1)h_{\mathcal{N}_e}^{(l-1)}=\sum_{e'\in\mathcal{N}_e}\frac{1}{\sqrt{|\mathcal{N}_e||\mathcal{N}_{e'}|}}h_{e'}^{(l-1)}hNe​(l−1)​=e′∈Ne​∑​∣Ne​∣∣Ne′​∣​1​he′(l−1)​其中Ne={e′∣(e,e′)∈G或(e,e′)∈O+}\mathcal{N}_e=\{e'|(e,e')\in\mathcal{G}\text{或}(e,e')\in\mathcal{O}^+\}Ne​={e′∣(e,e′)∈G或(e,e′)∈O+}是与eee连接的节点集。在叠加这样的LLL层后,我们得到了he=he(l)h_e=h_e^{(l)}he​=he(l)​的每个节点的最终表示。对比初始的ID嵌入,GNN模型将图结构注入到表示学习中,以便于促进进一步的探索。

3.3.2、Neighbor Attention Module

在state st=(u,et)s_t=(u,e_t)st​=(u,et​),已经为节点ete_tet​及其邻居Net\mathcal{N}_{e_t}Net​​建立了表示,我们需要有效地搜索相关的action以获取潜在的项目。

eg.我们分解一个路径探索操作at=(et→et′→et+1)a_t=(e_t\to e'_t\to e_{t+1})at​=(et​→et′​→et+1​)分为两个步骤:
1)从ete_tet​中选择一个传出边到内部节点et′e'_tet′​,即(et,et′)(e_t,e'_t)(et​,et′​)。
2)通过前面的历史步骤确定第三个节点et+1e_{t+1}et+1​。这一过程被描述如下:P(at∣st)=P((et,et′)∣st)⋅P((et′,et+1∣st,(et,et′))\mathbb{P}(a_t|s_t)=\mathbb{P}((e_t,e'_t)|s_t)\cdot\mathbb{P}((e'_t,e_{t+1}|s_t,(e_t,e'_t))P(at​∣st​)=P((et​,et′​)∣st​)⋅P((et′​,et+1​∣st​,(et​,et′​))其中P(at∣st)\mathbb{P}(a_t|s_t)P(at​∣st​)表示置信度或et+1e_{t+1}et+1​为负例的概率;P(et,et′)\mathbb{P}(e_t,e'_t)P(et​,et′​)和P(et′,et+1)\mathbb{P}(e'_t,e_{t+1})P(et′​,et+1​)分别对每个探索步骤的置信度进行了建模。在这里,我们实现这两个探索步骤,通过两个注意力模型:

Attentive KG Neighbors
对于当前项目节点ete_tet​,我们需要估计其相关的KG实体Net\mathcal{N}_{e_t}Net​​暴露于用户的可能性。直观地说,用户对各种KG实体的关注是不同的。例如,在电影中,用户可能比Writer实体更关心导演实体。这表明具有相同导演实体的其他电影更有可能暴露给用户。进一步来说,对于不同的电影,他的兴趣点可能会改变,而且是动态的。例如,一个用户看了两部电影,因为他分别是被导演和明星实体所吸引。这里,我们设计一个注意力模型,自适应地指定对当前状态敏感的邻居的重要性。

对于从ete_tet​到邻居et′∈Nete'_t\in\mathcal{N}_{e_t}et′​∈Net​​的每个传出边,我们生成其向量表示为het⊙het′h_{e_t}\odot h_{e'_t}het​​⊙het′​​,用户表示huh_uhu​,以将其重要性表示为如下公式:p(et,et′)=hu⊤ρ(het⊙het′)p(e_t,e'_t)=h_u^{\top}\rho(h_{e_t}\odot h_{e'_t})p(et​,et′​)=hu⊤​ρ(het​​⊙het′​​)因为注意力评分取决于用户空间中uuu和实体空间ete_tet​之间的距离,为了避免有的距离太大而引起的权重干扰,所以要进行归一化处理。公式如下:P((et,et′)∣st)=exp(p(et,et′))∑et′′∈Netexp(p(et,et′′))\mathbb{P}((e_t,e'_t)|s_t)=\frac{exp(p(e_t,e'_t))}{\sum_{e''_t\in\mathcal{N}_{e_t}}exp(p(e_t,e''_t))}P((et​,et′​)∣st​)=∑et′′​∈Net​​​exp(p(et​,et′′​))exp(p(et​,et′​))​

Attention Item Neighbors
p(et′,et+1)=hu⊤ρ(het′⊙het+1)p(e'_t,e_{t+1})=h_u^{\top}\rho(h_{e'_t}\odot h_{e_{t+1}})p(et′​,et+1​)=hu⊤​ρ(het′​​⊙het+1​​)P((et′,et+1)∣st,(et,et′))=exp(p(et′,et+1))∑et+1′′∈Net′exp(p(et′,et+1′′))\mathbb{P}((e'_t,e_{t+1})|s_t,(e_t,e'_t))=\frac{exp(p(e'_t,e_{t+1}))}{\sum_{e''_{t+1}\in\mathcal{N}_{e'_t}}exp(p(e'_t,e''_{t+1}))}P((et′​,et+1​)∣st​,(et​,et′​))=∑et+1′′​∈Net′​​​exp(p(et′​,et+1′′​))exp(p(et′​,et+1​))​因此,我们可以生成一个策略πππ的每个探索操作的负例概率。

3.3.3、Neighbor Pruning Module

虽然这种对KG的探索将搜索空间从整个项目集缩小到了正例项目的多跳邻居,但一些节点的邻居规模(例如,流行项目或通用KGconc) 类似于戏剧的体裁)很容易达到数千甚至更大。 进一步阻碍了探索性能。 因此,我们从DNS中得到了启示,并提出了一种能够有效地保持有前途的邻居的剪枝策略。

对于每一个训练过程,我们首先构建一个邻居集合的子集N^e⊂Ne\hat{\mathcal{N}}_e\subset\mathcal{N}_eN^e​⊂Ne​,子集的元素是从Ne\mathcal{N}_eNe​中随机选择的,子集中元素的个数为n1n_1n1​,然后为了保证采样的多样性,再设计一个评分函数g(u,e′)=he⊤he′g(u,e')=h_e^{\top}h_{e'}g(u,e′)=he⊤​he′​从N^e\hat{\mathcal{N}}_eN^e​中再选择得分最高的n2n_2n2​个实体作为最终的邻居集合N~e\tilde{\mathcal{N}}_eN~e​。

3.4、模型优化

推荐器Recommender的参数为ΘR={ru,∀u∈U,ri,∀i∈I}\Theta_R=\{\textbf{r}_u,\forall u\in\mathcal{U},\textbf{r}_i,\forall i\in\mathcal{I}\}ΘR​={ru​,∀u∈U,ri​,∀i∈I},采样器Sampler的参数为ΘS={he(0),∀e∈E,W(l),∀l∈{1,⋯,L}}\Theta_S=\{\textbf{h}_e^{(0)},\forall e\in\mathcal{E},\textbf{W}^{(l)},\forall l\in\{1,\cdots,L\}\}ΘS​={he(0)​,∀e∈E,W(l),∀l∈{1,⋯,L}}

推荐器Recommender参数优化 固定ΘS\Theta_SΘS​,对每一个正例,采样一个负例j=eTj=e_Tj=eT​,输入到推荐器Recommender中,使用随机梯度下降SGD来优化ΘR\Theta_RΘR​。

采样器Sampler参数优化 固定ΘR\Theta_RΘR​,使用以下公式更新ΘS\Theta_SΘS​:∇ΘSLS=∇ΘS∑(u,i)∈O+Eπ[∑t=1Tλt−1R(et)]≃∑(u,i)∈O+1T∑t=1T[γt−1R(et)∇ΘSlog⁡P(at∣st)]\nabla_{\Theta_S}\mathcal{L}_S=\nabla_{\Theta_S}\sum_{(u,i)\in\mathcal{O}^+}\mathbb{E}_{\pi}\left[\sum_{t=1}^T\lambda^{t-1}\mathcal{R}(e_t)\right]\\\simeq\sum_{(u,i)\in\mathcal{O}^+}\frac{1}{T}\sum_{t=1}^T\left[\gamma^{t-1}R(e_t)\nabla_{\Theta_S}\log\mathbb{P}(a_t|s_t)\right]∇ΘS​​LS​=∇ΘS​​(u,i)∈O+∑​Eπ​[t=1∑T​λt−1R(et​)]≃(u,i)∈O+∑​T1​t=1∑T​[γt−1R(et​)∇ΘS​​logP(at​∣st​)]

4、实验

实验中用到的数据集信息如下:

参与对比的几种采样方法为:RNS、PNS、DNS、IRGAN、AdvIR、NMRN和RWS。
参与对比的几种基于知识图谱的推荐模型为:NFM、CKE、RippleNet和KGAT。
不同的采样方法效果对比如下:

不同推荐模型的效果对比如下:

探索操作的个数效果对比如下:

奖励函数的影响对比如下:

平均梯度随训练迭代次数的变化趋势如下:

case study:

5、展望

  1. 加入更多的辅助信息,例如用户的社交网络和上下文信息,来更好地挖掘用户反馈的负样本采样。
  2. 探索可解释性的负样本采样策略。

KGPolicy:用于推荐的负采样模型(知识图谱策略网络)WWW 2020相关推荐

  1. NLP精选10个实现项目推荐-涉及预训练、知识图谱、智能问答、机器翻译、对话等...

    自然语言处理技术近几年发展非常快,像BERT.GPT-3.图神经网络.知识图谱等技术被大量应用于项目实践中. 今年大厂的NLP面试中对项目方面的考察深度也随之提升了很多,经常会被面试官揪着细节一步一步 ...

  2. 【知识图谱】本周文献阅读笔记(4)——周三 2023.1.11:英文)基于动态知识图谱的虚假评论检测 + 基于知识图谱的推荐系统研究综述 + 基于知识图谱的推荐算法研究综述+新一代知识图谱关键技术

    声明:仅学习使用~ 对于各文献,目前仅是泛读形式,摘出我认为重要的点,并非按照原目录进行简单罗列! 另:鉴于阅读paper数目稍多,对paper内提到的多数模型暂未细致思考分析.目的是总结整理关于KG ...

  3. 虚拟专题:知识图谱 | 基于网络防御知识图谱的0day攻击路径预测方法

    来源:网络与信息安全学报 基于网络防御知识图谱的0day攻击路径预测方法 孙澄, 胡浩, 杨英杰, 张红旗 信息工程大学 摘要:针对 0day 漏洞未知性造成的攻击检测难问题,提出了一种基于知识图谱的 ...

  4. [软件] NSS2.2一款用于知识图谱与网络科学服务的软件

    Network Science Service(NSS)软件核心功能: 1数据格式构建 共现矩阵 矩阵二值化 二模矩阵 二模矩阵转一模矩阵 邻接表 共现矩阵转邻接表 二模矩阵转邻接表 邻接表转共现矩阵 ...

  5. 小米知识图谱团队斩获CCKS 2020实体链指比赛冠军

    "CCKS 2020:面向中文短文本的实体链指任务"是由中国中文信息学会语言与知识计算专业委员会主办,该比赛主要面向中文短文本的实体链指,简称 EL(Entity Linking) ...

  6. 实体list 查找一个符合条件的实体并返回其中一个字段_小米知识图谱团队斩获CCKS 2020实体链指比赛冠军...

    "CCKS 2020:面向中文短文本的实体链指任务"是由中国中文信息学会语言与知识计算专业委员会主办,该比赛主要面向中文短文本的实体链指,简称 EL(Entity Linking) ...

  7. 融合知识图谱和用户行为信息的个性化推荐算法研究

    来源:< 计算机科学与应用> ,作者程静文等 关键词: 推荐系统:知识图谱:深度神经网络 摘要: 摘要: 针对传统协同过滤存在的稀疏性和冷启动问题,通常使用深度神经网络(DNN)构建融合知 ...

  8. 【知识图谱论文】HackRL:用于跨图知识融合和协作推理的分层注意强化学习

    Article 文献题目:HackRL: Reinforcement learning with hierarchical attention for cross-graph knowledge fu ...

  9. ACL 2020 | 用于链接预测的开放知识图谱嵌入

    ©PaperWeekly 原创 · 作者|舒意恒 学校|南京大学硕士生 研究方向|知识图谱 当前大量的知识图谱都是通过文本直接构建的.由于当前的知识图谱构建方法的局限性,其中难免包含对同一实体或关系的 ...

最新文章

  1. 从原则、方案、策略及难点阐述分库分表
  2. NET中验证控件表达式汇总
  3. 【BZOJ1899】[Zjoi2004]Lunch 午餐 贪心+DP
  4. Windows Server 2012中的DirectAccess部署
  5. Linux_free(buffer与cache区别)
  6. Oracle Ravello的学习资料
  7. Android 反编译Apk修改资源文件并重新打包
  8. 计算机cs怎么使用技巧,cs1.6如何添加电脑人【附快捷键命令】
  9. python可不可以开发软件_python可以开发软件吗
  10. 数据平台初试(产品篇)——监控大屏初露面
  11. css3简单动画 上下切换图片效果:
  12. 【FreeRTOS】
  13. 基于《小米创业思考》,聊聊我们到底该如何读书?
  14. 熬了一夜!我用Python做了一个网站,帮小姐姐生成漫画头像
  15. MMFNet: A Multi-modality MRI Fusion Network for Segmentation of Nasopharyngeal Carcinoma
  16. Elasticsearch exception [type=action_request_validation_exception, reason=Validation Failed:
  17. 什么是测试环境?如何搭建测试环境?
  18. 什么是API?(详细解说)
  19. Visual Studio 历史简介
  20. L7 U2 希望与梦想

热门文章

  1. 文件上传input简便美化方案
  2. VMware-构建下一代的服务器虚拟化平台
  3. ShardingSphere(一)ShardingSphere简单介绍及相关概念
  4. ReactJs 第一章HelloWorld
  5. golang new和make却别
  6. New module changes in Go 1.16
  7. javascript 总结(常用工具类的封装)(转)
  8. Shiro系列-Shiro简介
  9. SQL常用的几个窗口函数
  10. es聚合查询与多维度数据统计