概述:
以前的一些知识图谱嵌入方法由于其浅层的网络结构,不能解决复杂的多关系知识图谱。因此文中针对此种现象,提出了TCKGE——针对于学习多关系知识图谱中复杂的语义信息。TCKGE能够有效的捕获知识图谱中丰富的语义信息,其利用了Transformer来建立深度的等级结构去动态的学习实体和关系的embedding,同时,为了保证获得健壮的embedding,作者也加入了对比学习策略,通过探索几种不同的数据增强策略的有效性来促进优化。
具体方法:
一句话总结就是在分等级transformer的基础上加入了对比学习。
TCKGE由四部分组成:
1,底部的Shared Entity Encoder:提供了实体-关系对的embedding。其输入的数据类型是三元组,包含了三个embedding部分:一个特殊的token[CLS],原实体embedding,和在一个三元组内相应的关系embedding。将输入的三部分看做一个序列,为了辨别三者在序列中的位置,加入了position embedding。
2,一个数据augmentation模型:产生不同的视图。其输入是源实体embedding的一跳关系图
3,顶部的shared context encoder:聚合来自实体邻居的信息,与实体编码器类似,context编码器输入包含三部分——一个特殊的token[GCLS],原实体-关系对表达和领居实体-关系对表达
目标实体的得分如下计算公式:
之后再使用softmax进行归一化:
作者也引入了MEM策略来平衡在contextualization 过程中源实体和图context信息的利用
最后使用average pooling来存储图context信息
4,一个对比损失层:它最大化了一个图表示和从同一个图扩充的相应版本之间的一致性,同时保持它与同一批中的其他图表示之间的距离。
在每个训练步骤中,首先从G中随机抽样N个三元组,然后统一抽样原实体的邻居去构建N个子图作为一个batch,当augmentation后就有2N个子图。负对没有明确的采样,而是从同一批中的其他2(N-1)个子图中生成。最后其损失函数表达如下:
将上述三种损失函数相加,即是最终TCKGN的损失函数: