TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
1 介绍
1.1 问题
作者发现在实现时,对于concept(抽象的概念,如老师 (zhangsan, instance, teacher))和instance(具体的概念,如人物(zhangsan,friendof, lisi), zhangsan 和lisi都是具体的实例)目前现有的模型都没有对其进行区分,为了简化操作通常的处理方式是将二者作为实体不加以区分,进行embeding处理,事实上二者在现实师世界总是不同的,下图就详细展示了concept和instance.
并且作者提出一个逻辑推理问题,类似于isA这种关系,中文理解就是“是”意思,如
(
z
h
a
n
g
s
a
n
,
i
n
s
t
a
n
c
e
o
f
,
t
e
a
c
h
e
r
)
∩
(
t
e
a
c
h
e
r
,
s
u
b
C
l
a
s
s
o
f
,
p
e
o
p
l
e
)
⇒
(
z
h
a
n
g
s
a
n
,
i
s
,
p
e
o
p
l
e
)
(zhangsan, instanceof, teacher) \cap (teacher, subClassof, people) \Rightarrow (zhangsan, is, people)
(zhangsan,instanceof,teacher)∩(teacher,subClassof,people)⇒(zhangsan,is,people),这种就是isA的逻辑推理,现在并没有实现相关的推理。
1.2 论文主要解决的两个问题
- Insufficient concept representation
不能区分concept和instance - Lack transitivity of both isA relations
isA这种关系缺少传递性
1.3 思想
将三元组分成三种类型:
- (Instance, Relation, Instance),即(Zhangsan, Friendof, Lisi)
这种就采用常规的TransE模型即可 - (Instance, Relation, Concept),即(Zhangsan, Is, Teacher)
对于实例应该与它们所属的概念相近,将每个concept编码为一个领域,将每个instance编码为同一语义空间中的向量,并利用相对位置对concept和instance之间的关系进行建模。 - (Concept, Relation, Concept),即(Teacher, Is, People)
将这种关系分为四种不同的关系,即(A, Relation, B),A和B之间的关系为B包含于A, 二者无关, 二者相交, A包含于B。
然后将三着进行负采样使用margin-based ranking loss,进行优化。
2 模型
2.1 知识图谱结构
知识图谱分为三类:
- InstanceOf 即(Instance, Relation, Concept)
- SubClassOf 即(Concept, Relation, Concept)
- Relational triple 即(Instance, Relation, Instance)
K G = { C , I , R , S } , 其 中 C , I \mathcal{KG} = \{ \mathcal{C,I,R, S} \}, 其中\mathcal{C, I} KG={C,I,R,S},其中C,I分别表示为concept和instance, R \mathcal{R} R表示所有的关系的集合,S是三种不同分类的总集合,其中小写字母e表示instance类型,c表示concept类型。
2.2 关于推理
推理分为两种不同的类型,即从concept到concept的推理subClassOf-subClassOf,从instance到concept的推理instanceOf-subClassOf。
- instanceOf-subClassOf
( 张 三 , 是 , 教 授 ) ∩ ( 教 授 , 是 , 学 者 ) ⇒ ( 张 三 , 是 , 学 者 ) (张三,是,教授)\cap(教授,是,学者)\Rightarrow (张三,是,学者) (张三,是,教授)∩(教授,是,学者)⇒(张三,是,学者) - subClassOf-subClassOf
( 教 授 , 是 , 学 者 ) ∩ ( 学 者 , 是 , 人 ) ⇒ ( 教 授 , 是 , 人 ) (教授,是,学者)\cap(学者,是,人)\Rightarrow (教授,是, 人) (教授,是,学者)∩(学者,是,人)⇒(教授,是,人)
2.3 TransC
提出一个理论, s ( p , m ) s(\mathcal {p}, m) s(p,m), p是其embedding 向量, m是其作用的领域半径,该理论只对于concept提出的。
InstanceOf Triple Representation(Instance, Relation, Concept)
评分函数为:
其中
i
i
i为instance的embedding,
p
p
p为concept的embedding, m为其作用的领域范围半径。
SubClassOf Triple Representation(Concept, Relation, Concept)
对于三元组
(
c
i
,
r
,
c
j
)
(c_i, r, c_j)
(ci,r,cj), 其中
s
(
p
i
,
m
i
)
,
s
(
p
j
,
m
j
)
分
别
为
c
i
,
c
j
s(p_i, m_i), s(p_j, m_j)分别为c_i, c_j
s(pi,mi),s(pj,mj)分别为ci,cj的领域内容。
d为领域核心之间的距离。
若三元组
(
c
i
,
r
,
c
j
)
(c_i, r, c_j)
(ci,r,cj)是正确的,则效果如下图所示:
- 两个concept相互分开
公式:
- 二者相交
公式:
以上两种目的都是让其不断接近于图(a)。 -
c
j
包
含
c
i
c_j包含c_i
cj包含ci
这个关系正好与图(a)相反
公式:
缩小大的范围,放大小的范围,让二者趋于一致。
Relational Triple Representation(Instance, Relation, Instance)
采取常规的方式TransE的方法。
3 损失函数
对于不同种类的类型的数据,对其进行负采样,负采样内容在其相应的数据类型范围内进行采集。
InstanceOf Triple Representation(Instance, Relation, Concept)
SubClassOf Triple Representation(Concept, Relation, Concept)
Relational Triple Representation(Instance, Relation, Instance)
所有的损失函数共同训练,损失函数汇总: