【图学习、双曲几何空间】LKGR:Modeling Scale-free Graphs with Hyperbolic Geometry for Knowledge-aware

#论文题目:LKGR:Modeling Scale-free Graphs with Hyperbolic Geometry for Knowledge-aware Recommendation(LKGR:基于双曲几何中无标度图的知识感知推荐建模)
#论文地址:https://doi.org/10.1145/3488560.3498419
#论文源码开源地址:暂无
#论文所属会议:WSDM 2022
#论文所属单位:香港中文大学、华为诺亚
在这里插入图片描述

一、前序知识

  • 双曲几何:双曲几何空间是一个不标准的几何空间(侧面剖析来看是类似于双曲线的结构)。抽象的讲,一个n维双曲空间就是一个高斯曲率处处为常数的流形,数学家认为这种形状拥有负常曲率(constant negative curvature)。
    在这里插入图片描述

  • 无标度网络:对于许多现实世界中的复杂网络,如互联网、社交网络等,各节点拥有的连接数(度 Degree)服从幂律分布。也就是说,大多数“普通”节点拥有很少的连接,而少数“热门”节点拥有极其多的连接。这样的网络称作无标度网络(Scale-free Network),网络中的“热门”节点称作枢纽节点(Hub)。
    在这里插入图片描述

  • 知识感知:利用知识图谱来丰富user-item二部图的信息结构,使其成为蕴含信息更加丰富的UKG网络(Unified Knowledge Graph)。

  • GraphSAGE: Graph Sample and Aggregate(图采样和聚集方法)

二、导读/创新点

  1. 跳出了传统的将实体的向量表示映射到欧里几德空间的思想(无法有效的捕捉无标度图的内在层次结构),所以拓展出在双曲空间进行向量表征学习。
  2. 传统的RS算法只是考虑到user-item二部图网络,忽略了其他重要信息的影响,本篇文章通过将知识图谱拓展到user-item二部图网络进而增强了网络蕴含的信息。
  3. 构建好三部图(user-item-KG),采用注意力机制迭代修正user/item节点向量表征,最后将向量表征聚合到目标实体中。(个人认为其参考了GraphSAGE算法的相关思想)

在这里插入图片描述
这是构建的三部图(user-item-KG)网络,可以看到,user节点只和item节点存在交互,item节点与KG和user节点存在交互。

三、LKGR模型概述

在这里插入图片描述
该模型分为三部分:编码层、洛伦兹注意力卷积层、预测层

  1. 编码层:在现有工作中,输入的向量表示可能存在于欧里几德空间或双曲空间中。如果它们在欧里几德空间,编码层首先通过某种公式将它们投射到双曲空间,以确保它们在双曲空间的洛伦兹簇上。
  2. 洛伦兹注意力卷积层
    • 为了准确得到用户和物品的潜在表征向量,洛伦兹卷积层通过每个节点自身的子网络更新其向量表征,(上图未采样的节点表示为白色)。
    • 为了从KG中自动学习信息的相对重要性,模型通过引入注意力机制,实现在双曲空间中有选择性和有偏见的实现与目标节点有关系的各种节点信息的聚合。通过叠加多个注意力的洛伦兹卷积层,LKGR可以显式地探索高阶KG子图,进一步提取遥远的知识。
  3. 预测层:得到节点向量表征后,我们在双曲空间中进行内积进行推荐。

(详细的公式推导请移步原文)

对洛伦兹注意力卷积层的解释说明:

  1. 前言: 通常情况下,对于一个实体 h h h,我们首先计算 π ( h , r , t ) π(h, r, t) π(h,r,t),表示实体 t t t h h h存在在 r r r的关系下的连边,这先计算一个注意力,
    在这里插入图片描述
    用π^ ( h , r , t ) (h, r, t) (h,r,t)进一步归一化,表示通过softmax函数与 h ℎ h连接的所有边,使LKGR能够自动测量基于知识的邻居的不同贡献。基于这些学习到的权重,邻近信息可以有选择地传播和聚合。
    在这里插入图片描述
    这样,我们通过此种方法就得到了实体 h h h的向量表征,解释这个是为后续计算user和item向量表征进行铺垫。
  2. 下图的左式和右式分别代表user、item的信息聚合公式。user节点只和item节点存在交互,item节点与KG和user节点存在交互。
    同时,此聚合不是使用完整的邻接信息,而是使用固定大小的随机邻居抽样。
    在这里插入图片描述
    3.在得到某个节点的邻居的信息之后,下一步就是要将节点的邻居进行聚合并修正节点embedding表示。一般地,对于某个节点 x x x和他的邻居节点集合 S S SN(x),使用 f f f( x x x,
    S S SN(x))去聚合。文章给出了 f ( ⋅ ) f(·) f()聚合的三种类型:加聚合、连接聚合、邻居聚合**(具体聚合公式详见原文)**

LKGR算法步骤

在这里插入图片描述
解释:首先得到user的邻居,计算user邻居信息注意力大小,聚合修正user节点表征向量。其次,设置item的聚合阶数,从后到前一点一点的得到实体节点的邻居和此节点的注意力大小,之后通过倒数第二层的item的邻居节点聚合生成目标item节点的表征向量,最后,计算相似度,判断是否收敛,若不收敛继续迭代循环。
在这里插入图片描述
论文中三部图示意图如上所示(应该表述清楚了吧…)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值