软件学报  2022, Vol. 33 Issue (9): 3331-3346   PDF    
一种结合层次化类别信息的知识图谱表示学习方法
张金斗 , 李京     
中国科学技术大学 计算机科学与技术学院, 安徽 合肥 230026
摘要: 知识图谱表示学习方法旨在将知识图谱中的实体和关系嵌入到低维连续的向量空间. 由于知识图谱本身具有数据稀疏性的问题导致学习出的向量表示性能欠缺. 实体的类别信息包含了丰富的语义, 引入它能够更好地指导向量表示的学习. 已有结合类别信息的表示学习方法要么不支持类别信息的层次化结构或者关系的类别约束, 要么对层次化结构的建模过于复杂. 提出一种结合层次化类别信息的表示学习方法. 我们将类别嵌入到不同的向量空间, 使用偏序关系建模类别的层次化结构. 同时, 将实体向量表示映射到类别向量空间中, 要求实体与其所属类别满足偏序关系, 且三元组的实体与其关系的类别约束也满足偏序关系. 最后, 在多个数据集上执行链接预测、三元组分类和实体分类任务的实验结果表明我们的方法相比其他基线方法学习出的向量表示性能更好.
关键词: 知识图谱表示学习    类别信息    层次化结构    偏序关系    
Knowledge Graph Embedding Combining with Hierarchical Type Information
ZHANG Jin-Dou , LI Jing     
School of Computer Science and Technology, University of Science and Technology of China, Hefei 230026, China
Abstract: Knowledge graph embedding aims to embed entities and relations into a low-dimensional continuous vector space. Due to the data sparsity of knowledge graphs, the performance of knowledge graph embedding is poor in vector representation. Since the type information of entities encompasses rich semantic information, it is introduced to improve the performance. However, the existing methods either do not support the hierarchical structure of type information or the type constraint of relations or complicate the model of the hierarchical structure. This study proposes a novel knowledge graph embedding method combining with hierarchical type information. Specifically, types are embedded into different vector spaces and the hierarchical structure of types is modeled by the partial order relation. Moreover, the vector representations of entities are mapped into the type vector space so that entities and their types can be required to satisfy the partial order relation. The entities and their type constraint of relations in triples are also made to satisfy the partial order relation. Finally, experimental results of link prediction, triple classification and entity typing task on four datasets show that the proposed method outperforms the state-of-the-art baseline methods in vector representation performance.
Key words: knowledge graph embedding    type information    hierarchical structure    partial order relation    

知识图谱(knowledge graph), 通常也被称为知识库, 是以一种有向图的结构描述客观世界的事物及其相互联系. 其中, 图的顶点由实体组成, 用来表示客观世界的事物; 边则由关系组成, 表示实体之间的相互联系. 一般地, 边使用事实三元组(h,r,t)的形式表示和存储, 其中, h, rt分别表示头实体、关系和尾实体. 例如, (北京, 首都, 中国)表示“北京是中国的首都”. 作为人工智能领域中重要的基础技术, 许多大规模知识图谱, 比如DBpedia[1]、YAGO[2]和Freebase[3], 被构建出来为语义搜索[4]、智能问答[5, 6]、信息抽取[7]、推荐系统[8]等应用提供服务并为它们知识赋能.

为了获取知识图谱中实体和关系潜在的语义信息, 同时方便下游任务使用知识图谱, 知识图谱的分布式表示(distributed representations)学习技术被提出并被广泛研究和应用. 知识图谱表示学习, 也称为知识图谱嵌入(embeddings), 是将实体和关系分别映射到低维连续的向量空间中, 对应的向量表示代表了它们的语义信息. 虽然知识图谱嵌入可以快速有效地进行知识推理并方便其他任务使用, 但是知识图谱本身具有数据稀疏性的问题导致学习出的知识图谱嵌入性能欠缺, 无法很好地编码稀疏的实体. 于是, 研究人员提出通过引入一些外部信息或者先验知识的方式来提升表示学习的性能, 这些外部信息包括实体的文本描述信息[9, 10]、类别信息[11-13]和关系构成的一阶谓词逻辑规则[14-16]等. 其中, 实体的类别信息作为知识图谱本体概念的一部分, 包含了丰富的语义信息, 能够很好地指导实体和关系向量表示的学习.

实体的类别信息放到知识图谱中可以用“属于”关系表示, 它除了反映某个实体属于哪个类别, 还具有另外两个重要的特性. 第一, 类别的层次化结构. 类别与类别之间可能存在从属关系, 这种从属关系构成层次化结构, 它具有反对称性和传递性, 对实体的向量表示学习具有指导意义. 如图1所示, 实体“艾伦·图灵”属于类别“计算机科学家”和“数学家”, 同时这两个类别都属于类别“受过教育的人”. 即使知识图谱中没有给出“艾伦·图灵”属于“受过教育的人”, 通过层次结构我们同样可以得到这个重要的信息. 第二, 关系的类别约束. 每个关系扮演着各自的角色, 它规定了关系关联的头实体和尾实体分别应该属于什么类别. 如图1所示, 关系“毕业于”对应的头实体应该属于类别“受过教育的人”, 而尾实体应该属于类别“教育机构”. 在表示学习的过程中, 该信息能够保证关系与满足其类别约束的实体之间语义相关, 而与不满足约束的实体不相关, 更加准确地学习出它们的潜在语义.

Fig. 1 Example of the hierarchical types of entity and the type constraints of relation 图 1 实体类别信息层次化结构和关系类别约束示例

如何把类别的层次化结构和关系的类别约束融合到已有的知识图谱表示学习中是引入实体类别信息的主要挑战. 现有的相关工作可以分为3类: (1)只考虑关系的类别约束. 该类工作[9]或者对每个关系只训练满足其类别约束的实体或者使用这些约束进行负样本采样. (2)只考虑类别的层次化结构. 该类工作可以再细分成两类: 第1类工作[17-19]把实体和类别映射到同一个向量空间, 使用空间中的区域建模类别, 区域之间的包含关系表示类别的层次化结构. 然而, 实体和类别的向量空间维度应该是不同的, 类别通常比实体更稀疏且语义也不一致; 另外, 这种基于区域的方法通常会引入其他参数, 增加额外的开销. 第2类工作[20, 21]将类别映射到不同的低维向量空间, 同时使用线性变换的方式建模类别的层次化结构, 然而它们无法很好地表达层次结构的反对称性和传递性. (3)同时考虑了类别的层次化结构信息和关系的类别约束. 该类工作[12, 22]使用投影矩阵建模类别, 并以矩阵的线性组合或者矩阵乘积的编码方式表达类别的层次结构信息, 然而这种方式同样无法表达其反对称性和传递性的特点.

通过对已有工作的分析, 我们发现实体和类别应该在不同的向量空间中建模, 同时在类别向量空间中要保证类别层次结构的反对称性和传递性. 受到Order Embedding工作[23]的启发, 把它使用偏序关系建模词语、短语与图片之间层次结构的方法用来建模类别的层次结构, Order Embedding可以在不额外增加参数的情况下让有偏序关系的点在向量空间中仍然有序. 另外, 已有工作大多都假设关系的类别约束是已知的. 然而, 事实上并不是所有的知识图谱都能够轻易地获取到这些信息. 虽然Krompaß 等人的工作[11]有考虑到关系的类别约束未知的情况, 并将关系对应的头实体(尾实体)集合近似作为它的类别约束, 但是他们独立地对待每个关系的类别约束, 使用这些约束进行负样本采样, 而忽略了关系之间类别约束的联系(他们对应的类别可能是相同的或者是具有层次结构的). 因此, 本文提出一种新颖的结合层次化类别信息的知识图谱表示学习方法HiTE (hierarchy-aware type embodied knowledge graph embedding). 对于类别信息, 和JOIE模型[20]类似, 我们将类别映射到不同的向量空间中学习它们的向量表示, 不同的是, 对于类别向量空间我们使用Order Embedding偏序关系建模类别的层次化结构, 保证学习出的类别向量表示满足偏序关系, 这样便可以保证具有层次结构的类别与类别之间具有反对称性和传递性. 同时, 我们将实体映射到类别向量空间, 保证它与所属类别满足偏序关系. 对于关系的类别约束, 我们将关系对应的头实体(尾实体)映射到类别的向量空间中, 并保证它与约束关系的类别满足偏序关系. 更重要地是, 即使关系的类别约束信息未知, 我们同样可以使用该约束. 具体地, 我们为每个关系分别指定不同的约束头实体和尾实体的类别, 根据知识图谱已有的三元组数据可以自动学习出这些类别的结构信息, 从而进一步指导实体向量表示的学习.

