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这种关系,中文理解就是“是”意思,如(zhangsan,instanceof,teacher)∩(teacher,subClassof,people)⇒(zhangsan,is,people)(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)
KG={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)
评分函数为:
其中iii为instance的embedding, ppp为concept的embedding, m为其作用的领域范围半径。
SubClassOf Triple Representation(Concept, Relation, Concept)
对于三元组(ci,r,cj)(c_i, r, c_j)(ci,r,cj), 其中s(pi,mi),s(pj,mj)分别为ci,cjs(p_i, m_i), s(p_j, m_j)分别为c_i, c_js(pi,mi),s(pj,mj)分别为ci,cj的领域内容。
d为领域核心之间的距离。
若三元组(ci,r,cj)(c_i, r, c_j)(ci,r,cj)是正确的,则效果如下图所示:
- 两个concept相互分开
公式:
- 二者相交
公式:
以上两种目的都是让其不断接近于图(a)。 - cj包含cic_j包含c_icj包含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)
所有的损失函数共同训练,损失函数汇总: