【知识图谱】通过深度强化学习的可解释的基于知识图的推荐

Article

摘要

  • 本文研究了具有知识图谱的推荐系统,可以有效解决数据稀疏和冷启动问题。最近,针对这个问题已经开发了多种方法,通常尝试学习用户和项目的有效表示,然后根据他们的表示将项目与用户进行匹配。尽管这些方法已被证明非常有效,但它们缺乏对推荐系统至关重要的良好解释。在本文中,我们采取了不同的路径,并建议通过寻找从用户到物品的有意义的路径来生成推荐。具体来说,我们将问题表述为一个顺序决策过程,其中目标用户被定义为初始状态,图上的行走被定义为动作。我们根据现有的最先进方法塑造奖励,然后使用策略梯度方法训练策略函数。在三个真实世界数据集上的实验结果表明,我们提出的方法不仅提供了有效的建议,而且提供了很好的解释。

引言

  • 通过向用户提供正确的项目或信息,推荐系统对于电子商务网站和社交媒体平台等各种在线应用程序至关重要。 推荐系统的一个关键问题是数据稀疏性,即只有少数用户或根本没有用户购买、评价或点击某些项目。 最近,人们对基于知识图谱的推荐系统越来越感兴趣,因为知识图谱可以提供补充信息来缓解数据稀疏问题,并且已被证明非常有用 [3, 15, 20, 21, 30, 32]。
  • 通常,现有的基于知识图谱的推荐方法尝试根据用户-项目交互图和项目-实体知识图来学习用户和项目的有效表示,然后根据学习到的表示将项目与用户进行匹配。 例如,Zhang 等人 [30] 通过将它们在用户-项目图和知识-图中的表示组合来学习项目表示。 Zhang 等人 [31] 基于知识图嵌入 (KGE) 方法(如 TransE [2])在集成的用户-项目-实体图上学习用户和项目表示。 Wang 等人 [22] 和 Cao 等人 [3] 通过共享项目表示联合优化多任务学习环境中的推荐和知识图嵌入任务。 通过整合来自用户行为和知识图谱的信息,这些方法已被证明非常有效。
  • 尽管这些方法非常有效,但它们缺乏很好的解释。 直观地说,如果推荐系统可以对推荐进行解释,用户就会对推荐的项目有更多的兴趣和信任 [9, 14, 32, 33]。 事实上,有一些现有的工作旨在为推荐结果提供这样的解释。 例如,RippleNet [20] 旨在通过分析注意力分数来解释推荐。 然而,他们的方法依赖于软注意力分数的后期分析,这可能并不总是值得信赖的。
  • 在本文中,我们采取了不同的路线,并建议在集成的用户-项目-实体图中生成从目标用户到相关项目的路径。 以图1中的电影推荐为例。 对于目标用户 u 2 u_2 u2,由于 1) 用户 u 2 u_2 u2 观看了电影《泰坦尼克号》,因此生成了一条到“罗密欧与朱丽叶”项的路径(红色虚线); 2)《泰坦尼克号》由“莱昂纳多·迪卡普里奥”主演; 3)“莱昂纳多·迪卡普里奥”也在“罗密欧与朱丽叶”中出演。 我们可以看到,这样的路径除了提供有意义的推荐之外,还提供了对推荐的良好解释。
    在这里插入图片描述
  • 然而,在大型用户-项目-实体图上找到有意义的路径是具有挑战性的。可以枚举用户-项目对之间的所有路径,然后使用分类/排名模型来选择最有意义的路径 [24]。然而,由于用户-项目-实体图中的指数级大路径空间,枚举用户和项目之间的路径是棘手的。尽管通过广度优先搜索对一定数量的路径进行采样可以替代枚举,但它不能保证采样路径的意义。==在本文中,我们将有意义的用户到项目路径的生成公式化为一个顺序决策过程。具体来说,推荐代理从目标用户开始,通过在用户-项目-实体图上依次选择步行,将其路径扩展到相关项目。在训练期间,如果起始用户和终端实体构成推荐数据中的观察,我们为每条路径分配正奖励。考虑到由于巨大的探索空间,一开始奖励可能非常稀疏,我们通过奖励整形 [17] 进一步增加奖励信号,其中首先使用最先进的知识图嵌入学习软奖励函数方法。我们使用 REINFORCE [25] 算法来最大化我们推荐代理的预期回报。最后,我们在三个真实世界的数据集上验证了所提出方法的有效性和可解释性。==定量结果表明,我们提出的 Ekar:1)显着优于现有的最先进的基于 KG 的推荐方法,2)以从用户到推荐项目的有意义路径的形式提供清晰且令人信服的解释。