本文的主要贡献如下.

1) 首次将偏序关系建模层次结构的方法引入到知识图谱表示学习中, 使用它编码实体的类别层次化结构和关系的类别约束, 从而提高表示学习的能力;

2) 我们的方法在类别信息未知的情况仍然可以利用关系的类别约束, 帮助提高表示学习的能力;

3) 在4个基准数据集上的实验结果表明我们提出的方法能够很好地提高已有知识图谱嵌入模型的性能.

1 形式化定义

在本节中, 我们将给出与本文相关的概念的定义和需要用到的基本数学符号.

定义1. 知识图谱. 给定一个有向图 $ G = (E, R, T) $ 表示知识图谱. 其中, $ E $ 表示实体的集合, $ R $ 表示关系的集合, $ T $ 表示三元组的集合, 即 $ T = \{ (h, r, t)|h, t \in E, r \in R\} \subseteq E \times R \times E $ .

定义2. 实体的类别信息. 我们给定C表示所有类别的集合. 集合 $ {I_e} = \{ (e, c)|e \in E, c \in C\} $ 表示实体与其所属类别的集合; $ {I_c} = \{ ({c_i}, {c_k})|{c_i}, {c_k} \in C \wedge {c_i} \ne {c_k}\} $ 集合表示类别与类别之间的从属关系的集合, 即类别的层次化结构; $ DOMAIN = \{ ({c_h}, r)|r \in R, {c_h} \in C\} $ 表示关系与其对应头实体类别的集合; $ RANGE = \{ (r, {c_t})|r \in R, {c_t} \in C\} $ 表示关系与其对应尾实体类别的集合.

定义3. 知识图谱表示学习. 知识图谱表示学习将实体和关系分别映射到低维连续的向量空间, 并学习实体和关系的向量表示. 给定实体向量 $ {h}, {t} \in {\mathbb{R}^{{d_e}}} $ 和关系向量 $ {r} \in {\mathbb{R}^{{d_r}}} $ ( $ {d_e}, {d_r} $ 分别为实体和关系向量空间的维度大小), 知识图谱表示学习模型通过设计一个评分函数 $ f:E \times R \times E \to \mathbb{R} $ , 衡量输入的三元组的真实性, 评分函数的值越大表示三元组越有可能为真, 通过最大化所有已知三元组的评分函数值, 学习出实体和关系的向量表示.

定义4. 负样本采样. 知识图谱的三元组数据在表示学习过程中被视为正样本, 为了模型的健壮性一般也需要负样本. 但是, 知识图谱的负样本无法直接给出, 因为不在知识图谱中的三元组也可能是真的. 构造负样本普遍采用的方法是随机地将已有三元组的头实体或者尾实体用其他实体替换进行采样. 定义负样本集合 $ \tilde T = \{ (h', r, t)|(h, r, t) \in T \wedge h \ne h' \wedge h' \in E\} \cup \{ (h, r, t')|(h, r, t) \in T \wedge t \ne t' \wedge t' \in E\} $ , 使用均匀分布或者伯努力分布从中采样负样本进行训练. 此外类别信息的负样本采样也使用类似上面的方法, 我们可以定义 $ {\tilde I_e} = \{ (e, c')|(e, c) \in {I_e} \wedge c \ne c' \wedge c' \in C\} $ , $ {\tilde I_c} = \{ ({c_i}, {c'_k})|({c_i}, {c_k}) \in {I_c} \wedge {c_k} \ne {c'_k} \wedge {c'_k} \in C\} $ .

2 相关工作

在本节中, 我们将概述已有的基础知识图谱表示学习模型, 结合类别信息的表示学习模型以及已有的层次结构建模的工作.

2.1 基础知识图谱表示学习模型

根据评分函数设计原理的不同, 我们可以将现有的表示学习模型分为以下3类, 有关这些模型更多的信息详见综述文献[24-26].

1) 基于翻译的模型. 该类模型把关系向量看作是头实体向量到尾实体向量的平移操作, 通过计算平移后的头实体与尾实体向量之间的欧式距离来衡量三元组的真实性. 其中, TransE[27]是最具代表性的模型. 给定一个三元组 $ (h, r, t) $ , 它假设尾实体向量t等于头实体向量h和关系向量r的和, 即 $ {t} \approx { h} + {r} $ . 它的评分函数和损失函数如表1所示.

Table 1 Three Representative Knowledge Graph Embedding Models 表 1 3种代表性知识图谱表示学习模型

2) 线性模型. 该类模型把关系向量看作是线性变换操作, 通过计算线性变换后的头实体和尾实体向量的相似度来衡量三元组的真实性. 其中, DistMult[28]是最简单且被广泛使用的模型. 它将关系向量r对角化变成对角矩阵, 作为线性变换矩阵, 使用该变换矩阵将头实体向量映射到尾实体向量. 它的评分函数和损失函数如表1所示.

3) 基于神经网络的模型. 该类模型利用多层神经网络非线性变换的特点, 计算三元组的概率来衡量三元组的真实性. 其中, ConvE[29]使用卷积层和全连接层神经网络建模实体与关系之间的潜在语义, 它的评分函数和损失函数如表1所示.

2.2 结合类别信息的知识图谱表示学习模型

实体的类别信息作为知识图谱本体概念的一部分, 能够用来补充实体和关系的语义信息. 因此, 有许多研究人员尝试将类别信息结合到知识图谱表示学习的模型中从而改进表示学习的性能. Guo等人[13]首先提出了语义平滑嵌入的方法, 要求属于同一类别的实体在向量空间中彼此邻近. 它使用两种学习算法衡量同一类别下实体间的距离, 并将其作为正则项约束实体嵌入的学习. 该方法的缺点是它假设一个实体只能属于一种类别, 且无法建模类别的层次结构和关系的类别约束. Krompaß 等人[11]的工作考虑了关系的类别约束, 并把它引入到3种已有的知识图谱嵌入模型中, 包括TransE、线性模型RESCAL[30]和一个多路神经网络模型. 对于RESCAL模型, 该工作通过约束每个关系只训练满足其DOMAINRANGE集合对应类别下的实体, 将关系的类别约束集成到该模型中; 对于TransE和神经网络模型则约束它们只从属于DOMAINRANGE集合里对应类别的实体中采样获取负样本. 另外, 作者指出关系的类别约束信息通常是缺失的, 因此他们提出本地闭合世界假设LCWA (local closed-world assumptions), 利用知识图谱中已知的三元组, 将关系对应的头实体(尾实体)集合近似作为它的类别约束. TKRL[12]同时考虑了类别的层次化结构和关系的类别约束, 它把类别看作是投影矩阵, 使用矩阵的线性组合或者矩阵乘积的编码方式表达类别的层次结构信息, 然后对每个关系根据其类别约束以及类别的层次化结构, 计算得到两个类别投影矩阵作为约束分别作用到头尾实体向量上. 此外, TKRL使用LCWA假设进行负样本采样. 该方法的缺点是要求关系的类别约束信息都是已知的; 另外, 将每个类别建模成投影矩阵, 这增加了大量额外的参数和计算量. TEKRL方法[22]放宽了TKRL的要求, 允许关系的类别约束未知, 采用注意力机制, 分别以直接(余弦相似性)和间接(缩放点积)的方式来计算注意力分数, 以此得到实体类别和三元组关系之间的相关性, 用来表示关系的类别约束. 然而, 它们编码类别的层次结构信息的方式并没有表达其反对称性和传递性的特点, 无法准确地建模类别之间的层次结构.

最近提出的JOIE模型[20], 将知识图谱和其本体概念信息融合在一起, 相互利用各自具备的语义信息, 学习出更全面的知识图谱嵌入. 实体的类别信息作为本体概念的一部分, JOIE使用了一种新的方法对其建模. 它将类别映射到不同的低维向量空间, 通过线性变换将实体向量映射到该空间上, 映射后的实体要求尽可能地与它所属类别的位置距离相近并远离不属于的类别; 同样地, 对于类别的层次结构, 类别与类别之间的从属关系也通过这种线性变换的方式实现. 但是这种用线性变换建模层次结构的方式无法很好地表达层次结构的反对称性和传递性, 并且JOIE没有利用到关系的类别约束. On2Vec[21]方法使用类似JOIE的思路建模本体知识图谱中概念(类别)的层次化关系, 它也是让具有层次结构的概念在向量空间中尽量相互邻近, 不同的是它使用余弦距离衡量变换后的概念是否邻近, 而JOIE使用的是欧式距离. KEC方法[31]同样使用类别向量空间, 它以类别为桥梁, 建立一个实体与它所属类别下的其他实体之间的上下文联系, 使用Skip-gram模型[32]学习实体在该空间上的向量表示, 然后将三元组向量投影到该空间的超平面, 保证其满足类别的约束.

