«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (2): 40-46, 64  DOI: 10.19678/j.issn.1000-3428.0060139
0

引用本文  

陈恒, 王思懿, 李冠宇, 等. 基于四元数胶囊网络的知识图谱补全模型[J]. 计算机工程, 2022, 48(2), 40-46, 64. DOI: 10.19678/j.issn.1000-3428.0060139.
CHEN Heng, WANG Siyi, LI Guanyu, et al. Knowledge Graph Completion Model Based on Quaternion Capsule Network[J]. Computer Engineering, 2022, 48(2), 40-46, 64. DOI: 10.19678/j.issn.1000-3428.0060139.

基金项目

国家自然科学基金(61976032, 61806038);辽宁省高等学校创新人才项目(WR2019005);辽宁省自然科学基金(2019-ZD-0513);辽宁省教育厅科学研究经费项目(2020JYT03);辽宁省高等学校基本科研项目(2017JYT09);2020年辽宁省教育科学"十三五"规划项目(JG20DB120)

作者简介

陈恒(1982-), 男, 副教授、博士研究生, 主研方向为智能信息处理;
王思懿, 硕士研究生;
李冠宇, 教授、博士;
祁瑞华, 教授、博士;
杨晨, 副教授、博士研究生;
王维美, 硕士研究生

文章历史

收稿日期:2020-11-30
修回日期:2021-02-24
基于四元数胶囊网络的知识图谱补全模型
陈恒1,2 , 王思懿1 , 李冠宇2 , 祁瑞华1 , 杨晨1 , 王维美2     
1. 大连外国语大学 语言智能研究中心, 辽宁 大连 116044;
2. 大连海事大学 信息科学技术学院, 辽宁 大连 116026
摘要:知识图谱采用RDF三元组的形式描述现实世界中的关系和头、尾实体,即(头实体,关系,尾实体)或(主语,谓语,宾语)。为补全知识图谱中缺失的事实三元组,将四元数融入胶囊神经网络模型预测缺失的知识,并构建一种新的知识图谱补全模型。采用超复数嵌入取代传统的实值嵌入来编码三元组结构信息,以尽可能全面捕获三元组全局特性,将实体、关系的四元数嵌入作为胶囊网络的输入,四元数结合优化的胶囊网络模型可以有效补全知识图谱中丢失的三元组,提高预测精度。链接预测实验结果表明,与CapsE模型相比,在数据集WN18RR中,该知识图谱补全模型的Hit@10与正确实体的倒数平均排名分别提高3.2个百分点和5.5%,在数据集FB15K-237中,Hit@10与正确实体的倒数平均排名分别提高2.5个百分点和4.4%,能够有效预测知识图谱中缺失的事实三元组。
关键词知识图谱    四元数    胶囊网络    知识图谱补全    链接预测    
Knowledge Graph Completion Model Based on Quaternion Capsule Network
CHEN Heng1,2 , WANG Siyi1 , LI Guanyu2 , QI Ruihua1 , YANG Chen1 , WANG Weimei2     
1. Research Center for Language Intelligence, Dalian University of Foreign Languages, Dalian, Liaoning 116044, China;
2. Faculty of Information Science and Technology, Dalian Maritime University, Dalian, Liaoning 116026, China
Abstract: Knowledge Graph(KG) uses RDF triplets to describe relationships as well as head and tail entities in the real world, namely (head entity, relationship, tail entity) or (subject, predicate, object).In order to complete the missing fact triplets in knowledge graphs, quaternion is integrated into the capsule neural network model to predict missing knowledge, and on this basis a new knowledge graph completion model is proposed.In order to capture the global features of triplets as much as possible, hypercomplex embedding is used to encode triplet structure information instead of traditional real-valued embedding.In this paper, the quaternion embedding of entities and relationships is used as the input of the capsule network.Quaternion combined with the optimized capsule network model can effectively complete the missing triplets in the knowledge map and improve the prediction accuracy.The proposed model is tested in a link prediction experiment and compared with the CapsE model.Results show that on the WN18RR dataset, the proportion of entities correctly completed by the proposed model is 3.2 percentage points higher than CapsE in Hit@10 and 5.5% higher in the reciprocal average ranking.On the FB15K-237 dataset, the proportion of entities correctly completed by the proposed model is 2.5 percentage points higher in Hit@10 and 4.4% higher in the reciprocal average ranking.The model can effectively predict the missing fact triplets in a knowledge graph.
Key words: Knowledge Graph(KG)    quaternion    capsule network    knowledge graph completion    link prediction    

开放科学(资源服务)标志码(OSID):

0 概述

知识图谱(Knowledge Graph,KG)是一种规模较大的语义网络系统,旨在描述客观真实世界中实体或概念之间的关联关系。KG在各领域的应用越来越广泛,YAGO[1]、Freebase[2]和DBpedia[3]等众多知识图谱采用RDF三元组的形式描述真实世界中的关系和头、尾实体,即(主语,谓语,宾语),例如(Chicago,City_Of,US)。知识图谱已被广泛应用于许多行业与领域,如推荐系统[4]、问答系统[5]、搜索系统[6]和自然语言处理[7]。尽管KG应用场景较为广泛,但是知识图谱仍不完整,即缺少大量真实客观三元组[8-11]。为此,研究人员提出许多典型嵌入模型,如TransE[12]、TransH[13]、TransR[14]等模型,这些模型用来学习KG中实体和关系的低维嵌入。TransE将知识图谱中的关系解释为头实体到尾实体的平移,但不能建模较为复杂的关系模式。因此,TransH和TransR提出了新的解决方法,便于有效建模M-M等关系。Trans系列模型面向KG中的实体和关系进行表示学习,该类模型在建模和推理缺失三元组方面效果显著[15-16]

TransE、DistMult[17]和ComplEx[18]作为典型的嵌入模型,仅能挖掘实体之间的线性关联,不能有效捕获三元组空间结构信息。目前,很多神经网络模型被应用于知识图谱补全任务[19-20]。文献[19]提出基于三元组整体架构的卷积神经网络模型,ConvKB在基准数据集WN18RR和FB15K-237上具有较好的链接预测结果。大部分KG嵌入模型通过对三元组同维度条目进行建模表示,每个维度获取三元组相应的属性信息。但是,上述嵌入表示模型并未利用“深层”结构来挖掘和建模实体和关系的特征信息。文献[21]引入胶囊网络(CapsNet),CapsNet利用一组神经元获取图形中的对象,然后通过动态路由机制确定从父胶囊到子胶囊的连接。因此,胶囊网络不仅能基于统计信息提取特征,还可以解释特征。与CNN相比,胶囊网络的优势在于:在CNN中,卷积层的每个值都是线性权重的总和,即标量,在CapsNet中,胶囊是一组神经元,即一个向量,其中包含对象的方向、状态和其他特征[21],因此,与神经元相比,胶囊可以在嵌入三元组中编码更多特征,深层次挖掘各维度属性信息;CNN每层都需要相同的卷积操作,因此需要大量网络数据学习特征,与CNN不同,胶囊网络可以学习胶囊中的特征变量,并最大限度地保留有价值的信息[22],因此胶囊网络利用较少的数据学习推断特征变量,并达到CNN预期效果;CNN不断池化会丢失大量重要的特征信息,不能有效处理图像的模糊性问题,与CNN不同,胶囊网络每个胶囊携带大量信息,这些信息会在整个网络保存[21],因此胶囊网络可以有效处理图像的模糊性问题。

近年来,四元数和神经网络模型的组合受到越来越多的关注,原因在于四元数允许神经网络模型在学习过程中使用比CNN更少的参数来编码输入特征组之间的潜在依存关系。深层四元数网络[23]、深层四元数卷积神经网络[24]和深层四元数循环神经网络[25]已经用于图像和语言处理任务。然而,在知识图谱补全领域,关于四元数和胶囊网络相结合的工作较少,因此将四元数引入胶囊网络,以此探索优化的胶囊网络模型在链接预测和三元组分类任务的应用。本文将实体、关系的四元数嵌入向量作为优化的胶囊网络模型的输入,以此捕获实体和关系在低维空间中的联系,为评估四元数嵌入的胶囊神经网络模型,使用FB15K、WN18RR和FB15K-237进行链接预测实验。

1 相关工作 1.1 基准嵌入模型

TransE模型将知识图谱中的关系解释为头实体到尾实体的平移,例如,对于事实三元组(Chicago,City_Of,US),即$ \boldsymbol{h}+\boldsymbol{r}\approx \boldsymbol{t} $,如图 1所示。在TransE中,认为$ \left|\right|\boldsymbol{h}+\boldsymbol{r}-\boldsymbol{t}\left|\right| $无限接近零,即$ \boldsymbol{t} $无限接近于$ \boldsymbol{h}+\boldsymbol{r} $[26]。TransE的打分函数如式(1)所示:

$ {f}_{r}(\boldsymbol{h}, \boldsymbol{t})=\left|\right|\boldsymbol{h}+\boldsymbol{r}-\boldsymbol{t}|{|}_{2}^{2} $ (1)
Download:
图 1 实体和关系的低维嵌入 Fig. 1 Low dimensional embedding of entities and relationships

TransE模型在处理一对一关系模式方面效果显著,但不适合一对多/多对一关系。因此,TransH模型提出任意一个实体在不同的关系下应该拥有不同的表示[27]。TransH的打分函数如式(2)所示。区别于TransH,TransR认为一个实体是多种属性的综合体,且不同的关系应拥有不同的语义空间。式(3)为TransR模型的打分函数。

$ {f}_{\boldsymbol{r}}(\boldsymbol{h}, \boldsymbol{t})=\left|\right|(\boldsymbol{h}-{\boldsymbol{w}}_{r}^{\mathrm{T}}\boldsymbol{h}{\boldsymbol{w}}_{\boldsymbol{r}})+\boldsymbol{r}-(\boldsymbol{t}-{\boldsymbol{w}}_{r}^{\mathrm{T}}\boldsymbol{t}{\boldsymbol{w}}_{\boldsymbol{r}})|{|}_{2}^{2} $ (2)
$ {f}_{\boldsymbol{r}}(\boldsymbol{h}, \boldsymbol{t})=\left|\right|(\boldsymbol{h}{\boldsymbol{M}}_{r}+\boldsymbol{r}-\boldsymbol{t}{\boldsymbol{M}}_{r})|{|}_{2}^{2} $ (3)

DisMult是RESCAL的简化模型,因此只能建模知识图谱中存在的对称关系,不能建模知识图谱中其他类型的关系。针对DisMult存在的问题,ComplEx将DisMult扩展到复数空间。在ComplEx模型中,头实体、关系和尾实体的嵌入向量hrt不再投影到实数空间,而是映射于复数空间。DistMult和ComplEx打分函数如式(4)和式(5)所示:

$ {f}_{\boldsymbol{r}}\left(\boldsymbol{h}, \boldsymbol{t}\right)= < \boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t} > $ (4)
$ {f}_{\boldsymbol{r}}\left(\boldsymbol{h}, \boldsymbol{t}\right)=\mathrm{R}\mathrm{e}( < \boldsymbol{h}, \boldsymbol{r}, \stackrel{-}{\boldsymbol{t}} > ) $ (5)
1.2 神经网络模型

典型的嵌入模型仅能挖掘实体之间的线性关联而不能有效捕获三元组空间结构信息。为解决该问题,研究者开始应用CNN补全知识图谱,DKRL[28]模型利用两种编码器来编码实体描述信息,分别是连续词袋模型和CNN模型,之后利用三元组的全局特性和实体的描述资源进行表示学习。DKRL的打分函数如式(6)所示:

$ \begin{array}{l}{f}_{\boldsymbol{r}}(\boldsymbol{h}, \boldsymbol{t})=&\left|\right|{\boldsymbol{h}}_{\mathrm{s}}+\boldsymbol{r}-{\boldsymbol{t}}_{\mathrm{s}}\left|\right|+\left|\right|{\boldsymbol{h}}_{\mathrm{d}}+\boldsymbol{r}-{\boldsymbol{t}}_{\mathrm{d}}\left|\right|+\\ &\left|\right|{\boldsymbol{h}}_{\mathrm{d}}+\boldsymbol{r}-{\boldsymbol{t}}_{\mathrm{s}}\left|\right|+\left|\right|{\boldsymbol{h}}_{\mathrm{s}}+\boldsymbol{r}-{\boldsymbol{t}}_{\mathrm{d}}\left|\right|\end{array} $ (6)

ConvE[29]随机初始化头实体和关系,通过卷积和全连接操作建模三元组,最终权重矩阵和尾实体向量进行点乘运算,得分用于判定当前三元组的可信度。在ConvE中,仅将头实体嵌入和关系嵌入视为CNN模型的输入,并未考虑三元组全局特性,为解决此问题,ConvKB以嵌入三元组$ (\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t}) $为输入,和不同过滤器进行卷积操作,从而获取三元组的全局特性。ConvE和ConvKB的打分函数如式(7)和式(8)所示:

$ {f}_{\boldsymbol{r}}(\boldsymbol{h}, \boldsymbol{t})=g\left(\mathrm{v}\mathrm{e}\mathrm{c}\right(g\left(\mathrm{c}\mathrm{o}\mathrm{n}\mathrm{c}\mathrm{a}\mathrm{t}\right(\widehat{\boldsymbol{h}}, \widehat{\boldsymbol{r}})\times {\mathit{\pmb{\Omega}}})\left)\boldsymbol{W}\right)\times \boldsymbol{t} $ (7)
$ {f}_{\boldsymbol{r}}(\boldsymbol{h}, \boldsymbol{t})=\mathrm{c}\mathrm{o}\mathrm{n}\mathrm{c}\mathrm{a}\mathrm{t}\left(g\right([\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t}]\times {\mathit{\pmb{\Omega}}}\left)\right)\times \boldsymbol{w} $ (8)

ConvKB模型利用卷积神经网络对实体和关系进行编码,无法捕获三元组空间结构信息。参照文献[21],本文将神经元替换为胶囊,以学习实体和关系的矢量表示。CapsE[20]使用TransE训练的实体、关系嵌入作为胶囊网络输入,但在表征不同实体外部依赖关系方面表现力仍然较差。因此,本文引入四元数编码三元组结构信息,以尽可能全面地捕获三元组的全局特性,从而有效补全知识图谱中丢失的三元组。实验结果表明,在KGC补全任务中,四元数嵌入的胶囊网络知识图谱补全方法较CapsE效果更优。CapsE的打分函数如式(9)所示:

$ {f}_{\boldsymbol{r}}(\boldsymbol{h}, \boldsymbol{t})=\mathrm{ }\left|\right|\mathrm{c}\mathrm{a}\mathrm{p}\mathrm{s}\mathrm{n}\mathrm{e}\mathrm{t}\left(g\right([\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t}]\times {\mathit{\pmb{\Omega}}}\left)\right)\left|\right| $ (9)

上述知识图谱补全模型的打分函数如表 1所示。

下载CSV 表 1 不同模型的打分函数及参数 Table 1 Scoring functions and parameters of different models
2 模型设计 2.1 相关算法

四元数是包含一个实数和3个虚数单位的超复数,其表示形式为$ Q=a+b\mathrm{i}+c\mathrm{j}+d\mathrm{k} $,其中,$ a\mathrm{、}b\mathrm{、}c\mathrm{、}d $是实数,$ \mathrm{i}\mathrm{、}\mathrm{j}\mathrm{、}\mathrm{k} $是虚数单位。四元数嵌入模型QuaR[30]具有以下优点:1)四元数嵌入模型参数较少,计算复杂度低;2)四元数嵌入模型结构简单,易于扩展,在知识图谱补全领域效果显著。本文使用由QuaR模型训练的实体和关系的四元数嵌入矩阵作为胶囊网络模型的输入。与结合TransE的胶囊网络模型CapsE不同,本文采用QuaR模型训练得到的实体和关系的超复数嵌入,将更加准确和直观。受欧拉四元数扩展公式的启发,在QuaR模型中,实体被表示为四元数,关系则被建模为四元数空间中的旋转。另外,与实数模型TransE相比,四元数融入胶囊神经网络可以建模和推理更多的关系[30]。与TransE相比,QuaR模型可以建模对称与反对称等多种关系类型,因此,在四元数嵌入的胶囊网络模型中可以推理更多的关系模式,准确率更高。

优化的胶囊神经网络算法如算法1所示。在四元数胶囊网络算法中,本文使用QuaR模型训练生成的四元数矩阵来初始化实体和关系嵌入(分别见第3行和第4行)。在算法迭代过程中,采用卷积操作和内积运算来训练矩阵。首先,从训练集$ S $中抽取一个小批量数据集$ b $(见第6行)。其次,对数据集中每个三元组,选取负样本$ S\text{'} $(错误三元组),其中负样本从正例三元组获取得到(见第9行)。最后,对抽样得到的小批量数据集进行分数预测和损失校正(分别见第12行和第14行)。另外,使用Adam优化器更新模型参数,算法依据验证集性能而中止。最终,本文将$ KG=(E, R, T) $表示为知识图谱,实体的集合表示为$ E $,关系的集合表示为$ R $,三元组的集合表示为$ T $

算法1   胶囊网络算法

输入   $ \mathrm{T}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{i}\mathrm{n}\mathrm{i}\mathrm{n}\mathrm{g}\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{\ }\mathrm{ }\mathrm{s}\mathrm{e}\mathrm{t}\mathrm{ }= $ $ (\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t}), E, R, \gamma \ \mathrm{a}\mathrm{n}\mathrm{d} \ K $ represent

输出   $ \mathrm{E}\mathrm{n}\mathrm{t}\mathrm{i}\mathrm{t}\mathrm{y}\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{\ }\mathrm{e}\mathrm{m}\mathrm{b}\mathrm{e}\mathrm{d}\mathrm{d}\mathrm{i}\mathrm{n}\mathrm{g}\mathrm{s} \ E, \mathrm{r}\mathrm{e}\mathrm{l}\mathrm{a}\mathrm{t}\mathrm{i}\mathrm{o}\mathrm{n}\mathrm{\ }\mathrm{e}\mathrm{m}\mathrm{b}\mathrm{e}\mathrm{d}\mathrm{d}\mathrm{i}\mathrm{n}\mathrm{g}\mathrm{s}\ R $