相关工作

  • 我们的工作在概念上与可解释的推荐、基于知识图的推荐以及将强化学习应用于关系推理的最新进展有关。
  • 可解释的建议。 作为 AI 社区中的一个广泛关注的问题,可解释性在推荐系统中得到了广泛的讨论。 根据 Zhang 和 Chen [32] 的说法,大多数现有的可解释推荐方法通常通过识别用户对项目特征的偏好 [1, 23, 33],通过主题建模 [16, 26, 35] 理解潜在因素来提供解释,或在用户-项目-方面图 [8] 上排名。 然而,这些方法需要关于项目的外部信息(例如评论),这些信息可能难以收集。 最近的一些进展利用注意力机制 [12, 19] 来提供解释,但它们需要额外的努力来探索注意力得分。 由于知识图 (KG) 提供了关于我们世界的常识,因此许多最近的作品使用知识图 [3, 20, 21, 30] 来提供可解释的建议,这将在下一段中进一步讨论。
  • **基于 KG 的推荐。**我们的工作与基于 KG 的推荐密切相关,后者利用通用知识图(例如 DBpedia、YAGO 和 Satori)来改进推荐系统。现有的基于KG的推荐方法大致可以分为两类:基于嵌入的方法和基于路径的方法。在基于嵌入的方法中,用户和项目由低维向量表示,其中来自知识图的实体嵌入用于增强相应项目的表示 [3, 21, 22, 30]。尽管这些方法表现良好,但很难解释推荐结果,因为表示处于潜在空间。在基于路径的方法中,元路径和元图通常用于提取用户和项目之间的各种语义依赖关系 [29, 34 ]。然而,枚举所有有用的元路径或元图在计算上几乎是不可行的。此外,元路径和元图需要手动定义,不能推广到新的数据集。 RippleNet [20] 不是预先定义特定路径,而是通过注意力机制直接沿 KG 中的边缘传播用户的偏好,然后根据注意力分数解释推荐,但这可能不值得信赖。 最近的工作 KPRN [ 24] 使用 LSTM 对用户和项目之间的路径进行建模。然而,通过广度优先搜索 (BFS) 采样路径效率低下,可能会错过有意义的路径。与 KPRN 不同,我们的方法将寻路问题定义为顺序决策问题。我们训练一个代理,通过策略梯度方法在用户和他/她的相关项目之间自动生成一条有意义的路径。
  • 强化学习的关系推理。 我们的工作还与最近关于强化学习知识图推理的工作有关 [4, 13, 27],旨在训练智能体在知识图上行走以预测缺失的事实。 然而,他们的目标与我们不同。 我们专注于知识图谱的推荐问题,旨在寻找有意义的路径来解释推荐结果,同时他们专注于事实预测。

建议的方法:Ekar

  • 在本节中,我们首先正式定义我们的问题,然后详细介绍我们提出的可解释知识感知推荐(Ekar)模型。