2.3 层次结构建模

在实际应用中, 有许多数据具有层次化结构, 比如词语与词语之间的上下位关系, 商品的分类目录等等. 为了表示层次化结构数据, 研究人员尝试建模层次结构, 学习出具有层次特征的向量表示. 这方面的相关工作可以分为3类: 第1类是基于区域的模型. 该类工作利用空间中的区域建模类别, 区域之间的包含关系表示层次化结构, 该类的代表性工作包括TransC[17]、nball[18]和Box Embeddings[19]. TransC模型使用实体所在向量空间中的球体表示类别, 球体之间的包含关系表示类别的层次化结构. nball模型使用相同的想法建模类别, 不同的是它使用后处理的方式增加类别的语义信息, 把实体也用球体来表示, 并对不同的关系三元组下的头尾实体构造不同的球体. Box Embedding方法把类别看作是实体向量空间中的超矩形, 超矩形之间的包含关系则表示类别的层次化结构. 这类工作都把实体和类别放在同一个向量空间中, 没有区分它们之间的语义结构差异, 并且这类工作通常会引入其他参数(比如球体半径), 增加额外的空间和时间开销; 第2类是基于排序学习的模型. 该类工作主要集中在对细粒度的实体分类的研究, 它通过对层次化结构中不同层设定不同的间隔值, 学习出类别之间的排序关系, 这种排序关系反映了类别之间的层次结构, 该类的代表性工作包括AFET[33, 34]和Chen等人[35]的工作, 该类工作的缺点是无法学习出子类别有多个父类别的情况; 第3类是基于向量的方向和模值的模型. 该类工作集中在词语蕴含关系的研究中, 它使用词语向量间的余弦相似度和向量的模值建模词语间的上下位层次结构. 向量间的余弦相似度越大则它们越有可能具有层次关系, 其中向量的模越大表示该向量处于层次结构的越上层位置, 该类的代表性工作包括LEAR[36]和它的扩展工作[37], 该类工作的缺点和第2类工作类似, 当一个词语有多个不相关的上位词时, 这些上位词会被错误地学习出有上下位关系. 除此之外, 比较有代表性的工作还有Order Embeddings[23]和Gaussian Embeddings[38]. Order Embeddings使用偏序关系建模层次结构, 要求有层次关系的点在向量空间中始终保持有序. 而Gaussian Embeddings使用概率密度作为向量表示, 把每个词语建模成一个高斯分布, 词语之间的KL散度(Kullback-Leibler divergence)代表了它们的层次关系. 另外, 最近越来越多的研究人员[39-41]开始使用双曲空间建模层次结构. 在本文中, 我们使用Order Embeddings的想法, 将类别映射到不同的向量空间中, 要求它们满足偏序关系以此建模它们的层次结构.

3 我们的方法

在本节中, 我们详细介绍如何将具有层次化结构的类别信息和关系的类别约束结合到已有的知识图谱表示学习的模型中. 图2给出了我们的方法在二维向量空间上的示例, 我们将类别映射到不同的向量空间中学习它们的向量表示. 首先, 通过要求该空间里具有从属关系的类别与类别之间保持偏序关系, 建模类别的层次结构; 然后, 我们使用线性变换函数将在实体向量空间中的实体映射到类别向量空间, 同时保证变换后的实体与它所属类别也有偏序关系; 最后, 将三元组中的头实体和尾实体映射到类别向量空间, 分别与三元组中的关系对应的类别约束保持偏序关系. 具体地, 第3.1节给出如何使用偏序关系建模类别的层次结构. 第3.2节描述了如何实现关系的类别约束. 第3.3节介绍如何将类别信息结合到知识图谱嵌入模型中联合训练学习实体、关系以及类别的向量表示.

Fig. 2 Example of how HiTE models the hierarchical types and the type constraints of relation 图 2 HiTE建模类别层次化结构和关系类别约束示例

3.1 类别的层次结构建模

在类别的层次结构中, 类别与类别之间的关系具有自反性、反对称性和传递性, 可以把它视为偏序关系. 我们需要解决的问题是如何将满足偏序关系的类别映射到向量空间以后仍然保持有序. 这样的映射函数需要满足的性质如下定义所示:

定义5. 类别向量空间映射函数. 我们给定映射函数 $ F:(C, { \preccurlyeq _C}) \to (Y, { \preccurlyeq _Y}) $ . 其中, C是类别的集合, Y是类别向量空间. 我们要求对于 $ \forall u, v \in C $ , 如果有 $ u{ \preccurlyeq _C}v $ 当且仅当 $ F(u){ \preccurlyeq _Y}F(v) $ .

我们选择这样一个满足偏序关系的向量空间 $ Y = \mathbb{R}_ + ^d $ , 即向量空间的每个坐标值都是正数, 并且对于 $ \forall {x}, {y} \in Y $ , 如果 $ {x}{ \preccurlyeq _Y}{y} $ 当且仅当 $ \wedge _{i = 1}^d{{x}_i} \geqslant {{y}_i} $ , 这表示坐标值越小类别的概念越概括, 值越大类别越具体. 该向量空间的偏序关系约束可以使用公式(1)所示的惩罚函数实现.

$ P({x}, {y}) = {\left\| {{\text{ }}{{\left[ {{y} - {x}} \right]}_ + }{\text{ }}} \right\|_2} $ (1)

其中, 函数 $ {[{z}]_ + } $ 只保留输入向量 $ {z} $ 的正数部分, 其余部分为0, 即 $ {[{z}]_ + } = \max \left\{ {0, {z}} \right\} $ . 可以看到, $ {x}{ \preccurlyeq _Y}{y} $ 当且仅当 $ P({x}, {y}) = 0 $ . 当不满足偏序关系, $ P({x}, {y}) > 0 $ . 因此, 我们可以使用一个最大间隔损失函数, 去训练学习满足偏序关系的类别向量表示, 如公式(2)所示. 其中, $ {I_c} $ 是类别之间层次关系的集合, $ (u, v) $ 是满足偏序关系的正样本, $ (u', v') $ 是不满足的负样本, 它是通过第1节定义的负样本采样策略生成的. $ {u} = F(u) $ , $ {v} = F(v) $ 分别是类别 $ u, v $ 的向量表示, 超参数 $ \gamma $ 是区分负样本的间隔.

$ {\mathcal{L}_{HT}} = \frac{1}{{\left| {{I_c}} \right|}}\sum\limits_{(u, v) \in {I_c}} {P({u}, {v})} + \frac{1}{{\left| {{{\tilde I}_c}} \right|}}\sum\limits_{(u', v') \in {{\tilde I}_c}} {{{\left[ {\gamma - P({u'}, {v'})} \right]}_ + }} $ (2)
3.2 实体和关系的类别约束建模

为了实现实体的类别约束, 我们将实体向量映射到类别向量空间中, 要求其与所属类别向量满足偏序关系. 首先, 我们使用一层神经网络作为线性变换函数将实体向量映射到类别向量空间, 该变换函数定义如下所示:

$ \psi ({e}) = \delta \left( {{W} \cdot {e} + {b}} \right), {\text{ }}\forall (e, c) \in {I_e} $ (3)

其中, $ {W} \in {\mathbb{R}^{d \times d'}} $ 是权值矩阵, $ {b} \in {\mathbb{R}^{d'}} $ 是偏置向量, $ \delta ( \cdot ) $ 是激活函数, 这里我们使用ReLU函数. 然后, 我们使用第3.1节中的惩罚函数 $ P({x}, {y}) $ 定义如下损失函数学习实体和类别在类别向量空间中的偏序关系.

$ {\mathcal{L}_{ET}} = \frac{1}{{\left| {{I_e}} \right|}}\sum\limits_{(e, c) \in {I_e}} {P(\psi ({e}), {c})} + \frac{1}{{\left| {{{\tilde I}_e}} \right|}}\sum\limits_{(e, c') \in {{\tilde I}_e}} {{{\left[ {\gamma - P(\psi ({e}), {c'})} \right]}_ + }} $ (4)