1.//embeddings produced by Qua R

2.Initialize:

3.e ← QuaR(E,R,γ,K)for each e ∈ E

4.r ← QuaR(E,R,γ,K)for each r ∈ R

5.leep:

6.Sbatch ← sample(S,b)//sample a minibatch of b

7.Tbatch ← ∞ //initialize the set of pairs of triples

8.for(h,r,t)∈ Sbatch do

9.$ (\mathrm{h}\text{'}, \mathrm{r}, \mathrm{t}\text{'}) $ ← sample($ {S}_{(\mathrm{h}\text{'}, \mathrm{r}, \mathrm{t}\text{'})} $)//sample a corrupted triple

10.Tbatch ← Tbatch$ \left\{\right((\mathrm{h}, \mathrm{r}, \mathrm{t}), (\mathrm{h}\text{'}, \mathrm{r}, \mathrm{t}\text{'})\left)\right\} $

11.end for

12.Calculate fr(h,t)=$ ‖\mathrm{C}\mathrm{a}\mathrm{p}\mathrm{s}\left(\mathrm{g}\right([\mathrm{h}, \mathrm{r}, \mathrm{t}]\mathrm{*}\mathrm{\Psi }\left)\right)\cdot \mathrm{W}‖ $

13.Update loss function w.r.t:

14.$ \sum\limits_{(\mathrm{h}, \mathrm{r}, \mathrm{t})\in (\mathrm{T}\bigcup \mathrm{T}\text{'})}\mathrm{l}\mathrm{o}{\mathrm{g}}_{\mathrm{a}}(1+\mathrm{e}\mathrm{x}\mathrm{p}(( $- $ {\mathtt{θ}})\cdot \mathrm{f}(\mathrm{h}, \mathrm{r}, \mathrm{t}\left)\right))+ {\mathtt{γ}}{‖\mathrm{w}‖}_{2}^{2} $

15.end loop

2.2 模型架构

胶囊网络模型由输入层、卷积层、初级胶囊层、数字胶囊层和输出层5个部分构成。其中,胶囊神经网络的隐藏层包含卷积层、初级胶囊层和数字胶囊层。胶囊网络的卷积层通过不同的卷积核在输入矩阵的不同位置提取特征,以获得包含多个神经元的特征矩阵。初级胶囊层将卷积操作生成的特征图重组成相应的胶囊,之后通过动态路由算法将初级胶囊层与数字胶囊层连接以获得输出值。数字胶囊层位于卷积层和初级胶囊层后,其功能是将卷积层、初级胶囊层中具有类别区分性的局部信息进行整合,以在整个胶囊神经网络中执行回归分类任务。

本文优化的四元数胶囊模型如图 2所示。该模型主要分为4个层次:第1层为卷积层,本文使用数百个滤波器(卷积核)在三元组矩阵上重复卷积操作;第2层为主胶囊层,该层将卷积操作生成的特征图重构成相应的胶囊,从而最大限度地保留有价值的信息;第3层为次胶囊层,父胶囊与权重矩阵相乘生成较小维度的子胶囊,同时得到多个连续矢量;第4层为内积胶囊层,连续矢量与权重矩阵执行内积操作生成相应的三元组分数,该分数用于判断给定三元组的正确性。

Download:
图 2 四元数胶囊模型 Fig. 2 Quaternion capsule model

在卷积层中,首先将$ \boldsymbol{h}\mathrm{、}\boldsymbol{r}\mathrm{、}\boldsymbol{t} $分别表示为$ K $维四元数向量,其表示形式为$ \boldsymbol{h}=({a}_{1}+{b}_{1}\mathrm{i}+{c}_{1}\mathrm{j}+{d}_{1}\mathrm{k}, \cdots , {a}_{K}+{b}_{K}\mathrm{i}+{c}_{K}\mathrm{j}+{d}_{K}\mathrm{k}) $,其中,$ {a}_{\mathrm{i}} $表示头实体的实部,$ {b}_{\mathrm{i}}\mathrm{、}{c}_{\mathrm{i}}\mathrm{、}{d}_{\mathrm{i}} $表示头实体的虚部,$ {a}_{\mathrm{i}}\mathrm{、}{b}_{\mathrm{i}}\mathrm{、}{c}_{\mathrm{i}}\mathrm{、}{d}_{\mathrm{i}} $随机初始化或由QuaR模型训练得到,$ \mathrm{i}\mathrm{、}\mathrm{j}\mathrm{、}\mathrm{k} $是虚数单位,即指在超复数空间中的旋转。与结合实数嵌入的胶囊网络模型CapsE不同,本文采用QuaR模型训练得到的超复数嵌入表示实体和关系,这可以深层次挖掘实体和关系之间的复杂联系。参照文献[12],本文将超复数嵌入三元组向量$ \boldsymbol{h}\mathrm{、}\boldsymbol{r}\mathrm{、}\boldsymbol{t} $定义成一个三元组嵌入矩阵$ \boldsymbol{A}=[\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t}]\in {Q}^{K\times 3} $,其中,$ {\boldsymbol{A}}_{i, :}=[{a}_{1}+{b}_{1}\mathrm{i}+{c}_{1}\mathrm{j}+{d}_{1}\mathrm{k}, {a}_{K}^{\mathrm{\text{'}}}+{b}_{K}^{\mathrm{\text{'}}}\mathrm{i}+{c}_{K}^{\mathrm{\text{'}}}\mathrm{j}+{d}_{K}^{\mathrm{\text{'}}}\mathrm{k}, {a}_{K}^{″}+{b}_{K}^{″}\mathrm{i}+{c}_{K}^{″}\mathrm{j}+{d}_{K}^{″}\mathrm{k}]\in {Q}^{1\times 3} $表示$ \boldsymbol{A} $的第$ i $行。然后,本文使用滤波器(卷积核)$ \omega \in {Q}^{2\times 3} $$ \boldsymbol{A}=[\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t}]\in {Q}^{K\times 3} $重复卷积操作,最终生成特征图$ \boldsymbol{q}=[{q}_{1}, {q}_{2}, \cdots , {q}_{K-1}]\in {Q}^{K} $$ {q}_{i}=g(\omega ·{\boldsymbol{A}}_{i, :}+b), $·表示点积,其中,$ b\in Q $是偏差项,$ g $是非线性激活函数,例如ReLU或Sigmoid。在卷积层中,本文使用四元数乘法和四元数加法计算并编码多个向量胶囊,得到包含多个向量胶囊的特征矩阵。由此,相关的四元数运算规则如式(10)~式(13)所示:

$ \left|Q\right|=\left|\overline{Q}\right|=\sqrt{{a}^{2}+{b}^{2}+{c}^{2}+{d}^{2}} $ (10)

$ {Q}_{1}=a+b\mathrm{i}+c\mathrm{j}+d\mathrm{k} $$ {Q}_{2}=a\text{'}+b\text{'}\mathrm{i}+c\text{'}\mathrm{j}+d\text{'}\mathrm{k} $相加,得到:

$ \begin{array}{l}{Q}_{1}+{Q}_{2}=(a+a\text{'})\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{ }\mathrm{\ }\mathrm{ }\mathrm{ }\mathrm{ }+\mathrm{ }(b+b\text{'})\mathrm{i}+(c+c\text{'})\mathrm{j}+\\ \qquad\qquad(d+d\text{'})\mathrm{k}\end{array} $ (11)

$ {Q}_{1}=a+b\mathrm{i}+c\mathrm{j}+d\mathrm{k} $$ {Q}_{2}=a\text{'}+b\text{'}\mathrm{i}+c\text{'}\mathrm{j}+d\text{'}\mathrm{k} $相乘,得到:

$ \begin{array}{l}{Q}_{1}{Q}_{2}=(aa\text{'}-bb\text{'}-cc\text{'}-dd\text{'})\mathrm{ }+\\\qquad\qquad (ab\text{'}+ba\text{'}+cd\text{'}-dc\text{'})\mathrm{i}+\\\qquad\qquad (ac\text{'}-bd\text{'}+ca\text{'}+db\text{'})\mathrm{j}+\\ \qquad\qquad(ad\text{'}+bc\text{'}-cb\text{'}+da\text{'})\mathrm{k}\end{array} $ (12)

$ {Q}_{1}=a+b\mathrm{i}+c\mathrm{j}+d\mathrm{k} $$ {Q}_{2}=a\text{'}+b\text{'}\mathrm{i}+c\text{'}\mathrm{j}+d\text{'}\mathrm{k} $相除,得到:

$ \begin{array}{l}{Q}_{1}/{Q}_{2}=(aa\text{'}-bb\text{'}-cc\text{'}-dd\text{'})\mathrm{ }+\\\qquad\qquad (ab\text{'}+ba\text{'}-cd\text{'}-dc\text{'})\mathrm{i}+\\\qquad\qquad (ac\text{'}+ad\text{'}+ca\text{'}-db\text{'})\mathrm{j}+\\ \qquad\qquad(ad\text{'}+bc\text{'}+cb\text{'}-da\text{'})\mathrm{k}\end{array} $ (13)

在主胶囊层中,本文将卷积操作生成的多个特征向量重组以构建胶囊($ {v}_{1}, {v}_{2}, {v}_{3}, {v}_{4}, {v}_{5} $)。胶囊是一组神经元的集合,$ {v}_{i} $包含4个神经元。在次胶囊层中,本文将重组后的父胶囊和变换矩阵相乘生成低维度的子胶囊,并得到一个向量s;最终,向量s和权重执行内积操作生成相应分数,该得分用于确定一个事实三元组的准确与否。本文将嵌入维度设置为$ K=6 $,卷积核的数量为$ \omega =4 $,主胶囊层内神经元的数目定义为4,次胶囊内神经元的数目定义为2。在胶囊层中,本文使用四元数乘法、四元数加法和四元数范数计算并编码多个向量胶囊,从而深层次挖掘实体和关系之间复杂的语义联系。

在所有胶囊层中,首先将每个胶囊$ i\in \{\mathrm{1, 2}, \cdots , K\} $向量输出值定义为$ {\boldsymbol{V}}_{i}\in {Q}^{N\times 1} $,然后矢量输出$ {\boldsymbol{V}}_{i} $和变换矩阵$ {\boldsymbol{W}}_{i}\in {Q}^{d\times N} $相乘产生$ {\overline{\boldsymbol{V}}}_{i}\in {Q}^{d\times 1} $$ {\overline{\boldsymbol{V}}}_{i} $和不同权重内积生成胶囊矢量$ \boldsymbol{s} $,最终压缩矢量$ \boldsymbol{e} $$ \boldsymbol{W} $执行点乘运算获得对应得分,其值用来判断三元组正确性,如式(14)~式(17)所示:

$ {\overline{\boldsymbol{V}}}_{i}={\boldsymbol{W}}_{i}\times {\boldsymbol{V}}_{i} $ (14)
$ {s}_{i}={\overline{\boldsymbol{V}}}_{i}·{\boldsymbol{w}}_{i}\text{,}\boldsymbol{s}=\sum\limits_{i=0}^{k}{s}_{i} $ (15)
$ \boldsymbol{e}=\frac{\left|\right|\boldsymbol{s}\left|\right|}{1+\left|\right|\boldsymbol{s}\left|\right|}\frac{\boldsymbol{s}}{\left|\right|\boldsymbol{s}\left|\right|} $ (16)
$ f=\boldsymbol{e}·\boldsymbol{W} $ (17)

四元数胶囊网络模型的评分函数如式(8)所示:

$ f(\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t})=\mathrm{ }\left|\right|\mathrm{C}\mathrm{a}\mathrm{p}\mathrm{s}\left(g\right(\mathrm{ }[\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t}]\mathrm{ }\mathrm{*} {\mathit{\Psi}} \left)\right)\mathrm{ }·\boldsymbol{W}\left|\right| $ (18)