问题定义

  • 我们正式将用户和项目之间的交互表示为二部图 G = ( U , I ) G = (U, I) G=(U,I),其中 U U U 是用户集, I I I 是项目集。 此外,我们还可以访问一个开放的知识图 G k = ( E k , R k ) G_k = (E_k, R_k) Gk=(Ek,Rk),其中 E k E_k Ek 是实体集, R k R_k Rk 是关系集。 每个三元组 < e h , r , e t > ∈ G k < e_h, r, e_t > \in G_k <eh,r,et>Gk 表示存在从头实体 e h ∈ E k e_h \in E_k ehEk 到尾实体 e t ∈ E k e_t \in E_k etEk 的关系 r ∈ R k r \in R_k rRk。 例如,<泰坦尼克号,导演,詹姆斯卡梅隆>反映了《泰坦尼克号》是由“詹姆斯卡梅隆”执导的事实。 由于一些项目/实体在 I I I E k E_k Ek 之间共享,我们将用户-项目二部图 G G G 和知识图 G k G_k Gk 合并为一个集成的用户-项目-实体图 G ′ = ( V ′ , R ′ ) G' = (V' , R') G=(V,R),其中 V ′ = U ∪ I ∪ ϵ k V' = U ∪ I ∪ {\epsilon}_k V=UIϵk。 对于用户-项目交互图 G G G,我们假设所有边都属于“交互Interact”关系,因此 R ′ = “ I n t e r a c t ” ∪ R k R' = {“Interact”} ∪ R_k R=InteractRk
  • 给定用户 u u u,我们的目标是在用户-项目-实体图 G ′ G' G 上生成从 u u u 到相关项目 i i i 的路径。 这样的路径不仅可以找到相关项目,而且还提供了很好的解释。