和实体的类别约束类似, 我们将每个三元组的头实体和尾实体向量映射到类别向量空间中, 使其与三元组的关系对应的头实体和尾实体类别满足偏序关系. 我们使用公式(5)定义的损失函数, 学习关系的类别约束.

$ {{\cal L}_{RT}} = \frac{1}{{\left| T \right|}}\sum\limits_{\scriptstyle(h,r,t) \in T \wedge \atop {\scriptstyle({c_h},r) \in DOMAIN \wedge \atop \scriptstyle(r,{c_t}) \in RANGE}} {\left( {P(\psi ({h}),{{c}_{h}}) + P(\psi ({t}),{{c}_{t}})} \right)} + \frac{1}{{\left| {\tilde T} \right|}}\sum\limits_{\scriptstyle(h',r,t') \in T \wedge \atop {\scriptstyle({c_h},r) \in DOMAIN \wedge \atop \scriptstyle(r,{c_t}) \in RANGE}} {\left( {{{\left[ {\gamma - P(\psi ({h'}),{{c}_{h}})} \right]}_ + } + {{\left[ {\gamma - P(\psi ({t'}),{{c}_{t}})} \right]}_ + }} \right)} $ (5)

特别值得一提的是, 本文假设在关系的类别约束, 即关系的DOMAINRANGE集合, 中每个关系只对应一个头实体类别和一个尾实体类别. 而实际应用中人工给定或者自动设定的关系对应的头(尾)实体类别标签可能有多个, 比如“毕业于”关系设定的头实体类别标签可能有“数学家”“科学家”和“哲学家”. 对于这种一对多的情况, 我们的方法仍然可以支持, 只需要增加一个虚拟类别, 令给定的多个头(尾)实体类别都属于这个类别, 然后使用该虚拟类别作为关系的类别约束即可.

3.3 结合层次化类别信息的知识图谱表示学习

由于我们将类别映射到不同于实体和关系的向量空间上, 这使得把类别信息和大部分已有知识图谱嵌入模型结合在一起变得简单直接. 假设已有知识图谱嵌入模型的评分函数和损失函数分别为 $ f(h, r, t) $ ${\mathcal{L}_{\rm{KG}}}$ . 本文使用DistMult模型作为基础的知识图谱嵌入模型, 因此评分函数和损失函数定义为: $ f(h, r, t) = {{h}^ \top } \cdot diag\left( {r} \right) \cdot {t} $ , ${\mathcal{L}_{\rm{KG}}} = \displaystyle\sum\nolimits_{(h, r, t) \in T \cup \tilde T} {\log \left( {1 + \exp \left( { - y \cdot f(h, r, t)} \right)} \right)}$ , 如表1所示. 接下来, 我们从3个方面讨论如何结合层次化类型信息.

1) 如果类别的层次化结构, 实体所属类别以及关系的类别约束都是给定的, 则将它们的损失函数线性组合在一起, 联合训练学习实体、关系和类别的向量表示. 这样得到的联合损失函数如公式(6)所示:

$ {\mathcal{L}_{\rm{ALL}}} = {\mathcal{L}_{\rm{KG}}} + \alpha {\mathcal{L}_{\rm{RT}}} + ({\mathcal{L}_{\rm{HT}}} + {\mathcal{L}_{\rm{ET}}}) + \lambda {\mathcal{L}_{\rm{reg}}} $ (6)

其中, $ \alpha $ 为关系的类别约束部分的权重, ${\mathcal{L}_{\rm{reg}}}$ 表示正则项, 它是对实体和关系嵌入的 $ {l_2} $ 正则化, $ \lambda $ 为正则项的权重. 同时, 我们定义新的评分函数衡量三元组的真实性, 如公式(7)所示:

$ {f_{\rm{all}}}(h, r, t) = \sigma \left( {f(h, r, t) + \alpha \left( {P(\psi ({h}), {{c}_{h}}) + P(\psi ({t}), {{c}_{t}})} \right)} \right) $ (7)

其中, $ {{c}_{h}} $ $ {{c}_{t}} $ 分别是关系 $ r $ 对应的头实体和尾实体的类别向量, $ \sigma $ 是Sigmoid函数. 算法1给出了损失函数 ${\mathcal{L}_{\rm{ALL}}}$ 训练过程.

2) 如果实体的类别信息、类别的层次化结构和关系的类别约束没有给定, 我们使用无监督的方式去学习关系对应的类别的向量表示. 我们假定每个关系对应的头实体和尾实体的类别都不同, 并为每个类别设置一个类别标签, 这样便可以得到DOMAINRANGE集合, 然后使用 ${\mathcal{L}_{\rm{RT}}}$ 进行训练. 类似LCWA假设, 我们根据知识图谱自身的三元组数据可以近似地学习出关系的类别约束. 最后, 我们使用公式(8)定义的损失函数进行联合训练.

$ {\mathcal{L}_{\rm{TYPE\_UNKNOWN}}} = {\mathcal{L}_{\rm{KG}}} + \alpha {\mathcal{L}_{\rm{RT}}} + \lambda {\mathcal{L}_{\rm{reg}}} $ (8)

3) 如果关系的类别约束未知, 而其他类别信息已知, 我们同样可以使用2)中的方法加入关系的类别约束.

算法1. 结合给定类别信息的知识图谱嵌入算法.

输入: 训练数据集(三元组集合T, 实体与类别集合 $ {I_e} $ , 类别与类别集合 $ {I_c} $ ), 实体集E, 关系集R, 类别集C, 关系头实体集合DOMAIN, 关系尾实体集RANGE, 实体关系嵌入维度d, 类别嵌入维度 $ d' $ , 间隔γ, 权重α和学习率η;

输出: 实体, 关系和类别的嵌入Θ.

① 初始化:e, runiform(0, 1), cuniform(0, 10) for $ \forall {e} \in E, {r} \in R, {c} \in C $ ; Wuniform(0, 1), b0

② for n ← 1 to N /* N为迭代次数*/

③  Sample a mini-batch $ {T^b}, I_e^b, I_c^b $ from $ T, {I_e}, {I_c} $ ; /*采样一个最小批量大小为b的训练数据集*/

④  Generate a set of negative triples $ {\tilde T^b} $ , sets of negative pairs $ \tilde I_e^b, \tilde I_c^b $ for $ {T^b}, I_e^b, I_c^b $ ; /*负样本采样*/

⑤   ${\Theta ^{(n)}} \leftarrow {\Theta ^{(n - 1)}} - \eta \nabla {{\cal L}_{\rm{ALL}}}$ ; /*计算损失函数梯度, 更新嵌入的值*/

⑥ end for

算法2. 类别信息未知的知识图谱嵌入算法.

输入: 三元组集合T, 实体集E, 关系集R, 实体关系嵌入维度d, 类别嵌入维度 $ d' $ , 间隔γ, 权重α和学习率η;

输出: 实体, 关系和类别的嵌入Θ.

C ← Ø, DOMAIN ← Ø, RANGE ← Ø;

type_label ← 0; /*类别标签生成器*/

③ for rR do

④   $ c_h^r $ type_label; type_labeltype_label +1;

⑤   $ c_t^r $ type_label; type_labeltype_label +1;

⑥   $ C \leftarrow C \cup \{ c_h^r\} \cup \{ c_t^r\} $ ;

⑦   $ DOMAIN \leftarrow DOMAIN \cup \{ (c_h^r, r)\} $ ;

⑧   $ RANGE \leftarrow RANGE \cup \{ (r, c_t^r)\} $ ;

⑨ end for

⑩ 初始化:e, runiform(0, 1), cuniform(0, 10) for $ \forall {e} \in E, {r} \in R, {c} \in C $ ; Wuniform(0, 1), b0;

⑪ for n ← 1 to N /* N为迭代次数*/

⑫  Sample a mini-batch $ {T^b} $ from T; /* 采样一个最小批量大小为b的训练数据集*/

⑬  Generate a set of negative triples $ {\tilde T^b} $ for $ {T^b} $ ; /*负样本采样*/

⑭   ${\Theta ^{(n)}} \leftarrow {\Theta ^{(n - 1)}} - \eta \nabla {{\cal L}_{\rm{TYPE\_UNKNOWN}}}$ ; /*计算损失函数梯度, 更新嵌入的值*/

⑮ end for

3.4 算法复杂度分析

