图3.1:精确性示例 7 D. }' o7 |" T& P& I; X. |/ _8 s$ t- B- S3 m0 `. i ?) i1 j" M
9 f/ J! E6 |8 j, M, C+ J" G
图3.2:多样性性示例% [ r! K0 o. O: `1 J4 z: ^. B) Y- n
2 n5 \0 o; h2 A/ |5 w
: d( Z0 |$ t3 h3 ^4 N* Y
图3.3:可解释性示例( s, h7 j" S8 A) T+ }5 |& i
4. 知识图谱与推荐系统相结合 9 Z9 p# z2 ?8 c' D- t: l- P 7 j1 n$ X* f* _$ |( Q* m! e) n4.1 基于特征的推荐方法+ I! C8 A& e7 A! J0 v- |$ b5 _- y
! `" j4 m, L4 d. E& k' {
基于特征的推荐方法,主要是从知识图谱中抽取一些用户和物品的属性作为特征,放入到传统模型中,如FM模型、LR模型等等。这并非是专门针对知识图谱设计,同时也无法引入关系特征。 2 d' x G! V L+ i9 o% ~ 8 f C# u6 z' w, _; k4.2 基于路径的推荐方法. E4 T+ x. C& r' [( P3 l. B% t- b! q
& \. q; ]. O& T 基于路径的推荐方法,以港科大KDD 2017的录用论文《Meta-Graph Based Recommendation Fusion over Heterogeneous Information Networks》为代表。该类方法将知识图谱视为一个异构信息网络(heterogeneous information network),然后构造物品之间的基于meta-path或meta-graph的特征。简单地说,meta-path是连接两个实体的一条特定的路径,比如“演员->电影->导演->电影->演员”这条meta-path可以连接两个演员,因此可以视为一种挖掘演员之间的潜在关系的方式。这类方法的优点是充分且直观地利用了知识图谱的网络结构,缺点是需要手动设计meta-path或meta-graph,这在实践中难以到达最优;同时,该类方法无法在实体不属于同一个领域的场景(例如新闻推荐)中应用,因为我们无法为这样的场景预定义meta-path或meta-graph。8 o( W# Z W7 }0 a8 t9 U5 m2 }
& v. Y3 J6 R: h; a9 V0 O4.3 知识图谱特征学习* E# A" M8 N" c' C3 b
. P1 r6 j9 v& A& ?; B- i: b; C4 v
知识图谱特征学习(Knowledge Graph Embedding)为知识图谱中的每个实体和关系学习得到一个低维向量,同时保持图中原有的结构或语义信息。一般而言,知识图谱特征学习的模型分类两类:基于距离的翻译模型和基于语义的匹配模型。 , L* l" X7 k/ a& {5 a4 x7 X h$ V1 @
4.3.1 基于距离的翻译模型:使用基于距离的评分函数 1 V* @( H* s* P# x9 |$ G% u, f. \# A0 d1 B- f
知识库中的实体关系类型可分为 一对一 、一对多 、 多对一 、多对多4 种类型,而复杂关系主要指的是 一对多 、 多对一 、多对多的 3 种关系类型。* R& i6 ?- A9 j+ f, a9 k! ?
. a! C/ ^2 V+ m' T! B' ?
TransE模型: . f# s7 O( M* q& l& G- q Border等人提出了TransE模型,将知识库中的关系看作实体间的某种平移向量。对于每个事实三元组(h,r,t),TransE模型将实体和关系表示为同一空间中,把关系向量r看作为头实体向量h和尾实体向量t之间的平移即h+r≈t。比如:对于给定的2个事实(姜文, 导演, 邪不压正)和(冯小刚, 导演, 芳华) ,除了可以得到:姜文+ 导演≈邪不压正和冯小刚+导演≈芳华,还可以通过平移不变性得到:邪不压正 - 姜文 ≈芳华 –冯小刚,即得到两个事实相同的关系(DirectorOf)的向量表示。我们也可以将r,看作从h到t,的翻译,因此TransE也被称为翻译模型,如图4.1(a)所示,对于每一个三元组(h,r,t)TransE希望:h+r≈t,评分函数在表1中所示。" t! c' D) D$ s4 f5 m* K
虽然TransE模型的参数较少,计算的复杂度显著降低,并且在大规模稀疏知识库上也同样具有较好的性能与可扩展性。但是TransE 模型不能用在处理复杂关系上 ,原因如下:以一对多为例,对于给定的事实,以姜文拍的民国三部曲电影为例,即《让子弹飞》、《一步之遥》和《邪不压正》。可以得到三个事实三元组即(姜文,导演,让子弹飞)、(姜文,导演,一步之遥)和(姜文,导演,邪不压正)。按照上面对于TransE模型的介绍,可以得到,让子弹飞≈一步之遥≈邪不压正,但实际上这三部电影是不同的实体,应该用不同的向量来表示。多对一和多对多也类似。 $ ?& e. p5 N3 d1 O0 p8 O5 p: R6 N' E" r+ D: q5 {* A
TransH模型:4 ^# y2 I# w: M, d
为了解决TransE模型在处理一对多 、 多对一 、多对多复杂关系时的局限性,TransH模型提出让一个实体在不同的关系下拥有不同的表示。如图4.1(b)所示,对于关系r,TransH模型同时使用平移向量r和超平面的法向量wr w_rw 6 [9 J% w- Q: x" O4 E1 g; q
r * ] H2 u" a! t: {9 Q9 P. a# ^ " e" ?0 h7 m! Z8 a
来表示它。对于一个三元组(h, r, t) , TransH首先将头实体向量h和尾实体向量r,沿法线wr w_rw 3 n8 I% n& {$ W+ K: n; W6 E
r 9 Q+ Y0 Z1 Y7 x7 E. v. s, p% P + Z/ L9 g( f! U ,影到关系r对应的超平面上,用h⊥ h_⊥h 6 N- t- Z& j5 t. q& I& v( b/ S5 N2 K6 E
⊥ : x9 b0 S) S2 T1 H6 _- t & @. D& m! c8 e
和t⊥ t_⊥t $ g. J7 r. W# Y; F% R7 X
⊥ ( V# E- S) A6 X/ B' E- q l * T% v# @& d* g$ ? z4 i' Z
表示如下: a- u/ ~' z* g8 D4 S) O. q6 kh⊥=h−wTrhwr,t⊥=t−wTrtwr. h_⊥=h-w_r^T hw_r, t_⊥=t-w_r^T tw_r. h/ A. F) H/ O: u% Y$ A) G# w/ e9 O! v
h 9 h3 y9 y5 n3 j- t⊥- K+ x d# j# r6 b: ^" T' y9 K
2 Y: V5 U5 W9 |; x8 E =h−w * P3 ~ r1 ]% D% e. Z2 {0 F, r7 E; d
r 3 U+ V C" {+ T' k2 kT+ Z# L: A. B$ `7 J% N2 G- p/ m: f
& m3 ^4 ?9 h1 D, }& t3 R
hw % P0 q4 f& q f) Lr9 |; d5 R9 m R7 h) v+ i
7 t. G8 @/ K+ r `
,t * v* a' D: p& T& U
⊥+ n: U/ S ?0 h6 h; v
% c# X2 m5 V3 {! K
=t−w 2 [& c! `, k" M* X! M$ ~2 x! P
r9 e% `0 o1 Z7 q5 `8 F, f
T , d2 E' U1 ]6 e( B6 U, i! _ 5 P8 K$ K$ {8 ~# B4 b) O r tw 8 C' w5 e$ }* X. T0 w# S( p
r7 \' x6 o9 u1 G$ \
% P$ D0 V- ?; e: A$ M" t" \8 s
.) b1 ]3 E7 B" N( @8 j7 W
因此TransH定义了如下评分函数如表1中所示,需要注意的是,由于关系r:可能存在无限个超平面,TransH简单地令r与wr w_rw . y9 ?6 g+ w# P) B5 x+ L5 L0 a8 x
r , L; ^( f% D/ X & b" A1 Z% C$ a2 m1 A
,近似正交来选取某一个超平面。TransH 使不同的实体在不同的关系下拥有了不同的表示形式,但由于实体向量被投影到了关系的语义空间中,故它们具有相同的维度。 1 b# t8 V, g9 @+ M/ n2 i4 i2 u8 Z4 Q7 q2 E) M; _7 \, K
TransR模型: k) d' b4 ^3 T: g- e4 @
虽然TransH模型使每个实体在不同关系下拥有了不同的表示,它仍然假设实体和关系处于相同的语义空间中,这一定程度上限制了TransH的表示能力。TransR模型则认为,一个实体是多种属性的综合体,不同关系关注实体的不同属性。TransR认为不同的关系拥有不同的语义空间。对每个三元组,首先应将实体投影到对应的关系空间中,然后再建立从头实体到尾实体的翻译关系。如图4.1(c)所示是TransR模型的简单示例。8 x, E, A: V0 m+ L) y
对于每个三元组(h,r,t),我们首先将实体向量向关系r空间投影。具体而言,对于每一个关系r,TransR定义投影矩阵Mr,将实体向量从实体空间投影到关系r的子空间,用h⊥ h_⊥h $ J' w( v% Y2 O' l
⊥' I+ A3 ^1 Q9 f, v8 ^$ E' S
5 `9 {: H3 j, j! U5 H* H9 ~5 W 和t⊥ t_⊥t 3 d# f- B5 y7 i' p
⊥ 1 k( U: l8 ~, v$ S ( S5 z0 a6 x6 y7 u! p6 n0 r 表示如下: ' s' [2 k9 n3 o+ B1 P9 [h⊥=Mrh,t⊥=Mrt. h_⊥=M_r h, t_⊥=M_r t.% `* P% }+ ~3 Z2 I9 ?4 w
h 9 `: O' \9 T3 B$ j1 o
⊥ 3 v6 U# z: B& y j6 N" X3 c / j1 [; `9 z7 y9 K7 N+ u
=M 3 j9 `& p: E, ?r. e* l' b/ g# f6 w+ A+ j) g0 U
8 }; h( P! g- ?# u, R
h,t 8 e& _! `- `; d/ k& Q
⊥# k0 V7 G3 `9 J- y- k! L( Q
9 M Z) K- @9 l" }8 p =M , M: S, C d3 [. R
r8 o" `' u4 m6 I- ~& I9 G/ J9 M6 {
( ]2 O/ B/ E4 n3 ^8 w' ^ t. 5 t" ~6 ^' r3 l& W4 R然后使h⊥+r≈t⊥ h_⊥+r≈t_⊥h , i2 A+ t$ @+ G3 l6 }
⊥ ! X) M* t$ L7 V7 ]# |; p ! e3 j! k% V: ]% L- q% @ +r≈t + N: S9 r0 l- Q/ Q
⊥ O; h$ P1 ]# V, d2 e , o! ^) ?8 v, Y4 X , 评分函数如表1所示。0 P; ~1 P+ f$ ~: D! o+ J
/ @! U* T0 ^& _- a' n7 M0 p$ D+ I W8 ?3 Z! x
图4.1:TransE,TransH和TransR的简要说明4 |# @% i% [1 ^5 Q. [
TransD模型: & K, m3 @% S4 a% k* K 虽然TransR模型较TransE和TransH有显著改进,它仍然有很多缺点: (1) 在同一个关系:下,头、尾实体共享相同的投影矩阵。然而,一个关系的头、尾实体的类型或属性可能差异巨大.例如,对于三元组(美国,总统,奥巴马),美国和奥巴马的类型完全不同,一个是国家,一个是人物。(2)从实体空间到关系空间的投影是实体和关系之间的交互过程,因此TransR让投影矩阵仅与关系有关是不合理的。(3)与TransE和TransH相比,TransR由于引入了空间投影,使得TransR模型参数急剧增加,计算复杂度大大提高。 / f% p: P5 K N0 L9 t* I& ]8 n: w 为了解决这些问题,Ji等人提出了TransD模型。给定三元组(h, r, t), TransD模型设置了2个分别将头实体和尾实体投影到关系空间的投影矩阵M_r1和M_r2,具体定义如下: 8 q1 y9 @2 C( g8 H$ P4 k8 eM1r=wrwTh+I,M2r=wrwTt+I. M_r^1=w_r w_h^T+I, M_r^2=w_r w_t^T+I. 7 t3 [0 y5 @5 rM % J9 `5 F% C- i6 g6 o
r - U; W4 W! |" t$ K2 t5 J' Z. L* W# F19 Q3 `+ v# _( M5 q6 _; j
! _1 U2 w, o$ g% o B& }- y; u
=w 4 R' p* d0 U3 c* Y) _r6 b7 G: l" U8 [0 L
1 v& b, P2 F+ Y" v% m
w - Q6 @; }% ^/ m- \4 ph 2 H, z, q& A' i1 k5 MT 0 E Z8 O/ F" y7 Q) V 7 j, d. m7 n8 o9 C2 M5 Z, t" O
+I,M , l2 u1 S7 ?5 A' S; X5 _: M
r5 T$ f8 e/ E* y
2 * }. r( O6 W2 V% }+ ? & D$ Z. S. u* G
=w 0 p. P) ?9 G& g2 W% [r R- e5 q( Z/ i$ k0 j" B % }4 ~( U7 s K/ f* F w " y) V7 H% f+ N. N9 ~$ L: ?- \
t8 H* K( N" i! U# q' a; h
T1 G+ _( m. n0 n7 R( j
& l. y j- [7 f8 ~# j +I.+ A$ k, i' I) g6 L3 f& }5 o
h⊥=M1rh,t⊥=M2rt. h_⊥=M_r^1 h, t_⊥=M_r^2 t.8 j+ d5 M8 e; q* K5 I( W
h + c: \, o2 a% @: C1 t( b9 h& j⊥ , s' M& `: x/ t# F1 ]- |: N 8 P7 W4 c5 d9 p# z
=M - V7 F% E) t/ L3 m. A
r x) o9 ?% D X) `& i
1/ u. m j0 F) q* |! n1 T
3 _& ^. k. z2 D6 B h,t 4 P3 U! Z% D, O5 w⊥ , s9 _% Z) Y/ \2 @" k* k! o ; k2 q2 K8 y2 h7 c; O- A9 I9 b" z =M 2 V) E/ p% R7 p5 [
r 6 _1 B6 A% C/ D* I2 5 |1 V6 S9 l. _ ~6 P- }! b! ~
t.+ S/ F% P7 g( T$ T- o
$ Y! {! Q. s# k R. K2 p, s
TransSparse模型: ; A" O" T3 t; m, { TranSparse是通过在投影矩阵上强化稀疏性来简化TransR的工作。它有两个版本:TranSparse (共享)和TranSparse (单独)。前者对每个关系r使用相同的稀疏投影矩阵Mr,即:: u7 d$ z* d$ D3 |% H. s1 `
h⊥=Mr(θr)h,t⊥=Mr(θr)t. h_⊥=M_r (θ_r )h, t_⊥=M_r (θ_r)t. 8 F# ?9 J9 v8 P0 [. uh 9 e4 C4 Y, q. Z0 s
⊥8 S. A- N% X$ L1 j9 o. r N
+ z9 A" {( O8 a2 {6 u( }' G =M 8 }" u+ E# K( Y" ^/ N* E7 E
r 6 u T, [8 }% S - I8 I {! R% J+ X2 p (θ ) A5 Q$ A8 c4 P7 q* b2 X
r . i9 E5 X/ y' i2 M 2 t" N$ J: F' H6 z8 \# d/ J4 C t )h,t ' e& l) i6 k4 x5 V( z8 e⊥+ J: b( d; D" |' S! L
! ~0 V4 [$ d8 M* Y4 x* b0 l; B =M ( g$ g( p- S3 e8 @* G) H6 R# Pr+ x" f9 Z6 x: J1 Q0 S
' Y6 J7 s. w% r+ H1 Z
(θ 7 R* I1 U7 Q3 T' M4 ^7 q
r ; M" D$ S0 l2 J1 r, J " v% V* {0 B2 l
)t.- p3 j. A2 b5 Y
后者对于头实体和尾实体分别使用2个不同的投影矩阵Mr1 M_{r1}M 1 [& p% g, {. {' u0 Lr1 ) T v% |' [7 l# Z 8 U( J# c/ z/ X! N
和Mr2 M_{r2}M - p- _4 H3 T% G' {+ }9 Z% B Z; u
r2 3 T% {; _2 y. |* a0 S) Y8 | ) A* s( j5 {; ?7 {. U& O, ^. o2 O
。 ( ]% \- z- o( W' Q8 j& gh⊥=M1r(θ1r)h,t⊥=M2r(θ2r)t. h_⊥=M_r^1 (θ_r^1 )h, t_⊥=M_r^2 (θ_r^2)t./ e+ D( ~1 [4 M7 E
h 8 X; `2 ^3 C5 S0 {( K( }2 g2 g⊥) b& U2 w* J, [; d' e0 k, a
8 R: v8 M4 F" ^ =M " R9 x4 [9 T, ]% W0 r. ar / M2 W5 h8 t* }2 @7 y5 j1 y1: Q2 h+ m. D/ d* Y
0 }/ e: h1 j& K; e3 q/ y
(θ / K# z6 @8 _2 I4 A* S
r: f% T5 M5 r. p7 t8 P N' Z+ D/ @1 C
1 u* a6 Z, g% I9 }. T & [- }+ H P: a0 Y9 f8 d )h,t # |9 u' Q' q( n8 `) H* k' T⊥ 1 U" Y7 K) b5 K g6 P; ` : _- j/ U" G2 \2 ?) V
=M ; a. ^; t0 L. ^7 d0 S4 Y
r, M, I1 i' B6 a" w1 o
2 . S6 Z( [+ n% w5 E3 H3 P$ e+ }" w , v' @! [6 j/ J& u' ~ y
(θ ! O2 P$ H: h6 p. w* u* [$ ^r0 C! z8 b' @. x
24 U I( d- X v7 r
4 ^4 H1 |* F- `
)t.$ @' Y8 o( R( Y* r! X% x
TransSparse模型评分函数如表1所示。通过引入稀疏投影矩阵,TransSparse模型减少了参数个数。1 @* k$ D, g% Q1 ]4 K0 Y
! W" b Y# z, V- G
TransM模型: 5 R6 S0 Z; H0 p4 \1 U! x8 l 除了允许实体在涉及不同关系时具有不同的嵌入之外,提高TransE模型性能可以从降低h+r≈t的要求研究开始。TransM模型将为每个事实(h,r,t)分配特定的关系权重theta_r,定义的评分函数如表1所示。通过对一对多、多对一和多对多分配较小的权重,TransM模型使得t在上述的复杂关系中离h+r更远。 3 N% n3 ^- t2 T: k/ Q9 r& V : o; d/ b( V# `% M4 a& r8 q5 T t* ]ManifoldE模型: ; ?/ i [, |1 s* Y5 Q3 { ManifoldE模型则是对于每个事实三元组(h,r,t)将h+r≈t 转换为为(h+r-t)的L2范式约等于theta_r的平方。同样地,ManifoldE把t近似地位于流形体上,即一个以h+r为中心半径为theta_r的超球体,而不是接近h+r的精确点。评分函数如表1所示。TransF使用了类似的思想。而不是执行严格的翻译h+r≈t,TransF只需要t与h+r位于同一个方向,同时h与t-r也位于同一个方向。则评分函数(即t和h+r匹配,h也要与t-r匹配)如表1所示。: B: F( B. D" L' j! o
; I* W! C/ [4 r3 _% D2 r
TransA模型: 5 V$ h/ U& d. }) e TransA模型为每个关系r引入一个对称的非负矩阵Mr M_rM & ?! q9 I0 }; T4 d
r2 ?2 Z) D9 ?) H- F3 {# `
, { `* P7 j! z0 s
,并使用自适应马氏距离定义评分函数,评分函数如表1所示。通过学习距离度量Mr M_rM & x4 |6 _4 ^, b6 x1 I# `r 4 A4 O; [" X; d & }5 l) W2 A9 R6 a- p8 r: x , TransA在处理复杂关系时更加灵活。Xiao等人认为TransE及其之后的扩展模型均存在2个重要问题:1)评分函数只采用L1或L2距离,灵活性不够;2)评分函数过于简单,实体和关系向量的每一维等同考虑。为了解决这2个问题,Xiao等人提出TransA模型,将评分函数中的距离度量改用马氏距离,并为每一维学习不同的权重。对于每个三元组(h,r,t),TransA模型定义的评分函数如表1所示。其中Mr为与关系r相关的非负权值矩阵。如图4.2所示,(h1,r1,t1) ( h_1, r_1, t_1)(h ) _- h# H: U4 ?8 ^
1+ h0 S( T9 N4 \8 T. u. ^
5 j: W5 T0 j8 _ a! D/ F ,r & O, a" C2 p# E+ n8 n2 J' r: |" L
1- |0 G0 ~2 _% m- S
7 m/ |% k) o, F9 d/ k& e
,t / C$ E) }/ d, ^0 P8 J$ Z; P
1 . x- E% u' q6 F+ }. D6 w. _ ' L" B& H! j# ]7 A9 G2 n( J
)和(h2,r2,t2) (h_2,r_2,t_2)(h 4 Y6 n( R% T5 `4 {( p1 t+ m
2+ y. Q) K% O4 F- a0 H+ K" T* ^
7 Q' s$ V; {% N0 \: o
,r . Y& t: S9 U: T% D. N9 q
2# R+ {, Q1 M3 ?
! e$ m3 }/ F; ~7 F5 V- n
,t + @* Y3 A$ b. |2 a' K0 Z! b2 / W6 s1 @+ N4 b* R# z% h & N6 C: J A2 X& I+ @+ n0 `
)两个合法的事实三元组,t3是错误的尾实体。如果使用欧氏距离,如图4.2(a)所示,错误的实体t3会被预测出来。而如图4.2(b)所示,TransA模型通过对向量不同维度进行加权,正确的实体由于在x轴或者y轴上距离较近,从而能够被正确预测。' l' X. i8 ]& y; N, W/ f