将推荐制定为马尔可夫决策过程

  • 有一些现有的方法 [24] 试图在用户和项目之间找到有意义的路径。这些方法首先使用广度优先或深度优先搜索策略对路径集合进行采样,然后使用分类或排名模型衡量路径的意义。然而,用户和项目之间的可能路径数量可能呈指数级增长,对其中的一些进行采样可能会错过有意义的路径。此外,通过 BFS 或 DFS 策略采样的路径可能并不总是有意义的。在本文中,我们采用不同的路线,将问题表述为用户-项目-实体图 G ′ G' G 上的顺序决策问题。我们的目标是训练一个代理在 G ′ G' G 上行走以找到相关项目。从目标用户 u u u 开始,代理在集成的用户-项目-实体图 G ′ G' G 上依次选择下一个邻居,直到达到预定义的最大步数 T T T。形式上,我们定义了状态、动作、转换和奖励马尔可夫决策过程如下:
  • 状态。我们将状态表示为到目前为止遍历的关系和实体的序列,即 s t = ( r 0 , e 0 , r 1 , e 1 , . . . , r t , e t ) ∈ S t s_t = (r_0, e_0, r_1, e_1, ..., r_t, e_t) \in S_t st=(r0,e0,r1,e1,...,rt,et)St,其中 r t ∈ R ′ r_t \in R' rtR e t ∈ V ′ e_t \in V' etV分别是关系和实体。初始状态 s 0 = ( r 0 , e 0 ) s_0 = (r_0, e_0) s0=(r0,e0) 代表目标用户, r 0 r_0 r0 是人为引入的关系,以与其他 ( r t , e t ) (r_t, e_t) (rt,et) 对保持一致。
  • 行动。当代理处于状态 s t s_t st 时,它可以选择实体 e t e_t et 的一个传出边作为它的下一个动作。形式上,我们将状态 s t s_t st 下的可能动作定义为 A t = { a = ( r ′ , e ′ ) ∣ ( e t , r ′ , e ′ ) ∈ G ′ } A_t = \{ a = (r' , e' )|(e_t, r' , e' ) \in G' \} At={a=(r,e)(et,r,e)G}
  • 转换。对于状态转换 P ( S t + 1 = s ∣ S t = s t , A t = a t ) P(S_{t+1} = s|S_t = s_t, A_t = a_t) P(St+1=sSt=st,At=at),我们采用确定性策略,简单地通过在 a t = ( r t + 1 , e t + 1 ) a_t= (r_{t+1}, e_{t+1}) at=(rt+1,et+1) 处添加新动作来扩展当前状态 s t s_t st 为下一个状态,即 s t + 1 = ( r 0 , e 0 , . . . , r t , e t , r t + 1 , e t + 1 ) s_{t+1} = (r_0, e_0, ..., r_t, e_t, r_{t+1}, e_{t+1}) st+1=(r0,e0,...,rt,et,rt+1,et+1)
  • 奖励。没有为 ( s t < T , a t < T ) (s_{t<T} , a_{t<T}) (st<T,at<T) 提供中间奖励。最终的奖励取决于代理是否正确找到了用户 u u u 的交互项目。给定终端实体 e T e_T eT ,如果用户 e 0 e_0 e0 e T e_T eT 交互,则最终奖励 R T R_T RT 为 +1,如果 e T e_T eT 是一个项目但用户 e 0 e_0 e0 没有与之交互,则为 0,如果 e T e_T eT 不是项目类型实体,则为 -1。

用策略梯度解决推荐 MDP

  • 我们使用深度神经网络进一步参数化上述 MDP,并使用策略梯度方法对其进行优化。
  • 使用深度神经网络参数化 MDP。 由于用户-项目-实体图 G ′ G' G 中通常有数百万个实体和数百个关系,因此几乎不可能直接利用离散状态和动作,其数量分别与 s t s_t st a t a_t at 中符号原子的数量呈指数关系。 因此,我们选择用低维嵌入来表示 G ′ G' G 中的实体和关系。 每个动作 a = ( r , e ) a = (r, e) a=(r,e) 表示为关系和实体嵌入的串联,即 a = [ r 0 ; e 0 ] a = [r_0 ; e_0] a=[r0;e0]。 状态 s t = ( r 0 , e 0 , . . . , r t , e t ) s_t = (r_0, e_0, ..., r_t, e_t) st=(r0,e0,...,rt,et) 由 LSTM [10] 编码:
    -在这里插入图片描述
  • 其中 0 是零向量, s t s_t st 是状态 s t s_t st 的低维表示。
  • 根据我们对奖励的最初定义,当且仅当代理成功找到目标项目时,才会获得正奖励。然而,这可能有以下几个原因:首先,对于一个很大的用户-项目-实体图 G ′ G' G,由于巨大的搜索空间,代理很难找到正确的项目,尤其是在训练开始时[ 27]。换句话说,奖励将非常稀少。因此,代理的学习过程可能非常低效,并且需要很长时间才能收敛。其次,推荐系统的目标是推断用户未来可能与之交互的新项目,而不是重复用户的历史项目。然而,仅从历史项目中获得积极的奖励会阻碍代理探索新的路径和项目,这应该是推荐系统的目标。为了加快训练过程,同时鼓励代理探索目标用户尚未购买或评价的项目,我们建议以下列方式塑造奖励 [17]:
    在这里插入图片描述
  • 其中 σ ( x ) = 1 / 1 + e ( − x ) σ(x) = 1/1+e^{(−x)} σ(x)=1/1+e(x) 是 sigmoid 函数, r ¯ r¯ r¯ 表示“交互”关系。 ψ ( e 0 , e T ) ψ(e_0, e_T ) ψ(e0,eT) 是衡量用户 e 0 e_0 e0 与搜索项 e T e_T eT 之间相关性的得分函数。 在我们的研究中, ψ ( e 0 , e T ) ψ(e_0, e_T ) ψ(e0,eT) 是通过最大化图 G ′ G' G 中所有三元组的可能性来预训练的,并且可以是任何最先进的知识图嵌入模型 [5, 28] 的评分函数。 与第 3.2 节中定义的原始奖励不同,目标用户未与之交互的项目现在会收到积极的奖励,这些奖励由预训练的知识图嵌入决定。
  • Policy network。 在本文中,我们使用策略梯度方法来解决建议的推荐 MDP。 基于参数化状态 s t s_t st 和参数化动作 a a a,我们计算可能动作 A t A_t At 的概率分布如下:
    在这里插入图片描述
  • 其中 { W 1 , W 2 } \{ W_1,W_2 \} {W1,W2} { b 1 , b 2 } \{ b_1, b_2 \} {b1,b2} 是两层全连接神经网络的权重矩阵和权重向量, R e L U ( x ) = m a x ( 0 , x ) ReLU(x) = max(0, x) ReLU(x)=max(0,x) 是非线性激活函数, π θ ( a ′ ∣ s t ) {\pi}_{\theta}(a'|s_t) πθ(ast) 是在状态 s t s_t st 下采取动作 a ′ a' a 的概率。
  • 优化。 在训练期间,代理从初始状态 ( r 0 , e 0 ) (r_0, e_0) (r0,e0) 开始,其中 e 0 e_0 e0 是目标用户,并依次将其路径扩展到最大长度 T T T。然后我们使用奖励函数(即等式 2)分配 轨迹 ( s 0 , a 0 , s 1 , a 1 , . . . , s T ) (s_0, a_0, s_1, a_1, ..., s_T ) (s0,a0,s1,a1,...,sT) 是最终奖励。 正式地,我们将所有用户的所有遍历路径的预期奖励定义为:
    在这里插入图片描述
  • 通过梯度上升最大化,所有参数 θ \theta θ 的梯度由 REINFORCE [25] 算法导出,即
    在这里插入图片描述

对行动的进一步限制

  • 状态 s t s_t st(即 A t A_t At)下的当前动作空间被定义为当前实体 e t e_t et 的输出边的集合。 由于两个原因,这可能是有问题的。 首先,对于 t < T t < T t<T,如果实体 e t e_t et 已经是正确的项目(即 ( e 0 , e t ) ∈ G ) e_0, e_t) \in G) e0,et)G,agent 应该停止而不是继续走到其他实体。 其次,由于 REINFORCE 算法倾向于鼓励代理重复获得高回报的历史经验 [6],该算法可能会阻止代理探索可能与目标用户相关的新路径和项目。 我们通过以下方式解决这两个问题:
  • Stop Action。 由于不同用户-项目对的路径长度可能会有所不同,我们应该为代理提供一个选项,当它认为它在 T T T 之前找到了正确的项目时自动终止。 [13],我们添加了从每个节点到自身的特殊链接。 通过这种方式,我们允许代理停留在基本事实上,这可以理解为停止动作。 我们在 5.4 节中通过设置不同的路径长度 T T T 来展示使用停止动作的影响。
  • Action Dropout。 为了防止代理重复历史高奖励路径并鼓励它探索更多的可能性,我们建议在训练期间使用 action dropout [13]。 具体来说,我们不是从原始 π θ ( a t ∣ s t ) {\pi}_{\theta}(a_t|s_t) πθ(atst) 中采样一个动作,而是在 π θ ( a t ∣ s t ) {\pi}_{\theta}(a_t|s_t) πθ(atst) 上使用掩码来随机丢弃一些动作。 此外,action dropout 还可以帮助缓解用户和物品之间不相关路径的问题,因为这些路径可能在训练开始时偶然发现。