其中:$ {\mathit{\Psi}} $表示卷积核的数量;$ \mathrm{*} $表示卷积操作;$ \mathrm{C}\mathrm{a}\mathrm{p}\mathrm{s} $代表胶囊神经网络运算。另外,四元数胶囊网络模型的损失函数如式(19)所示:

$ L=\sum\limits_{(\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t})\in \{T\bigcup {T}^{\text{'}}\}}lo{g}_{a}\left(1\right.+exp\left(\right(-\theta )·f(\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t}\left)\right))+\gamma \left|\right|\boldsymbol{w}|{|}_{2}^{2} $ (19)

其中:$ T $表示正确的三元组;$ T\mathrm{\text{'}} $表示错误的三元组,负样本由正确三元组生成;$ \theta $的数值通过式(20)计算。

$ (\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t})\in \left\{\begin{array}{l}T, \theta =1\\ T\text{'}, \theta =-1\end{array}\right. $ (20)

负样本的组建方式如式(21)所示,即把正例三元组中的尾实体与头实体依次使用其他实体取代,即不能同时替换。

$ {T}^{\text{'}}=\left\{\right(\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t}\left)\right|\boldsymbol{h}\mathrm{\text{'}}\in E\}\bigcup \{(\boldsymbol{h}, \boldsymbol{r}, \boldsymbol{t})|t\mathrm{\text{'}}\in E\} $ (21)

本文利用Adam[31]最小化四元数胶囊网络模型的目标函数,将$ \mathrm{R}\mathrm{e}\mathrm{L}\mathrm{U} $视为模型的激活函数。

3 KGC实验 3.1 数据集

本文使用从Freebase和WordNet中抽取的FB15K[12]、FB15K-237[32]和WN18RR[29] 3个基准数据集进行知识图谱补全实验。参照文献[32],将数据集FB15K中反转事实三元组丢弃,得到新数据集FB15K-237。同理,本文将数据集WN18中反转事实三元组丢弃,得到新数据集WN18RR。

数据集的统计如表 2所示。

下载CSV 表 2 数据集统计 Table 2 Dataset statistics
3.2 参数设置

本文利用ConvKB[19]模型和QuaR[30]模型实现基于四元数嵌入的胶囊网络方法。在ConvKB中,本文设置滤波器(卷积核)的数量为$ \left|\omega \right|=N\in \{\mathrm{50, 100, 200}, $ $ 400,600\} $,其中,Adam学习率设定为$ \gamma \in \{0.{000}_{\ }01, $ $ 0.{000}_{\ }\mathrm{05, 0}.{000}_{\ }\mathrm{1, 0}.{000}_{\ }5\} $。在实验中,训练胶囊网络模型100次记录一次Hit@10,最优Hit@10超参数如下:在FBI5K-237上,$ N $=50,$ K $=100,$ \gamma =0.{000}_{\ }01 $;在WN18RR上,$ N $=400,$ K $=100,$ \gamma =0.{000}_{\ }05 $

在实验中,本文将批量大小定义成128,动态路由过程的迭代次数定义为$ m\in \{\mathrm{1, 3}, \mathrm{5, 7}\} $,次胶囊层内神经元数目定义为8,权重矩阵$ \boldsymbol{W} $随机初始化生成。本文训练胶囊网络模型多达1 000次,其中,训练胶囊网络模型100次记录一次Hit@10,最优Hit@10超参数如下:在数据集FBI5K-237上,$ N $=50,$ K $=100,$ \gamma =0.{000}_{\ }1 $;在数据集WN18RR上,$ N $=400,$ K $=100,$ \gamma =0.{000}_{\ }05 $

3.3 链接预测 3.3.1 实验设置

链接预测即发现知识图谱中缺失的链接(事实三元组)。对于RDF三元组(Chicago,City_Of,?),即预测并补全该元组中缺失的尾实体。本文参考TransE模型,将测试数据集中的三元组依次移除头实体或者尾实体后,采用评价函数对每个新三元组得分进行排名。

3.3.2 评估指标

本文采用3个评价标准:正确实体的平均排名MR、正确实体在Top N的比例Hit@N和正确实体的平均倒数排名MRR。其中,MR越小、MRR越大或者Hit@N越大,代表模型效果越好。

3.3.3 实验分析

本文在如下环境中进行链接预测实验:Window 7操作系统,64位处理器,GPU类型为1755 MHz,24GD6 GeForce RTX 2080 Ti。数据集WN18RR和FB15K-237在不同模型下的实验结果如表 3所示,其中粗体表示最优结果。

下载CSV 表 3 不同模型在WN18RR和FB15k-237数据集上的实验结果 Table 3 Experimental results of different models on WN18RR and FB15K-237 datasets

分析表 3可以看出:四元数胶囊网络模型在WN18RR和FB15K-237上取得较好的实验结果。

在FB15K-237上,四元数胶囊网络方法获得最高Hit@3、Hit@10和最好MRR。具体分析如下:

1)本文方法优于CapsE模型,但Hit@1除外;本文方法较CapsE在MRR上提高了4.4%,在Hit@10上提高了2.5个百分点。由此可知,四元数编码序列输入的胶囊网络模型在很多实验指标上要优于结合实值嵌入的胶囊网络模型。这也说明四元数在表征不同实体之间的外部依存关系方面性能强大。

2)本文方法较ConvE在Hit@3上提高了7.9个百分点,在Hit@10上提高了11.7个百分点。由此可知,与卷积神经网络模型相比,胶囊网络模型可以在嵌入三元组中编码更多的特征信息,以捕获实体和关系在低维空间中的联系。

在WN18RR数据集上,四元数胶囊网络方法获得最高Hit@1、Hit@10和最好MR,具体分析如下:

1)本文方法优于RotatE模型,但MRR除外;本文方法较RotatE在Hit@3上提高了2.2个百分点,在Hit@10上提高了2.1个百分点。由此可知,和复数模型相比,结合四元数嵌入的胶囊网络模型表现能力更优,原因在于四元数作为一种超复数,是复数在更高维度上的扩展。最终,训练得到的实体、关系超复数嵌入结合胶囊网络可以深层次挖掘实体及关系间存在的某种关联。

2)本文方法较ConvKB在MR上提高了8.1%,在Hit@10上提高了2.5个百分点;本文方法较ConvE在Hit@1上提高了3.0个百分点,在Hit@10上提高了7.2个百分点。由此可知,和CNN模型相比,胶囊网络可以学习实体和关系更多的特征信息,深入挖掘各维度属性信息。

3)RotatE模型的MRR指标优于ConvE、ConvKB等模型。可以看出,复数旋转模型RotatE在WN18RR上补全效果显著,在某个指标上优于现有CNN模型。

为验证超复数胶囊网络模型推理各类关系模式的能力,本文选取WN18RR进行链接预测实验。如图 3所示,超复数胶囊网络模型在建模和推理多种关系模式中具有优越的表示能力。

Download:
图 3 不同关系模式的MRR指标 Fig. 3 MRR index of different relationship patterns
3.4 三元组分类 3.4.1 实验设置

三元组分类即判断一个事实三元组是否正确,或头、尾实体是否存在某种依存关系,这是一个简单的二分类问题。例如,(Beijing,Capital_Of,China)是正确的三元组,(London,Capital_Of,China)是错误的三元组。参照文献[12-14],本文将阈值设置为$ \delta =0.5 $,即对于任意一个测试三元组,使用评分函数计算三元组的分数,若该分数高于阈值$ \delta =0.5 $,则三元组是正确的,否则为负例三元组。在实验中,本文选取验证集上的三元组,依次计算每个三元组的得分,并将每个分数作为阈值$ \delta $来计算三元组的分类准确率。最终,本文将分类准确率最高时的$ \delta $作为模型阈值,即$ \delta $的数值大小最终设置为0.5。另外,阈值取值范围为$ \delta \in \left[\mathrm{0, 1}\right] $

3.4.2 实验分析

参考文献[14, 34],利用Freebase的子集FB15K执行三元组分类任务。实验环境与3.3.3节相同。FB15K最优参数为:$ N $=50,$ K $=100,$ \gamma =0.{000}_{\ }1 $。三元组分类的实验结果如表 4所示。

下载CSV 表 4 三元组分类实验结果比较 Table 4 Comparison of experimental results of triple classification  

分析表 4可以看出:基于四元数嵌入的胶囊网络模型优于其他所有模型,准确率达到92.7%,这说明四元数嵌入的胶囊网络模型在预测精度方面效果显著,适用于大规模的知识图谱补全任务。

4 结束语

为补全知识库中缺失的事实三元组,本文将四元数融入胶囊神经网络模型以预测缺失的知识。采用超复数嵌入取代传统的实值嵌入编码三元组结构信息,捕获三元组全局特性,四元数结合优化的胶囊网络模型可以有效补全知识图谱中丢失的三元组,预测精度更高。实验结果表明,与传统嵌入方法相比,四元数胶囊网络模型在硬性指标上显著提升。下一步将重新设计胶囊网络模型,采用内联胶囊路由协议或核密度估计路由协议代替传统的动态路由,并且将关系和实体的文本信息融入胶囊神经网络,提高四元数胶囊网络模型的预测精确率。

参考文献
[1]
SUCHANEK F M, KASNECI G, WEIKUM G. YAGO: a core of semantic knowledge[C]//Proceedings of the 16th International Conference on World Wide Web. Washington D.C., USA: IEEE Press, 2007: 697-706.
[2]
BOLLACKER K, EVANS C, PARITOSH P, et al. Freebase: a collaboratively created graph database for structuring human knowledge[C]//Proceedings of 2008 ACM SIGMOD International Conference on Management of Data. New York, USA: ACM Press, 2008: 1247-1250.
[3]
LEHMANN J, ISELE R, JAKOB M, et al. DBpedia—a large-scale, multilingual knowledge base extracted from Wikipedia[J]. Semantic Web, 2015, 6(2): 167-195. DOI:10.3233/SW-140134
[4]
ZHANG F, YUAN N J, LIAN D, et al. Collaborative knowledge base embedding for recommender systems[C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, USA: ACM Press, 2016: 353-362.
[5]
HAO Y, ZHANG Y, LIU K, et al. An end-to-end model for question answering over knowledge base with cross-attention combining global knowledge[C]//Proceedings of the 55th IEEE Annual Meeting of the Association for Computational Linguistics. Washington D.C., USA: IEEE Press, 2017: 221-231.
[6]
XIONG C, POWER R, CALLAN J. Explicit semantic ranking for academic search via knowledge graph embedding[C]//Proceedings of the 26th IEEE International Conference on World Wide Web. Washington D.C., USA: IEEE Press, 2017: 1271-1279.
[7]
YANG B, MITCHELL T. Leveraging knowledge bases in lstms for improving machine reading[EB/OL]. [2020-10-20]. https://arxiv.org/pdf/1902.09091.pdf.
[8]
王维美, 史一民, 李冠宇. 改进的胶囊网络知识图谱补全方法[J]. 计算机工程, 2020, 46(8): 21-26.
WANG W M, SHI Y M, LI G Y. Improved knowledge graph completion method for capsule network[J]. Computer Engineering, 2020, 46(8): 21-26. (in Chinese)
[9]
李智星, 任诗雅, 王化明, 等. 基于非结构化文本增强关联规则的知识推理方法[J]. 计算机科学, 2019, 46(11): 209-215.
LI Z X, REN S Y, WANG H M, et al. Knowledge reasoning method based on unstructured text-enhanced association rules[J]. Computer Science, 2019, 46(11): 209-215. (in Chinese)
[10]
SOCHER R, CHEN D, MANNING C D, et al. Reasoning with neural tensor networks for knowledge base completion[C]//Proceedings of NIPS'13. Cambridge, USA: MIT Press, 2013: 926-934.
[11]
WEST R, GABRILOVICH E, MURPHY K, et al. Knowledge base completion via search-based question answering[C]//Proceedings of the 23rd International Conference on World Wide Web. New York, USA: ACM Press, 2014: 515-526.
[12]
BORDES A, USUNIER N, GARCIA-DURAN A, et al. Translating embeddings for modeling multi-relational data[C]//Proceedings of NIPS'13. Cambridge, USA: MIT Press, 2013: 2787-2795.
[13]
WANG Z, ZHANG J, FENG J, et al. Knowledge graph embedding by translating on hyperplanes[C]//Proceedings of the 28th AAAI Conference on Artificial Intelligence. Menlo Park, USA: AAAI Press, 2014: 1112-1119.
[14]
LIN Y, LIU Z, SUN M, et al. Learning entity and relation embeddings for knowledge graph completion[C]//Proceedings of AAAI'14. Menlo Park, USA: AAAI Press, 2014: 1254-1267.
[15]
WANG Q, MAO Z, WANG B, et al. Knowledge graph embedding: a survey of approaches and applications[J]. IEEE Transactions on Knowledge and Data Engineering, 2017, 29(12): 2724-2743. DOI:10.1109/TKDE.2017.2754499
[16]
刘知远, 孙茂松, 林衍凯, 等. 知识表示学习研究进展[J]. 计算机研究与发展, 2016, 53(2): 247-261.
LIU Z Y, SUN M S, LIN Y K, et al. Knowledge representation learning: a review[J]. Computer Research and Development, 2016, 53(2): 247-261. (in Chinese)
[17]
YANG B, YIH W, HE X, et al. Embedding entities and relations for learning and inference in knowledge bases[EB/OL]. [2020-10-20]. https://arxiv.org/pdf/1412.6575.pdf.
[18]
TROUILLON T, WELBL J, RIEDEL S, et al. Complex embeddings for simple link prediction[C]//Proceedings of International Conference on Machine Learning. Washington D.C., USA: IEEE Press, 2016: 2071-2080.
[19]
NGUYEN D Q, NGUYEN T D, NGUYEN D Q, et al. A novel embeddings model for knowledge base completion based on convolutional neural network[C]//Proceedings of NAACL'18. New Orleans, USA: Association for Computational Linguistics, 2018: 327-333.
[20]
NGUYEN D Q, VU T, NGUYEN T D, et al. A capsule network-based embedding model for knowledge graph completion and search personalization[C]//Proceedings of NAACL'19. New Orleans, USA: Association for Computational Linguistics, 2019: 2180-2189.
[21]
SABOUR S, FROSST N, HINTON G E. Dynamic routing between capsules[C]//Proceedings of NIPS'17. Cambridge, USA: MIT Press, 2017: 3856-3866.
[22]
HINTON G E, SABOUR S, FROSST N. Matrix capsules with EM routing[C]//Proceedings of IEEE International Conference on Learning Representations. Washington D.C., USA: IEEE Press, 2018: 235-246.
[23]
PARCOLLET T, MORCHID M, LINARES G. Quaternion denoising encoder-decoder for theme identification of telephone conversations[C]//Proceedings of IEEE ISCA'17. Washington D.C., USA: IEEE Press, 2017: 3325-3328.
[24]
GAUDET C, MAIDI A. Deep quaternion networks[C]//Proceedings of 2018 IEEE International Joint Conference on Neural Networks. Washington D.C., USA: IEEE Press, 2017: 328-339.
[25]
PARCOLLET T, RAVANELLI M, MORCHID M, et al. Quaternion recurrent neural networks[EB/OL]. [2020-10-20]. https://arxiv.org/pdf/1806.04418.pdf.
[26]
林海伦, 王元卓, 贾岩涛, 等. 面向网络大数据的知识融合方法综述[J]. 计算机学报, 2017, 40(1): 3-29.
LIN H L, WANG Y Z, JIA Y T, et al. Network big data oriented knowledge fusion methods: a survey[J]. Chinese Journal of Computers, 2017, 40(1): 3-29. (in Chinese)
[27]
官赛萍, 靳小龙, 贾岩涛, 等. 面向知识图谱的知识推理研究进展[J]. 软件学报, 2018, 29(10): 2966-2994.
GUAN S P, JIN X L, JIA Y T, et al. Knowledge reasoning over knowledge graph: a survey[J]. Journal of Software, 2018, 29(10): 2966-2994. (in Chinese)
[28]
XIE R B, LIU Z Y, JIA J, et al. Representation learning of knowledge graph with entity descriptions[C]//Proceedings of AAAI'16. Cambridge, USA: MIT Press, 2016: 2659-2665.
[29]
DETTMERS T, MINERVINI P, STENETORP P, et al. Convolutional 2D knowledge graph embeddings[C]//Proceedings of AAAI'18. Cambridge, USA: MIT Press, 2018: 1811-1818.
[30]
CHEN H, WANG W, LI G, et al. A quaternion-embedded capsule network model for knowledge graph completion[J]. IEEE Access, 2020, 8: 100890-100904. DOI:10.1109/ACCESS.2020.2997177
[31]
KINGMA D P, BA J. Adam: a method for stochastic optimization[EB/OL]. [2020-10-20]. https://arxiv.org/pdf/1412.6980.pdf.
[32]
TOUTANOVA K, CHEN D. Observed versus latent features for knowledge base and text inference[C]//Proceedings of the 3rd Workshop on Continuous Vector Space Models and their Compositionality. Washington D.C., USA: IEEE Press, 2015: 57-66.
[33]
SUN Z, DENG Z H, NIE J Y, et al. Rotate: knowledge graph embedding by relational rotation in complex space[EB/OL]. [2020-10-20]. https://arxiv.org/pdf/1902.10197.pdf.
[34]
NGUYEN D Q, NGUYEN D Q, NGUYEN T D, et al. A convolutional neural network-based model for knowledge base completion and its application to search personalization[J]. Semantic Web, 2019, 10(5): 947-960. DOI:10.3233/SW-180318
[35]
JI G, HE S, XU L, et al. Knowledge graph embedding via dynamic mapping matrix[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. Washington D.C., USA: IEEE Press, 2015: 687-696.