我们以DistMult模型为基础知识图谱嵌入模型为例, 对HiTE算法的时间和空间复杂度进行分析说明. 我们定义 $ {n_e} = \mid E\mid , {n_r} = \mid R\mid , {n_c} = \mid C\mid $ 分别表示知识图谱中实体的数量, 关系的数量和类别的数量; $ d, d', b $ 分别表示实体和关系的向量空间维度大小, 类别的向量空间维度大小, 以及训练过程中每一次迭代训练的一个最小批量大小. 在一次迭代过程中, DistMult模型的空间和时间复杂度为 $ \mathcal{O}({n_e}d + {n_r}d) $ $ \mathcal{O}(bd) $ . 从算法1和公式(6)我们可以知道, 结合层次化类别信息以后, 我们的方法HiTE的空间复杂度则为 $ \mathcal{O}({n_e}d + {n_r}d + {n_c}d' + dd') $ , 一般情况下有 $ d' < {n_c} < d \ll {n_e} $ , 因此HiTE的空间复杂度可以近似为 $ \mathcal{O}({n_e}d + {n_r}d) $ ; 由于需要计算类别信息, HiTE的时间复杂度则为 $ \mathcal{O}(bd + bdd' + bdd') \doteq \mathcal{O}(bdd') $ .

4 实验结果与分析

在本节中, 我们使用DistMult模型做为基础知识图谱嵌入模型来实现我们的方法(用HiTEDistMult表示). 通过在4个数据集上执行链接预测, 三元组分类和实体分类任务对我们的方法进行评估. 另外, 我们选择3种不同的惩罚函数, 分析讨论它们对知识图谱嵌入性能的影响; 对于学习出的类别向量表示, 我们通过可视化的方式验证其正确性. 所有的实验都是在一台Linux服务器上完成的, 硬件配置为Intel(R) Xeon(R) Gold 5118 CPU @ 2.30 GHz处理器, 128 GB内存和一块NVIDIA GeForce GTX 1080 GPU.

4.1 数据集

我们选取WN18、FB15K、YAGO26K和DB111K作为实验的数据集. 其中, WN18和FB15K分别来自于WordNet[42]和Freebase, 由Bordes等人[27]构建, 它本身不包含类别信息, 可以用来评估我们的方法在类别信息没有给定情况下的效果. YAGO26K和DB111K分别来自于YAGO和DBpedia, 由Hao等人[20]构建, 它们自身都包含了一部分本体信息, 这里我们仅提取了实体对应的类别信息和类别层次结构信息. 然后, 我们将这些数据集中的三元组集合分别拆分成训练集, 验证集和测试集. 表2给出了这4个数据集的详细描述.

Table 2 Statistics of the Datasets 表 2 实验数据集的统计信息

4.2 链接预测

链接预测是知识图谱表示学习方法的基准测试任务. 它是用来预测一个事实三元组(h,r, t)缺失的头实体h或尾实体t, 即给定(r,t)预测h或者给定(h, r)预测t.

4.2.1 实验部署和度量标准

我们使用HiTEDistMult(见算法1)和HiTEDistMult_UT (见算法2)分别表示我们的方法在类别信息已知和未知两种情况下的实现. 对于数据集YAGO26K和DB111K, 除了运行HiTEDistMult之外, 我们同时会删除类别信息这部分数据, 然后运行HiTEDistMult_UT, 通过比较这两种方式的运行结果, 可以一定程度上反映出我们的方法在建模类别层次结构的效果.

对于所有数据集, 我们设置最小批量训练集大小为100, 最大迭代次数为800. 同时我们使用网格搜索的方法, 通过计算验证集的MRR值确定超参数的最优值. 在训练过程中我们使用Adam算法[43]作为梯度优化算法, 并设置学习率的初始值为0.001. 各个超参数的搜索范围设置如下: 实体和关系嵌入的维度d∈{150, 200, 250, 300}, 类别嵌入的维度d′∈{25, 50, 100}, 间隔γ∈{0.5, 1.0, 1.5}, 类别约束权重α∈{0.5, 1.0, 1.5}, 正样本对应采样负样本的比例β∈{2, 6, 10}, l2正则化权重λ∈{0.003, 0.01, 0.03}. 通过搜索得到各个数据集的最优超参数设置如表3.

Table 3 Hyper-parameter settings 表 3 超参数设定

为了衡量学习出的知识图谱嵌入的好坏, 我们使用两种常用的评估指标: 平均倒数排名(MRR)和Hits@n(有效测试三元组的头实体/尾实体在所有实体集评分排序的前n名中的比例, n=1, 3, 10). 另外, 我们使用过滤设置, 即计算指标值时不考虑任何知识图谱中已经出现的三元组. MRRHits@n的值越大表示学习出的嵌入性能越好, 它们的计算公式如下所示:

$ MRR = \frac{1}{{2\left| T \right|}}\sum\limits_{(h, r, t) \in T} {\left( {\frac{1}{{rank_{(h, r, t)}^h}} + \frac{1}{{rank_{(h, r, t)}^t}}} \right)} $ (9)
$ Hits{\text{@}}n = \frac{1}{{2\left| T \right|}}\sum\limits_{(h, r, t) \in T} {\left( {{\text{\# }}\left( {rank_{(h, r, t)}^h \leqslant n} \right) + {\text{\# }}\left( {rank_{(h, r, t)}^t \leqslant n} \right)} \right)} $ (10)
$ rank_{(h, r, t)}^h = {\text{1}} + \sum\limits_{(h', r, t) \in \tilde T} {I\left[ {f(h, r, t) < f(h', r, t)} \right]} $ (11)
$ rank_{(h, r, t)}^t = {\text{1}} + \sum\limits_{(h, r, t') \in \tilde T} {I\left[ {f(h, r, t) < f(h, r, t')} \right]} $ (12)

其中, I[x]=1当且仅当x为真, 否则I[x]=0.

4.2.2 对比方法

我们将对比方法分为两类: (1)基础的知识图谱嵌入方法, 即没有引入任何外部信息的嵌入方法. 我们选取TransE、DistMult和HolE[44]作为该类的对比方法; (2)结合实体类别信息的知识图谱嵌入方法. 我们选取TKRL、TEKRL (值得一提的是, TKRL和TEKRL工作中使用的FB15K数据集加入了人工构造的实体类别信息和类别的层次结构信息) 和JOIE、TransC、DistMult_LEAR、DistMult_L2R作为该类的对比方法. 其中, DistMult_LEAR和DistMult_L2R方法是在DistMult模型的基础上加入基于向量方向与模值[36]和基于排序学习[35]建模层次结构的方法以后得到的. 此外, 为了验证建模类别信息的有效性, 我们简单地将实体所属类别的信息使用新的关系“is_a”表示, 并将其转化为三元组添加到已有数据集中训练DistMult模型, 然后和该类的方法做比较, 我们使用DistMult_all表示这种设定. 除了DistMult_LEAR和DistMult_L2R, 其他所有对比方法在链接预测上的实验结果都是直接从已发表论文中获取.

4.2.3 实验结果及分析

表4表5分别给出了不同方法在类别信息未知的数据集FB15K、WN18和类别信息已知的数据集YAGO26K、DB111K的测试集上链接预测任务的运行结果. 从表中的数据我们可以看出, 对于类别信息未知的数据集FB15K和WN18, 我们的方法与所结合的基础知识图谱嵌入模型DistMult相比, MRR值和Hits@1的值分别提升了6.7%、1.2%和15.2%、2.1%. 同时, 对于FB15K, 我们的方法在Hits@10指标上与引入类别信息的方法TKRL和TEKRL相比有11.3%和6.7%的提升. 对于类别信息已知的数据集YAGO26K, 我们的方法与DistMult相比, MRR值、Hits@1和Hits@10的值分别提升了123.7%、110.5%和146.5%. 对于数据集DB111K, 我们的方法与DistMult相比, MRR值、Hits@1和Hits@10的值分别提升了27.9%、5.0%和65.2%. 虽然DB111K的实体与类别比例为461.8, 比YAGO26K的34.4高, 但是后者的提升效果要明显高于前者. 这是因为YAGO26K的关系数量比DB111K少接近10倍, 而且训练集中一个关系对应的不同实体个数的平均值为2163.2, 比DB111K的1383.7多接近1.6倍. 这也说明了我们的方法中使用的关系类别约束对知识图谱嵌入的学习起到了很大效果. 同时, 从表5中我们可以看到, 对于YAGO26K, 和其他3类建模层次结构的工作TransC、DistMult_LEAR、DistMult_L2R和类似的工作JOIE相比, 我们的方法在3个指标上都全面超越它们; 对于DB111K, 我们的方法也在3个指标上都优于DistMult_LEAR和DistMult_L2R. 与TransC和JOIE相比, 我们的方法在Hits@1指标上都提升了10.1%, 这说明了我们方法在建模类别信息上的优越性.

Table 4 Link prediction results on the test sets of two datasets without type information 表 4 类别信息未知的两个数据集上链接预测任务的运行结果

Table 5 Link prediction results on the test sets of two datasets with type information 表 5 类别信息已知的两个数据集上链接预测任务的运行结果

另外, 和DistMult_all相比, 我们的方法HiTEDistMult在各个指标上都要领先, 这也反映了我们的方法建模类别信息的有效性. 同时, 在数据集YAGO26K和DB111K的类别信息未知和已知的两种情况下, 对比我们的方法的两种实现HiTEDistMult_UT和HiTEDistMult, 从它们的运行结果可以看出结合类型的层次结构信息能够进一步增强知识图谱嵌入的性能.

4.2.4 消融实验

为了进一步说明引入类别的层次化结构和关系的类别约束对我们方法的影响, 我们在数据集YAGO26K和DB111K上对它们分别做了消融实验. 实验结果如表6所示. 其中, “HiTEDistMult w/o RT, w HT”方法表示我们的方法只使用实体的类别信息和类别的层次化结构, 即在公式(6)中删除 ${\mathcal{L}_{\rm{RT}}}$ 这部分损失; 而“HiTEDistMult w/o HT, w RT”方法表示只使用实体的类别信息和关系的类别约束, 即在公式(6)中删除 ${\mathcal{L}_{\rm{HT}}}$ ; “HiTEDistMult”则表示使用类别的层次结构和关系的类别约束. 从表6的结果我们可以看出, 相较于类别的层次化结构信息, 加入关系的类别约束能够学习出更好地知识图谱嵌入; 而同时加入这两种类别信息会更进一步显著地提升知识图谱嵌入的性能. 这说明了类别信息的这两个特性对知识图谱嵌入的性能提升有累加的效果, 同样也证明了建模类别的层次化结构和关系的类别约束的重要性.

Table 6 Ablation study on hierarchy of types and type constraints of relations of YAGO26K and DB111K 表 6 数据集YAGO26K和DB111K上类别层次结构和关系的类别约束的消融实验结果

4.2.5 惩罚函数的选择

在第3.1节中, 我们提到了使用惩罚函数来实现类别向量空间的偏序关系. 对于惩罚函数的选择可以是多种多样的, 只要能满足 $ \forall {x}, {y} \in Y, {x}{ \preccurlyeq _Y}{y} $ 即可. 下面我们将选择3种惩罚函数来讨论它们对知识图谱嵌入的影响. 除了公式(1)给出的惩罚函数, 另外两个的表示如下所示:

$ P'({x}, {y}) = maximum\left( {{\text{ }}{{\left[ {{y} - {x}} \right]}_ + }{\text{ }}} \right) $ (13)
$ P''({x}, {y}) = {\left\| {{\text{ }}{{\left[ {{y} - {x}} \right]}_ + }{\text{ }}} \right\|_{\text{1}}} $ (14)

其中, maximum函数表示取一个向量表示中最大的坐标值. 我们分别将这3个函数在HiTEDistMult代码中实现, 并在数据集FB15K和YAGO26K上运行, 得到结果如图3所示. 从图中我们可以看到, 对于数据集YAGO26K的3个函数在各个指标上的结果相差不大, 且趋势都是一致的. 平方和函数 $ P({x}, {y}) $ 要略好于最大值函数 $ P'({x}, {y}) $ , 最大值函数略好于绝对值求和函数 $ P''({x}, {y}) $ ; 对于数据集FB15K, 在MRRHits@1指标上, 平方和函数 $ P({x}, {y}) $ 要明显好于其他两个函数. 因此, 我们选取平方和函数作为我们方法的惩罚函数.

Fig. 3 Link prediction results of three different penalty functions on FB15K and YAGO26K 图 3 3种惩罚函数在FB15K和YAGO26K数据集上运行链接预测的结果

4.2.6 类别向量表示的结果分析

为了验证我们的方法学习到的类别向量表示包含了类别的层次结构, 我们使用最大值惩罚函数 $ P'({x}, {y}) $ 并设置类别的向量空间维度为2, 然后分别在FB15K和YAGO26K数据集上运行我们的方法, 最后得到所有类别的向量表示如图4图5所示. YAGO26K数据集的类别信息是已知的, 图5只给出了这些已知类别的向量表示; 而FB15K的类别信息是未知的, 因此图4给出了通过无监督学习方式得到的所有关系的头实体和尾实体集合对应的类别, 同时给出了所有实体映射到类别向量空间中的位置. 图中类别越是靠近原点表示该类别的概念越概括. 对于FB15K数据集, 大部分学习出的类别是靠近原点的, 如图4中圈出的灰色框所示, 它们与实体之间具有明显的偏序关系. 另外, 通过无监督学习的方式我们的方法还可以学到潜在的类别之间的层次关系. 比如关系“/person/gender”的头实体集合对应的类别为person, 关系“/basketball_team/player”的尾实体集合对应的类别为athlete, 且athlete $ \preccurlyeq $ person, 即使没有给出这些类别和它们之间的层次关系, 我们的方法也同样学习出person的坐标值比athlete小, 它们具有层次关系. 这说明了我们的方法很好地学习出关系的类别约束.

Fig. 4 Two dimensional type embeddings of FB15K 图 4 FB15K数据集的类别和实体在二维空间上的向量表示

Fig. 5 Two dimensional type embeddings of YAGO26K 图 5 YAGO26K数据集的类别在二维空间上的向量表示

对于YAGO26K数据集, 我们从中选取了8个类别, 如图5中红色的点所示. 他们之间存在的层次结构为:actress $ \preccurlyeq $ actor, comedian $ \preccurlyeq $ actor, actor $ \preccurlyeq $ artist, actor $ \preccurlyeq $ performer, musician $ \preccurlyeq $ performer, performer $ \preccurlyeq $ entertainer, entertainer $ \preccurlyeq $ person, artist $ \preccurlyeq $ person. 可以看到, 图中它们在空间中的位置大部分都反映出它们的层次结构. 由于采样的负样本数量较少, 类别artistperson没有区别开来. 尽管如此, 我们的方法比较准确地将类别的层次结构学习出来. 这也说明了我们的方法建模层次化类别的有效性.

4.3 三元组分类

三元组分类是知识图谱表示学习方法的另一个测试任务, 它是用来判断一个给定的三元组是否为真.

4.3.1 实验设置和实验结果

三元组分类任务是一个二分类问题. 我们使用和TransC一样的构造分类器的方法. 我们为每个关系r设置一个阈值 $ {\theta _r} $ , 如果三元组的 ${f_{\rm{all}}}(h, r, t)$ 得分大于 $ {\theta _r} $ , 则该三元组为真, 否则为假. 该阈值是通过在验证集中最大化分类准确率得到的. 我们在数据集YAGO26K和DB111K上执行三元组分类任务, 程序运行时使用的超参数和链接预测任务一样, 对比方法我们分别选取了TransE、DistMult、HolE、TransC、DistMult_LEAR和DistMult_L2R. 运行结果如表7所示. 从实验结果中我们可以看到, 相比较于DistMult, 我们的方法在两个数据集的准确率上分别有0.9%和1.6%的提升; 和其他对比方法相比, 我们的方法在准确率上能够达到最优和次优的效果. 因此, 三元组分类任务的实验结果进一步验证了我们方法的优越性.

Table 7 Triple classification results on the test sets of YAGO26K and DB111K 表 7 数据集YAGO26K和DB111K上三元组分类任务的运行准确率结果 (%)

4.3.2 消融实验

为了更进一步地说明引入类别的层次化结构和关系的类别约束对我们方法的影响, 我们针对三元组分类任务在数据集YAGO26K和DB111K上分别对类别的层次化结构和关系的类别约束做消融实验. 实验结果如表8所示. 其中, “HiTEDistMult w/o RT, w HT”和“HiTEDistMult w/o HT, w RT”方法与第4.2.4节的一致. 从表8的准确率结果中我们也可以看出, 相较于类别的层次化结构信息, 加入关系的类别约束的方法分类准确率更高, 这是因为关系的类别约束能够很好地区分明显不满足约束的负样本.

Table 8 Ablation study on hierarchy of types and type constraints of relations of YAGO26K and DB111K on triple classification task 表 8 三元组分类任务上对两个数据集进行类别层次结构和关系的类别约束的消融实验准确率结果 (%)

4.4 实体分类

将实体的类别信息引入到知识图谱中, 用类别信息帮助知识图谱学习出更好的实体关系向量表示的同时, 我们也学习出语义丰富的类别向量表示和实体到类别向量空间的映射函数. 本节中, 我们使用实体分类任务验证我们的方法学习出的类别向量表示和实体到类别的映射函数的效果. 实体分类任务旨在预测给定的某个实体所属的类别.

4.4.1 实验设置

和JOIE工作一样, 我们选取数据集YAGO26K和DB111K, 然后将数据集中实体与其所属类别的集合 $ {I_e} $ 以6:4的比例拆分成训练集和测试集, 在训练集和所有三元组数据集T、类别层次化结构数据集 $ {I_c} $ 上训练我们的方法, 训练过程中使用的超参数和第4.2节链接预测任务大致一样, 除了YAGO26K上的两个超参有变动, 即α=γ=1.5. 在测试阶段, 我们对测试集中的每一条数据 $ (e, {\text{ }}c) $ , 分别计算实体和所有类别的得分值 ${f_{\rm {entity\_typing}}}(e, c') = {\left[ {P(\psi ({e}), {c'}) - \gamma } \right]_ + }$ , 并对这些得分进行排序, 然后计算测试集数据的MRRHits@n(n=1, 3)值. 我们使用这些指标去评估各个方法的好坏.