实验

  • 在本节中,我们在三个真实世界的数据集上评估 Ekar。 与其他最先进的方法相比,我们提出的方法具有以下优点:1)有效性。 Ekar 在推荐准确性方面明显优于现有的最先进的基于 KG 的推荐方法。 2) 可解释性。 生成路径的案例研究表明 Ekar 可以为推荐项目提供很好的解释。

数据和实验设置

  • 数据。我们在三个基于 KG 的推荐基准数据集上测试 Ekar:1)Last.FM。该数据集包含一组来自流行在线音乐系统 Last.Fm 的音乐艺术家收听信息。 2) MovieLens-1M。 MovieLens-1M 提供用户对数千部电影的评分。对于这两个数据集,我们将显式评分转换为隐式反馈,其中每个观察到的评分被视为“1”,未观察到的评分被标记为“0”。继 [22] 之后,我们使用 Microsoft Satori 分别为 Last.FM 和 MovieLens-1M 数据集构建知识图。 3) DBbook2014。该数据集提供了用户在图书领域的阅读历史。其支持知识图谱是从 DBpedia 中提取的。由于我们专注于基于 KG 的推荐,因此我们删除了相应知识图中没有匹配实体的项目。处理后的数据集的统计数据如表 1 所示。根据 [3, 20, 24],我们将每个用户的交互随机分成训练、验证和测试集,比例为 6:2:2。
    在这里插入图片描述
  • 基线方法。我们将 Ekar 与两种方法进行比较:1) 经典的基于相似性的方法包括: ItemKNN,它推荐与目标用户历史项目最相似的项目; BPR-MF [29],这是一种广泛使用的矩阵分解方法,使用贝叶斯个性化排名(BPR)损失。 2)基于KG的推荐方法包括:RippleNet [20],它通过具有注意力机制的知识图传播用户的兴趣; CFKG [31],通过在图 G ′ G' G 上应用 TransE [2] 来学习用户和物品的表示; MKR [22],在多任务收益框架下学习用户-项目匹配任务和知识图嵌入任务; KTUP [3],这是一个最先进的基于 KG 的推荐器,它联合学习了基于翻译的推荐 [7] 和基于翻译的知识图嵌入; ConvE-Rec,基于集成图 G ′ G' G和 ConvE [5] 学习用户和项目的嵌入。由于我们使用 ConvE 模型进行奖励塑造,因此我们将 ConvE-Rec 视为一个特殊的推荐器。
  • 评估指标。 根据 [3, 8, 19],我们采用命中率 (HR) 和归一化折扣累积增益 (NDCG) 来评估所提出的 Ekar 和基线方法的有效性。 我们在 [8] 中使用了 HR 和 NDCG 的相同定义,其中 HR 衡量测试项目是否存在于推荐列表中,而 NDCG 分别评估测试项目的排名质量。 在我们的研究中,我们总是报告所有用户在五次运行中的平均 HR@K 和 NDCG@K 分数。
  • 实施细节。首先,如果存在三元组 < e h , r , e t > < e_h, r, e_t > <eh,r,et> ,我们将 < e t , r − 1 , e h > < e_t, r^{−1} , e_h > <et,r1,eh> 添加到 G ′ G' G 中以增强图的连通性,其中 r − 1 r^{−1} r1 是关系 r r r 的逆。遵循 [3],我们只保留那些直接连接到每个支持知识图中项目的三元组。我们用 Pytorch [18] 实现了 Ekar。实体和关系嵌入通过在图 G ′ G' G 上应用 ConvE 进行预训练,除 ItemKNN 之外,所有方法的嵌入大小都设置为 32,它没有潜在表示。同时,我们使用 ConvE 的得分函数来计算增强奖励(即等式 2)。从图1可以看出,路径模式“User->Item->Entity->item”和“User->Item->User->Item”更有可能是有意义的,因此我们凭经验设置最大路径长度T到 3 作为我们的默认设置。我们使用网格搜索从 {0.1-0.9} 中选择操作丢失率,从 {0.1-0.9} 中选择实体/关系嵌入的丢失率。同时,网格搜索也被用于为其他基线方法选择最佳 dropout 率。对于训练,我们对所有批量大小为 512 的神经模型使用 Adam [11] 优化器。在推荐期间,我们使用波束大小为 64 的波束搜索为目标用户生成路径。对于通向同一项目的重复路径,我们保留概率最高的路径。最后,我们采用两种不同的排名策略来生成最终的 top-K 推荐列表:(1)根据路径概率对搜索到的项目进行排名,我们将其表示为 Ekar,2)根据 σ 定义的“奖励”对搜索到的项目进行排名 σ ( ψ ( e 0 , e T ) ) \sigma(ψ(e_0, e_T )) σ(ψ(e0,eT)) 在等式 2 中,我们将其表示为 Ekar*。

