TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding

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.

TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
并且作者提出一个逻辑推理问题,类似于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)(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 ),这种就是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}K G ={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 (张三,是,学者)(张三,是,教授)∩(教授,是,学者)⇒(张三,是,学者)TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
  • subClassOf-subClassOf
    ( 教 授 , 是 , 学 者 ) ∩ ( 学 者 , 是 , 人 ) ⇒ ( 教 授 , 是 , 人 ) (教授,是,学者)\cap(学者,是,人)\Rightarrow (教授,是, 人)(教授,是,学者)∩(学者,是,人)⇒(教授,是,人)
    TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding

; 2.3 TransC

提出一个理论,s ( p , m ) s(\mathcal {p}, m)s (p ,m ), p是其embedding 向量, m是其作用的领域半径,该理论只对于concept提出的。

InstanceOf Triple Representation(Instance, Relation, Concept)

评分函数为:

TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
其中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)(c i ​,r ,c j ​), 其中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 (p i ​,m i ​),s (p j ​,m j ​)分别为c i ​,c j ​的领域内容。

TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
d为领域核心之间的距离。
若三元组( c i , r , c j ) (c_i, r, c_j)(c i ​,r ,c j ​)是正确的,则效果如下图所示:
TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
  • 两个concept相互分开
    TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
    公式:
    TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
    TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
    公式:
    TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
    以上两种目的都是让其不断接近于图(a)。
  • c j 包 含 c i c_j包含c_i c j ​包含c i ​
    这个关系正好与图(a)相反
    TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
    公式:
    TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
    缩小大的范围,放大小的范围,让二者趋于一致。

Relational Triple Representation(Instance, Relation, Instance)

采取常规的方式TransE的方法。

TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding

; 3 损失函数

对于不同种类的类型的数据,对其进行负采样,负采样内容在其相应的数据类型范围内进行采集。

InstanceOf Triple Representation(Instance, Relation, Concept)

TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding

; SubClassOf Triple Representation(Concept, Relation, Concept)

TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding

Relational Triple Representation(Instance, Relation, Instance)

TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding
所有的损失函数共同训练,损失函数汇总:
TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding

Original: https://blog.csdn.net/REfusing/article/details/124726126
Author: Re:fused
Title: TransC:Differentiating Concepts and Instances for Knowledge Graph Embedding

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/568785/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球