和链接预测一样, 我们选取TransE、DistMult、HolE和JOIE、TransC、DistMult_LEAR、DistMult_L2R作为对比方法. 对于TransE、DistMult和HolE方法, 我们将集合 $ {I_e} $ 的数据 $ (e, {\text{ }}c) $ 转化成三元组 $(e, {r}_{T}=“is\_a", c)$ 添加到已有三元组数据中, 再运行链接预测得到MRRHits@n值, 这些方法和JOIE的实验结果是直接从JOIE论文中获得的; 而其他方法的结果是运行我们自己实现的代码以后得到的.

4.4.2 实验结果及分析

表9给出了各个方法在数据集YAGO26K和DB111K的测试集上运行实体分类任务的结果. 从表中的数据我们可以看出, 我们的方法在MRRHits@1指标上分别达到次优和最优的结果. 对于数据集YAGO26K, 我们的方法与类似的工作TransC相比, MRR值和Hits@1的值分别提升了27.1%和57.4%; 与JOIE相比, 我们的方法在这两项指标值上分别有6.1%和2.2%的下降, 这是因为JOIE方法使用的本体信息中除了实体类别信息之外还有很多类别与元关系组成的三元组信息(它的数量和类别信息相当), JOIE加入这些数据在训练时会约束类别向量表示的学习, 使得相似的类别在向量空间中更相近, 这样实体更容易被映射到它所属类别的附近. 对于DB111K, 我们的方法与TransC和JOIE相比, 在MRR/Hits@1指标上分别提升了4.0%/9.2%和6.7%/13.4%. 这些实验结果表明我们的方法不仅能学习出较好的实体和关系的向量表示, 而且能得到较好的类别向量表示, 进一步验证了我们方法的优越性.

Table 9 Entity typing results on the test sets of YAGO26K and DB111K 表 9 数据集YAGO26K和DB111K上实体分类任务的运行结果

5 总 结

由于实体的类别信息包含了丰富的语义信息, 能够很好地指导实体和关系向量表示的学习, 本文提出一种新颖的结合具有层次化结构的类别信息的知识图谱表示学习方法. 我们将类别映射到不同的向量空间中学习它们的向量表示, 然后使用偏序关系建模类别的层次化结构, 保证学习出的类别向量表示满足偏序关系, 从而保证具有层次结构的类别与类别之间具有反对称性和传递性. 同时, 我们通过线性变换将实体向量映射到类别向量空间中表示实体与其所属类别之间的关系. 另外, 知识图谱中的每个关系潜在地扮演着不同的角色, 它规定了关系关联的头实体和尾实体分别应该属于什么类别. 我们同时也建模了这种关系的类别约束, 即将关系对应的头实体(尾实体)映射到类别的向量空间中, 并保证它与约束关系的类别满足偏序关系. 然而, 大部分知识图谱很难得到关系的类别约束信息, 此时我们的方法仍然可以使用该约束. 我们为每个关系分别指定不同的约束头实体和尾实体的类别, 根据知识图谱已有的三元组数据可以自动学习出这些类别的结构信息, 从而进一步指导实体向量表示的学习.

实验结果表明了我们的方法在4个数据集上的大部分评价指标结果比对比的基线方法效果好. 同时, 当类别未知时, 我们仍可以使用关系的类别约束, 实验结果也证实了该情况下我们的方法的有效性. 在未来的工作中, 我们将进一步考虑使用高斯分布建模类别信息, 比较它与偏序关系之间的优劣. 此外, 还将进一步研究将类别信息和逻辑规则一起结合起来提升知识图谱表示学习能力.

参考文献
[1]
Lehmann J, Isele R, Jakob M, Jentzsch A, Kontokostas D, Mendes PN, Hellmann S, Morsey M, Van Kleef P, Auer S, Bizer C. DBpedia - A large-scale, multilingual knowledge base extracted from Wikipedia. Semantic Web, 2015, 6(2): 167-195. [doi:10.3233/SW-140134]
[2]
Rebele T, Suchanek F, Hoffart J, Biega J, Kuzey E, Weikum G. YAGO: A multilingual knowledge base from Wikipedia, WordNet, and GeoNames. In: Groth P, Simperl E, Gray A, Sabou M, Krötzsch M, Lécué F, Flöck F, Gil Y, eds. Proc. of the 15th Int’l Semantic Web Conf. Kobe: Springer, 2016. 177–185.
[3]
Bollacker K, Evans C, Paritosh P, Sturge T, Taylor J. Freebase: A collaboratively created graph database for structuring human knowledge. In: Proc. of the 2008 ACM SIGMOD Int’l Conf. on Management of Data. Vancouver: ACM, 2008. 1247–1250.
[4]
Hua W, Wang ZY, Wang HX, Zheng K, Zhou XF. Understand short texts by harvesting and analyzing semantic knowledge. IEEE Trans. on Knowledge and Data Engineering, 2017, 29(3): 499-512. [doi:10.1109/TKDE.2016.2571687]
[5]
Dong L, Wei FR, Zhou M, Xu K. Question answering over freebase with multi-column convolutional neural networks. In: Proc. of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th Int’l Joint Conf. on Natural Language Processing (Volume 1: Long Papers). Beijing: ACL, 2015. 260–269.
[6]
Cui WY, Xiao YH, Wang HX, Song YQ, Hwang SW, Wang W. KBQA: Learning question answering over QA corpora and knowledge bases. Proc. of the VLDB Endowment, 2017, 10(5): 565-576. [doi:10.14778/3055540.3055549]
[7]
Hoffmann R, Zhang CL, Ling X, Zettlemoyer L, Weld DS. Knowledge-based weak supervision for information extraction of overlapping relations. In Proc. of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies-Volume 1. Portland: ACL, 2011. 541–550.
[8]
Zhang FZ, Yuan NJ, Lian DF, Xie X, Ma WY. Collaborative knowledge base embedding for recommender systems. In: Proc. of the 22nd ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining. San Francisco: ACM, 2016. 353–362.
[9]
Wang Z, Zhang JW, Feng JL, Chen Z. Knowledge graph and text jointly embedding. In: Proc. of the 2014 Conf. on Empirical Methods in Natural Language Processing. Doha: ACL, 2014. 1591–1601.
[10]
Xie RB, Liu ZY, Jia J, Luan HB, Sun MS. Representation learning of knowledge graphs with entity descriptions. In: Proc. of the 30th AAAI Conf. on Artificial Intelligence. Phoenix: AAAI Press, 2016. 2659–2665.
[11]
Krompaß D, Baier S, Tresp V. Type-constrained representation learning in knowledge graphs. In: Proc. of the 14th Int’l Semantic Web Conf. Bethlehem: Springer, 2015. 640–655.
[12]
Xie RB, Liu ZY, Sun MS. Representation learning of knowledge graphs with hierarchical types. In: Proc. of the 25th Int’l Joint Conf. on Artificial Intelligence. New York: AAAI Press, 2016. 2965–2971.
[13]
Guo S, Wang Q, Wang B, Wang LH, Guo L. Semantically smooth knowledge graph embedding. In: Proc. of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th Int’l Joint Conf. on Natural Language Processing (Volume 1: Long Papers). Beijing: ACL, 2015. 84–94.
[14]
Rocktäschel T, Singh S, Riedel S. Injecting logical background knowledge into embeddings for relation extraction. In: Proc. of the 2015 Conf. of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Denver: ACL, 2015. 1119–1129.
[15]
Guo S, Wang Q, Wang LH, Wang B, Guo L. Knowledge graph embedding with iterative guidance from soft rules. In: Proc. of the 32nd AAAI Conf. on Artificial Intelligence. New Orleans: AAAI Press, 2018. 4816–4823.
[16]
Zhang JD, Li J. Enhanced knowledge graph embedding by jointly learning soft rules and facts. Algorithms, 2019, 12(12): 265. [doi:10.3390/a12120265]
[17]
Lv X, Hou L, Li JZ, Liu ZY. Differentiating concepts and instances for knowledge graph embedding. In: Proc. of the 2018 Conf. on Empirical Methods in Natural Language Processing. Brussels: ACL, 2018. 1971–1979.
[18]
Dong TS, Wang ZG, Li JZ, Bauckhage C, Cremers AB. Triple classification using regions and fine-grained entity typing. In: Proc. of the 33rd AAAI Conf. on Artificial Intelligence. Honolulu: AAAI Press, 2019: 77–85.
[19]
Ren HY, Hu WH, Leskovec J. Query2box: Reasoning over knowledge graphs in vector space using box embeddings. In: Proc. of the 8th Int’l Conf. on Learning Representations. 2020.
[20]
Hao JH, Chen MH, Yu WC, Sun YZ, Wang W. Universal representation learning of knowledge bases by jointly embedding instances and ontological concepts. In: Proc. of the 25th ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining. Anchorage: ACM, 2019. 1709–1719.
[21]
Chen M, Tian Y, Chen X, Xue Z, Zaniolo C. On2Vec: Embedding-based relation prediction for ontology population. In: Proc. of the 2018 SIAM Int’l Conf. on Data Mining. San Diego: SIAM, 2018. 315–323.
[22]
Jin J, Wang HY, Lin YF. Knowledge graph representation learning fused with entity category information. Computer Engineering, 2021, 47(4): 77-83(in Chinese with English abstract). [doi:10.19678/j.issn.1000-3428.0057353]
[23]
Vendrov I, Kiros R, Fidler S, Urtasun R. Order-embeddings of images and language. arXiv: 1511.06361, 2016.
[24]
Wang Q, Mao ZD, Wang B, Guo L. Knowledge graph embedding: A survey of approaches and applications. IEEE Trans. on Knowledge and Data Engineering, 2017, 29(12): 2724-2743. [doi:10.1109/TKDE.2017.2754499]
[25]
Liu ZY, Sun MS, Lin YK, Xie RB. Knowledge representation learning: A review. Journal of Computer Research and Development, 2016, 53(2): 247-261(in Chinese with English abstract). [doi:10.7544/issn1000-1239.2016.20160020]
[26]
Guan SP, Jin XL, Jia YT, Wang YZ, Cheng XQ. Knowledge reasoning over knowledge graph: A survey. Ruan Jian Xue Bao/Journal of Software, 2018, 29(10): 2966–2994 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5551.htm
[27]
Bordes A, Usunier N, García-Durán A, Weston J, Yakhnenko O. Translating embeddings for modeling multi-relational data. In: Proc. of the 26th Annual Conf. on Neural Information Processing Systems. Lake Tahoe, Nevada: Curran Associates Inc., 2013. 2787–2795.
[28]
Yang BS, Yih WT, He XD, Gao JF, Deng L. Embedding entities and relations for learning and inference in knowledge bases. In: Bengio Y and LeCun Y eds., Proc. of the 3rd Int’l Conf. on Learning Representations. San Diego, 2015.
[29]
Dettmers T, Minervini P, Stenetorp P, Riedel S. Convolutional 2D knowledge graph embeddings. In: Proc. of the 32nd AAAI Conf. on Artificial Intelligence. New Orleans: AAAI Press, 2018. 1811–1818.
[30]
Nickel M, Tresp V, Kriegel HP. A three-way model for collective learning on multi-relational data. In: Proc. of the 28th Int’l Conf. on Machine Learning. Bellevue: Omnipress, 2011. 809–816.
[31]
Guan NN, Song DD, Liao LJ. Knowledge graph embedding with concepts. Knowledge-Based Systems, 2019, 164: 38-44. [doi:10.1016/j.knosys.2018.10.008]
[32]
Mikolov T, Chen K, Corrado G, Dean J. Efficient estimation of word representations in vector space. In: Su J, Duh K, Carreras X, eds., Proc. of the 2016 Conf. on Empirical Methods in Natural Language Processing. Austin: ACL Press, 2016. 1369–1378.
[33]
Ren X, He WQ, Qu M, Huang LF, Ji H, Han JW. AFET: Automatic fine-grained entity typing by hierarchical partial-label embedding. In: Proc. of the 2016 Conf. on Empirical Methods in Natural Language Processing. Austin: ACL, 2016. 1369–1378.
[34]
Ren X, He WQ, Qu M, Voss CR, Ji H, Han JW. Label noise reduction in entity typing by heterogeneous partial-label embedding. In: Proc. of the 22nd ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining. San Francisco: ACM, 2016. 1825–1834.
[35]
Chen TF, Chen YM, van Durme B. Hierarchical entity typing via multi-level learning to rank. In: Proc. of the 58th Annual Meeting of the Association for Computational Linguistics. Online: ACL, 2020. 8465–8475.
[36]
Vulić I, Mrkšić N. Specialising word vectors for lexical entailment. In: Proc. of the 2018 Conf. of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). New Orleans: ACL, 2018. 1134–1145.
[37]
Kamath A, Pfeiffer J, Ponti EM, Glavaš G, Vulić I. Specializing distributional vectors of all words for lexical entailment. In: Proc. of the 4th Workshop on Representation Learning for NLP. Florence: ACL, 2019. 72–83.
[38]
Athiwaratkun B, Wilson AG. Hierarchical density order embeddings. In: Proc. of the 6th Int’l Conf. on Learning Representations. Vancouver. 2018.
[39]
Nickel M, Kiela D. Poincaré embeddings for learning hierarchical representations. In: Proc. of the 31st Int’l Conf. on Neural Information Processing Systems. Long Beach: Curran Associates Inc., 2017. 6341–6350.
[40]
Nickel M, Kiela D. Learning continuous hierarchies in the lorentz model of hyperbolic geometry. In: Proc. of the 35th Int’l Conf. on Machine Learning. Stockholm: PMLR Press, 2018. 3779–3788.
[41]
Ganea OE, Bécigneul G, Hofmann T. Hyperbolic entailment cones for learning hierarchical embeddings. In: Proc. of the 35th Int’l Conf. on Machine Learning. Stockholm: PMLR Press. 2018. 1646–1655.
[42]
Miller GA. WordNet: A lexical database for English. Communications of the ACM, 1995, 38(11): 39-41. [doi:10.1145/219717.219748]
[43]
Kingma DP, Ba J. Adam: A method for stochastic optimization. In: Bengio Y and LeCun Y eds., Proc. of the 3rd Int’l Conf. on Learning Representations. San Diego. 2015.
[44]
Nickel M, Rosasco L, Poggio T. Holographic embeddings of knowledge graphs. In: Proc. of the 30th AAAI Conf. on Artificial Intelligence. Phoenix: AAAI Press, 2016. 1955–1961.
[22]
金婧, 万怀宇, 林友芳. 融合实体类别信息的知识图谱表示学习. 计算机工程, 2021, 47(4): 77-83. [doi:10.19678/j.issn.1000-3428.0057353]
[25]
刘知远, 孙茂松, 林衍凯, 谢若冰. 知识表示学习研究进展. 计算机研究与发展, 2016, 53(2): 247-261. [doi:10.7544/issn1000-1239.2016.20160020]
[26]
官赛萍, 靳小龙, 贾岩涛, 王元卓, 程学旗. 面向知识图谱的知识推理研究进展. 软件学报, 2018, 29(10): 2966–2994. http://www.jos.org.cn/1000-9825/5551.htm