推荐性能分析

  • 我们在表 2 中报告了不同方法的推荐准确率。我们可以看到,基于 KG 的推荐方法始终优于经典的基于相似性的方法,这表明知识图确实有助于缓解推荐中的数据稀疏问题。在基于 KG 的推荐方法中,RippleNet 的表现最差,这可能是由于用多跳实体表示用户。 KTUP 表现强劲,因为它同时利用了基于翻译的推荐和多任务学习的优势。请注意,ConvE-Rec 和 CFKG 之间的唯一区别是使用的知识图嵌入方法;然而,ConvE-Rec 实现了更好的性能。这背后的原因是 ConvE 是一种最先进的知识图嵌入方法,其性能优于 CFKG 中使用的 TransE。通过使用预训练的 ConvE 嵌入来增加奖励,我们的 Ekar 和 Ekar* 在大多数情况下显着优于现有的最先进的基于 KG 的推荐方法,并且表现与 ConvE-Rec 相当,这表明我们提出的方法相当有效的。
    在这里插入图片描述

可解释性分析

  • 在证明了 Ekar 的有效性之后,我们现在说明它的可解释性,这是这项工作对推荐系统的主要贡献。 如前几节所述,Ekar 通过生成从用户到物品的有意义的路径来提供推荐,其中路径作为对推荐物品的解释。 为了给你一个直观的例子,我们从 MovieLens-1M 数据集中随机选择一个真实用户,并使用 Ekar 搜索她/他的偏好路径。 如图2所示,我们很容易理解“飞机!” 推荐,因为它与用户之前观看的“十七岁边缘”共享相同的类型(即喜剧)。 第二个推荐《迷失方舟攻略》可以用众所周知的规则“喜欢A的用户也喜欢B”来解释。
    在这里插入图片描述
  • 除了对单个用户的解释之外,我们还对 Ekar 发现的全局偏好路径模式感兴趣。更具体地说,我们试图找出 w.r.t. 的典型路径模式是什么。不同的数据集。从表 3 中,我们可以看到 Ekar 严重依赖路径模式在 MovieLens-1M 数据上:
    在这里插入图片描述
  • 此外,Ekar 学习更多样化的路径模式,例如
    在这里插入图片描述

  • 在这里插入图片描述
  • 这会导致新书分别与用户的历史书籍共享相同的 WikiPage 或 Genre。两个数据集上路径模式差异背后的原因可能有两个方面。首先,请注意,MovieLens-1M 数据中每个用户的平均交互次数约为 100,而 DBbook2014 数据中该数字为 12。因此,在 MovieLens-1M 数据中找到具有相似电影偏好的用户比在 DBbook2014 数据中找到具有相似阅读品味的用户更容易。其次,DBbook2014 数据的支持知识图谱的大小远大于用户-项目交互的数量,因此我们的 Ekar 在这种情况下学习更多地利用外部知识。
    在这里插入图片描述

