Graph Neural Network(GNN) for Recommender Systems
基于图神经网络的推荐系统
本文基于两篇综述来介绍基于图神经网络的推荐系统:
1. 图谱与推荐系统
1.1 应用案例
近年来,将知识图谱(KG)作为补充信息引入推荐系统,引起了研究者的关注。KG是一个异构图,其中节点作为实体,边表示实体之间的关系。项目及其属性可以映射到KG中,以理解项目之间的相互关系。此外,用户和用户补充信息也可以集成到KG中,可以更准确地捕获用户和项目之间的关系以及用户偏好。
1.2 知识图谱基础知识
a. 信息网络(Information Network)
- 用一个有向图G = (V, E) 来表示,其中V代表实体,E代表实体之间的关系(边)。
实体集合V: {Bob, Alice, Interstellar, Inception, Titanic, Science fiction, Leonardo, James} 关系集合E: {watched, watched, watched, genre, genre, acted, acted, directed, friend} - 用映射函数 ? : V → A ,表示每一个实体v ∈ V 属于实体类型集合A: ?(v) ∈ A。
实体类型集合A: {user, movie, genre, actor, director} - 用映射函数ψ : E → R,表示每一条边 e ∈ E 属于关系类型集合R: ψ(e) ∈ R。
关系类型集合R: {watched, genre, acted, directed, friend}
b. 异构信息网络(Heterogeneous Information Network, HIN)
- 实体类型数量|A|>1 or/and 关系类型数量|R|>1
c. 知识图谱(Knowledge Graph)
- 知识图谱
G
=
(
V
,
E
)
G=(V,E)
G=(V,E)是一个有向图,其节点是实体,边是主体-属性-对象三元组。每条边(头实体、关系、尾实体)的形式记为
<
e
h
,
r
,
e
t
>
<e_?, r, e_t>
<eh?,r,et?>,表示从实体
e
h
e_?
eh?到实体
e
t
e_t
et?的关系
r
r
r。它可以被看作是一个HIN的例子。
d. 元路径(Meta-path)
- 它是连接HIN中实体对的关系序列,可用于提取图中的连通性特征。
- 在图G中,定义从用户u到项目i的路径为一系列实体和关系序列:
P
=
[
e
1
→
e
2
→
.
.
.
→
e
L
]
P=[e_1→e_2→...→e_L]
P=[e1?→e2?→...→eL?],其中
e
1
e_1
e1?为用户u,
e
L
e_L
eL?为项目i。
- 在异构图中,推荐问题转化为寻找user和item的连接路径,两个实体的连接路径会有不同类型的实体和不同类型的关系。
(图出:Explainable reasoning over knowledge graphs for recommendation) - 从同一个用户Alice到同一项目I see Fire的路径显然表达了它们不同的多步关系,并暗示了不同的组合语义。
-
P
1
P_1
P1?推断Alice可能更喜欢EdSheeran演唱的歌曲,而
P
2
P_2
P2?则反映了协同过滤(CF)效应:相似的用户往往有相似的偏好。
- 从推理的角度来看,我们使用所有路径上的连通性来学习组合关系表示,并将它们加权集中在一起,以预测用户和目标项目之间的交互关系。
e. H-跳邻居(H-hop Neighbor)
- 图中的节点可以通过一个多跳关系路径进行连接:
[
e
0
→
e
1
→
.
.
.
→
e
H
]
[e_0→e_1→...→e_H]
[e0?→e1?→...→eH?]。其中
e
H
e_H
eH?是
e
0
e_0
e0?的H-跳邻居,可以表示为
e
H
∈
N
e
H
e_H \in N^H_e
eH?∈NeH?。
N
e
0
N^0_e
Ne0?是
e
0
e_0
e0?本身。
f. 用户水波/涟漪集合(User Ripple Set)
- 借鉴水波(Ripple)的传播,以用户感兴趣的项目为种子,在商品知识图谱上,用种子项目向外一圈圈地扩散到其他的项目上,这个过程称之为偏好传播(Preference Propagation)。
- 该模型认为外层的items同样属于用户潜在的偏好,因此在刻画user的时候,需要将其考虑进去,而不能仅仅使用观测到的items去表示user偏好。
- 电影“Forrest Gump”(阿甘正传)与“Robert Zemeckis”(导演)、“Tom Hanks”(明星)、“U.S.“(国家)和“Drama”(戏剧)联系在一起,而“Tom Hanks”则与他主演的电影“The Terminal”(幸福终点站)和“Cast Away”(荒岛余生)联系在一起。这些复杂的联系为我们提供了一个深刻而潜在的视角来探索用户喜好。 例如,如果用户曾经观看过“阿甘正传”,他可能会成为Tom Hanks(汤姆.汉克斯)的粉丝并对“The Terminal“或“Cast Away”也感兴趣。
2. 图谱数据特点及构建
2.1 推荐系统的数据类型
- 推荐系统主要包含三个关键对象:用户、项目和交互。
- 用于推荐领域的数据主要包含三种类型:交互(一般交互和序列交互)、补充信息(用户特征和项目属性)。
2.2 GLRS建立在一般交互数据
交互矩阵可以表示成二部图(bipartite graph)。
- 二部图:设
G
=
(
V
,
E
)
G=(V,E)
G=(V,E)是一个无向图,如果顶点
V
V
V可以分割成两个互不相交的子集(A,B),其中图中每条边所关联的两个顶点i,j分别属于这两个不同的顶点集(i in A, j in B),且子集内的顶点不连接,则称
G
G
G为一个二部图。
- 隐性交互(click):无权重二部图;显性交互(rating):带权重二部图,边被标记为一个权重。
(图出:Collaborative similarity embedding for recommender systems) - 优势:二部图使得信息在节点之间广泛传播,从而丰富那些交互较少的用户或者项目信息,从而缓解矩阵稀疏和冷启动问题。
- 劣势:用户之间或者项目之间不存在直接的联系,因此信息需要通过多跳邻居节点传播。
2.3 GLRS建立在序列型交互数据
序列交互可以表示成有向图(directed graph)
- single-type interaction:序列中仅有一种类型的交互 e.g.{
v
1
,
v
2
,
.
.
.
,
v
n
v_1,v_2, ..., v_n
v1?,v2?,...,vn?}
(图出:Rethinking the item order in session-based recommendation with graph neural networks) - multi-type interaction:序列存在多种类型的交互 e.g.{
c
l
i
c
k
v
1
,
c
l
i
c
k
v
2
,
.
.
.
,
p
u
r
c
h
a
s
e
v
n
click v_1, click v_2, ..., purc?ase v_n
clickv1?,clickv2?,...,purchasevn?}
(图出:Beyond clicks: Modeling multi-relational item graph for session-based target behavior prediction) - 优势:有向图可以表示和建模序列交互中最复杂的转换(非单向,序列中存在多个相同的交互)
- 挑战:如何构造一个图,能够以最小的信息损失表示序列交互数据,以及如何在图中传播信息。
- limited approaches in multi-type interaction
2.4 GLRS结合补充信息(Side Information)
2.5 GLRS结合社交信息
(图出:Graph neural networks for social recommendation)
2.6 GLRS结合外部知识
(图出:Taxonomy-aware multi-hop reasoning networks for sequential recommendation)
3. 图谱嵌入方法
通常,我们使用三元组(head entity, relation, tail entity)来表示知识,例如(sky tree, location, Tokyo)。我们可以用独热向量来表示这个知识。但实体和关系太多,维度太大。当两个实体或关系很近时,独热向量无法捕捉相似度。受Wrod2Vec模型的启发,想用分布表示来表示实体和关系。
3.1 TransE
- 思想:使头部实体?向量和关系?向量的和,尽可能靠近尾部实体t向量,即
h
+
?
≈
t
?+?≈t
h+?≈t
- 用L1或L2范数来衡量它们的靠近程度,即
d
(
h
+
?
,
t
)
=
‖
h
+
?
?
t
‖
d(?+?, t)=‖?+??t‖
d(h+?,t)=‖h+??t‖
- 局限性:这个模型只能处理一对一的关系,不适合一对多/多对一关系。当处理一对多关系时,多关系的嵌入会趋于相同。例如,有两个知识,(skytree, location, tokyo)和(gundam, location, tokyo)。经过训练,“sky tree”实体向量将非常接近“gundam”实体向量。但实际上它们没有这样的相似性。
3.2 TransH
- 思想:对于三元组
(
h
,
r
,
t
)
(?,r, t)
(h,r,t),首先将其
h
?
h和
t
t
t映射入超平面
W
r
W_r
Wr?,分别表示为
h
⊥
?_⊥
h⊥?和
t
⊥
t_⊥
t⊥?。
d
r
d_r
dr?为关系在超平面的位移向量。定义
‖
h
⊥
+
d
r
?
t
⊥
‖
‖?_⊥+d_r?t_⊥‖
‖h⊥?+dr??t⊥?‖为评分函数来衡量事实(facts)的合理性。
- 优点:TransH克服了TransE面向反向、一对多、多对一和多对多关系的缺点同时继承了其高效性。
3.3 TransR
- TransE和TransH都是将实体和关系映射同一个空间,这些模型仅仅简单地假设实体和关系处于相同的语义空间。但是关系和实体是完全不同的对象,它可能无法在同一个语义空间中表示它们。
- 一个实体可能具有多个层面的信息,不同的关系可能关注实体不同层面。e.g.例如(location, contains, location)的关系是contains,(person, born, date)的关系是born。这两种关系非常不同。
- 为了解决这个问题,让TransR在两个不同的空间,即实体空间和多个关系空间(关系特定的实体空间)中建模实体和关系,并在对应的关系空间中进行转换。
4. 基于图谱的推荐算法
4.1 Embedding-based Methods
基于嵌入的方法通常直接使用来自KG的信息来丰富项目或用户的表示。为了利用KG信息,需要应用知识图嵌入(KGE)算法将KG编码为低维嵌入。
- KGE算法可分为两类:
- 翻译距离模型(translation distance models),如TransE、TransH、TransR、TransD等。
- 语义匹配模型(semantic matching models),如DistMult。
- 根据KG中是否包含用户,基于嵌入的方法可以分为两类:
- Item Graph:KG是由从数据集或外部知识库中提取的项目及其相关属性构建的。e.g.CKE,DKN,KSR。
- User-Item Graph:直接构建用户-项目图,其中用户、项目及其相关属性作为节点。在用户-项图中,包括属性级关系(品牌、类别等)和用户相关关系(共同购买、共同查看等)作为边缘。e.g.CFKG,SHINE,DKFM.
4.1.1 Item Graph
KG是由从数据集或外部知识库中提取的项目及其相关属性构建的,遵循该策略的论文利用知识图嵌入(KGE)算法对图进行编码,以便进行更全面的项目表示,然后将项目补充信息集成到推荐框架中。 (1) CKE
- 通过联合执行知识网络嵌入和协同过滤,CKE可以同时从知识网络中提取特征表示并捕获用户与项目之间的隐含关系
- CKE包含的信息:
用户-项目交互信息,项目属性知识图谱(item graph),视觉信息(poster image)和文本信息(main topic)。
(2) DKN
-
DKN提出了一种深度知识感知网络,将知识图表示融入新闻推荐中。 -
DKN的关键组成部分是一个多渠道和词实体对齐的知识感知卷积神经网络(KCNN),它融合了新闻的语义级和知识级表示。 -
KCNN将单词和实体视为多个通道,并在卷积期间明确保持它们的对齐关系。此外,为了解决用户的各种兴趣,我们还在DKN中设计了一个注意力模块,以动态地聚合用户关于当前候选新闻的历史记录。 -
基于文本的知识图谱构建 首先,为了区分新闻内容中的知识实体,利用实体链接技术通过将它们与知识图中的预定义实体相关联来消除文本中的歧义提及。基于这些识别的实体,我们构建子图并从原始知识图中提取它们之间的所有关系链接。请注意,已识别实体之间的关系可能很稀疏且缺乏多样性。因此,我们将知识子图扩展到一跳内的所有实体。鉴于提取的知识图,许多知识图嵌入方法,如TransE,TransH,TransR和TransD,可用于实体表示学习。学习的实体嵌入被视为DKN框架中KCNN的输入。
4.1.2 User-Item Graph
(1) SHINE
- 首先,由于主流社交网络中缺乏明确的情感链接,我们通过实体级情感提取方法建立了一个由用户的情感关系,社会关系和个人资料知识组成的带标签的异质情感数据集。
- 然后,提出了一种新颖且灵活的端到端异构信息网络嵌入(SHINE)框架,用于从异构网络中提取用户的潜在表示,并预测未观察到的情绪链接的标志。
- SHINE使用多个深度自动编码器将每个用户映射到低维特征空间,同时保留网络结构。
- 三种网络:
- Sentiment Network:在获得一组候选推文之后,对于每条推文,计算其针对所述名人的情绪值(-1到+1),并选择那些绝对情绪值高的推文。最终数据集由一组三元组(a,b,s)组成,其中a是发布tweet的用户,b是tweet中提到的特定名人,s∈{+1,-1}是用户A对用户B的情绪极性。
- Social Network:从微博中收集用户之间的社交关系。社会关系的数据集由元组(a,b)组成,其中a是追随者,b是追随者。
- Profile Network:
普通用户:从微博中收集个人资料信息,分别为性别和位置。 名人简介:使用Microsoft Satori3知识库提取名人简介,提取9个属性作为个人资料信息:出生地点,出生日期,种族,国籍,专业,性别,身高,体重和星座。 - 具体模型算法
(2) KTUP
- 给定用户,交互电影(例如,Back to The Future I和Back to The Future II以及Forrest Gump)以及相关的三元组。
- KTUP能够:
- 预测三元组缺失的头部或尾部实体(Death Becomes Her-isdirectorof-Robert Zemeckis)。
- 弄清楚用户为什么喜欢某部电影(挖掘用户和项目之间的隐式偏好Preference)。
- 根据挖掘得到的偏好(隐式偏好+图谱挖掘得到的关系)推荐电影Death Becomes Her。
- 预测三元组缺失的头部或尾部实体
- 弄清楚用户为什么喜欢某部电影(挖掘用户和项目之间的隐式偏好)
- 根据挖掘得到的偏好(隐式偏好+图谱挖掘得到的关系)推荐电影
4.2 Unified Methods
(1) RippleNet
- RippleNet的关键思想是偏好传播:
对于每个用户,RippleNet将他的历史兴趣视为KG中的种子集,然后沿着KG连接迭代地扩展用户的兴趣,以发现他对候选项目的分层潜在兴趣。将偏好传播与雨滴在水面上传播所产生的实际涟漪进行类比,其中多个“涟漪”重叠形成用户在知识图上的结果偏好分布。 - RippleNet与现有文献的主要区别在于RippleNet结合了上述两种方法的优点:
(1)RippleNet通过偏好传播自然地将KGE方法纳入推荐; (2)RippleNet可以自动发现从用户历史记录中的项目到候选项目的可能路径,无需任何手工设计。
参考文献
|