消融研究

  • 在本节中,我们比较了 Ekar 的不同变体,以显示一些基本组件的影响,例如 KG、奖励塑造、动作丢失和最大路径长度 T T T,表示为 Ekar-KG、Ekar-RS、Ekar-AD 和 Ekar (T=5) 分别在表 4 中。我们发现 KG 对 Last.FM 和 DBbook2014 数据集的影响非常显着。这是因为这两个数据集非常稀疏,而 MovieLens-1M 数据相对密集。删除奖励整形会导致所有数据集的性能严重下降,因为没有奖励整形的 Ekar 会将零奖励分配给用户未与之交互的所有项目。通过这种方式,代理因探索用户感兴趣的潜在项目而受到惩罚,因此无法有效地生成推荐。除了奖励塑造之外,我们还使用 action dropout 进一步鼓励代理探索不同的路径,我们可以看到 Ekar-AD 的性能比完整模型 Ekar 差。最后,我们尝试更大的最大路径长度 T 以使代理能够探索更长的路径。我们发现 Ekar (T=5) 在所有数据集上的表现都比 Ekar 差。这是因为长路径可能会引入更多噪声,因此意义不大。但是,由于停止机制,性能下降并不显着。 Ekar (T=5) 的路径模式的详细信息,进一步显示了停止动作的作用,包含在附录中。
    在这里插入图片描述## 收敛分析
  • 我们在图 3 中展示了 Ekar 的运行时间。可以看出,Ekar 在 MovieLens-1M 数据集上收敛速度很快,不到 10 分钟,而在其他两个数据集上收敛需要更长的时间。 收敛行为不同的原因是,在密集数据集(例如 MovieLens-1M)上比在稀疏数据集(例如 DBbook2014)上更容易步行更正项目。 总的来说,我们的 Ekar 是有效的,因为我们使用预训练的知识图嵌入初始化实体/关系嵌入,并且我们使用奖励整形来增强奖励信号。
    在这里插入图片描述

结论

  • 在本文中,我们介绍了一种新颖的方法来为知识图谱的推荐提供解释。 我们提出的 Ekar 通过在用户-项目-实体图上学习步行策略,生成从用户到相关项目的有意义的路径。 实验结果表明,Ekar 优于现有的基于 KG 的推荐方法,并且非常有效。 此外,我们通过对不同数据集的深入案例研究证明了 Ekar 的可解释性。 未来的工作包括结合领域知识为推荐任务设计适当的奖励函数,并为更大的数据集开发分布式版本的 Ekar。

附录

使用不同 KGE 方法的 Ekar

  • 我们提出的 Ekar 独立于知识图嵌入方法,该方法用于预训练实体/关系嵌入以进行初始化和奖励塑造。 因此,我们还使用另一种广泛使用的知识图嵌入方法 DistMult 测试我们的模型。 DistMult 和 ConvE 的得分函数如表 5 所示。为了公平比较,我们使用相同的实验设置,只是在我们的实验中用 DistMult 代替 ConvE。 在 ConvE-Rec 之后,我们将带有 DistMult 的推荐表示为 DistMult-Rec。
    在这里插入图片描述
  • 使用不同知识图嵌入方法的结果如表 6 所示。首先,我们可以看到 ConvE-Rec 在所有数据集上都优于 DistMult-Rec。 这是因为在知识图嵌入方面,ConvE 已被证明比 DistMult 更有效,因此我们的 Ekar 与 ConvE 也优于带有 DistMult 的 Ekar。 其次,Ekar (DistMult) 和 Ekar* (DistMult) 在 Last.FM 和 MovieLens-1M 数据集上的性能优于 DistMult-Rec,在 DBbook2014 数据集上的性能与 DistMult-Rec 相当,这与 Ekar (ConvE) 和 Ekar* 的观察结果一致 (ConvE)。
    在这里插入图片描述

进一步分析 Ekar (T=5)

  • 在之前的实验中,我们看到 Ekar (T=5) 的表现比 Ekar 差一点,因为长路径可能没有意义,从而导致错误的推荐。 现在我们在密集数据集 MovieLens-1M 和稀疏数据集 Last.FM 上展示 Ekar (T=5) 的路径模式。
  • 我们从表 7 中有两个观察结果。首先,有许多长度为 5 的路径,这意味着我们的代理正在推荐与用户历史项目具有高阶相似性的项目。 其次,由于 Last.FM 数据集非常稀疏,具有高阶相似性的项目可能不太相关。 因此,我们的 Ekar 学会在 11.2% 的路径内采取停止行动。
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值