APP下载

改进的胶囊网络知识图谱补全方法

2020-08-19王维美史一民李冠宇

计算机工程 2020年8期
关键词:三元组图谱实体

王维美,史一民,李冠宇

(大连海事大学 信息科学技术学院,辽宁 大连 116026)

0 概述

作为一种图结构化的知识库,知识图谱以节点代表实体,以边代表实体间关系[1],能够提供有效的结构化信息,是Web搜索、问答和推荐系统等智能应用程序所需要的关键资源。一个典型的知识图谱通常将知识描述为多关系数据并表示为三元组(头实体,关系,尾实体)的形式[2]。尽管知识图谱在各领域有着重要应用,但许多大型知识图谱如Freebase、DBpedia等数据关系仍不完整,大量实体之间隐含的关系未被充分挖掘[3]。知识图谱补全技术旨在发现三元组中的缺失链接,解决知识图谱数据稀疏问题,即预测缺失三元组是否正确[4-6],将正确三元组添加到知识图谱进行补全。目前,研究者提出许多嵌入模型用于学习实体和关系的矢量表示,如早期的TransE[7]、TransH[8]、TransR[9]模型,这些模型中正确三元组得分高于错误三元组得分,从而能够有效预测缺失三元组。

传统嵌入模型如TransE、DistMult[10]和ComplEx[11]仅使用加减法或简单的乘法运算符,只能捕获实体间的线性关系。因此,目前很多研究将深度神经网络应用于三元组预测问题[12],如ConvKB和CapsNet模型。ConvKB模型[13]将三元组矩阵作为模型的输入,与不同的卷积核进行卷积,通过评分函数计算每个三元组的得分,判断三元组正确与否。多数知识图谱嵌入模型通过对三元组相同维度的特征进行建模,在每个维度捕获一些特定关系的实体属性。然而,现有嵌入模型多未采用深度架构对同一维度三元组的属性进行建模。CapsNet[14]模型引入胶囊概念,将胶囊定义为一组用向量表示一种特定类型实体的实例化参数的神经元,它可以表示图像中特定实体(或关系)的各种特征。该模型利用胶囊捕获图像中的实体,通过路由操作指定从上一层胶囊到下一层胶囊的连接,并提出利用胶囊网络对三元组进行补全操作。与分割特征映射构造胶囊的传统CapsNet模型不同,该模型使用胶囊对实体和关系在相同维度上的属性进行建模,捕获实体和关系矢量表示。由于胶囊使用向量表示实体或关系,取代了以往单个神经元数值的表示,从实体各个属性(维度)进行表示,表示能力更强。

本文提出一种改进的胶囊网络知识图谱补全算法,解决CNN单层神经元不足以表征实体和关系属性等问题。以胶囊代替每层神经元表示实体和关系,输入一个三元组,输出连续矢量的值,并利用该值判定给定三元组的正确性,将正确的三元组添加到知识图谱,对知识图谱进行补全,从而缓解数据稀疏问题,使知识图谱更完备。

1 相关工作

1.1 嵌入模型

图1 实体和关系低维向量表示Fig.1 Low dimensional vector representation of entities and relationships

1.2 神经网络模型

上述嵌入模型只关注三元组结构信息,没有考虑三元组同维度属性,不能深层次挖掘实体和关系的特征。对此,文献[18]提出基于CNN的知识图谱嵌入模型ConvE,将头实体和关系向量重组成矩阵作为卷积层的输入,与不同形状的卷积核进行卷积生成多个特征图,最终映射成向量和尾实体点积,得分用于判定三元组正确性。由于该模型将头实体和关系重组作为卷积层输入的过程中没有考虑三元组结构信息,忽略了三元组的全局特征,因此研究者提出ConvKB[12]模型,该模型将三元组矩阵[vh,vr,vt]作为输入,捕获三元组的全局特征,利用不同的卷积核进行卷积,通过评分函数得到每个三元组的得分,作为判断三元组正确的依据。

以上2个模型利用卷积神经网络深层次地提取实体和关系特征,捕获复杂关系,适用于大规模知识图谱补全。ConvKB使用CNN对知识图谱中三元组信息进行编码,但输入层和输出层神经元过于简单,难以表征实体和关系。受文献[13]的启发,本文以一组胶囊代替神经网络每层神经元,胶囊使用向量作为模型的输入、输出,从而准确表征实体和关系。算法输入一个三元组矩阵[vh,vr,vt],在CNN中卷积生成不同特征图,连接特征图得到多个胶囊(即一组神经元的集合),通过路由操作生成一个连续向量,该向量和权重点积操作的分数用于判定三元组正确性。利用改进的胶囊网络进行知识图谱补全任务,可以有效提高知识图谱补全准确性。以上部分模型的评分函数如表1所示。

表1 相关模型评分函数Table 1 Scoring functions of correlation models

2 算法设计

2.1 相关算法

由于TransE模型参数少、计算复杂度低,因此训练三元组较为简单。本文将知识图谱定义为KG=(E,R,T),其中,E是实体集合,R是关系集,T是所有数据集,包含训练集、测试集和验证集。实体和关系嵌入维度均为K。使用TransE得到实体和关系嵌入作为算法输入。在TransE模型基础上,改进的胶囊网络算法描述如下:

算法1胶囊网络算法

输入S=(h,r,t),E,R,γ,K

Initialize:

Loop:

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

Tbatch←∅

for(h,r,t)∈Sbatchdo

(h′,r′,t′)←sample(S′(h,r,t))

Tbatch←Tbatch∪{((h,r,t),(h′,r′,t′))}

end for

update embeddings w.r.t:

Input←[vh,vr,vt] //输入矩阵

更新损失函数:

End Loop

2.2 模型架构

本文算法的模型架构如图2所示。

图2 本文算法的模型架构Fig.2 Model architecture of the proposed algorithm

上文介绍了卷积层操作,下文使用胶囊层构建改进的胶囊网络模型,以简化架构。在第1层使用卷积得到的N个特征图重构成K个胶囊(V1~V6),所有特征图同维度特征被封装进相应胶囊。因此,每个胶囊可以捕获嵌入三元组相应维度不同特征,这些特征通过路由操作产生另一个较小维度的胶囊,然后生成一个连续矢量,该矢量和权重向量点乘,其值用作三元组的得分。在图2中,嵌入维度K=6,滤波器的数量N=5,第1层胶囊内神经元数量等于N,第2层胶囊内神经元数量d=2。

(1)

(2)

其中,ci是耦合系数,由路由操作确定。

参照文献[13],路由算法描述如下:

算法2路由算法

for 所有胶囊i属于第1层 do

bi←0

for iteration=1,2,…,n do

c←softmax (b)

e←squash(s)

for 所有胶囊 i属于第1层 do

bi←bi+vi·e

形式上,定义三元组打分函数,如式(3)所示:

(3)

其中,过滤器集Ω是卷积层共享参数,*表示卷积运算符,capsnet′表示胶囊网络操作,g代表激活函数,本文使用ReLU。将最小化以下的损失函数作为最终的训练目标,损失函数如式(4)所示:

(4)

(5)

负例三元组构造方法如式(6)所示,即将正确三元组头实体和尾实体分别用数据集所有实体代替。

T′={(h,r,t)|h′∈E}∪{(h,r,t)|t′∈E}

(6)

本文使用Adam[19]最小化如式(4)所示的损失函数,使用ReLU作为算法激活函数。

3 实验与分析

3.1 数据集

本文实验使用从WordNet和Freebase抽取的数据集WN18RR[18]、FB15k[7]、FB15K-237[20]进行实验。由文献[20]可知,数据集FB15k包含一些反转关系,这些反转关系会使实验效果得到显著改善,为保证实验结果的准确性,将数据集FB15k中具有反转关系的三元组去掉,得到一个新数据集FB15K-237。同理,去掉数据集WN18所有反转关系,得到WN18RR。3种数据集的统计情况如表2所示。

表2 数据集统计情况Table 2 Data sets statistics

3.2 参数设置

利用TransE模型[7]和ConvKB模型[13]实现本文算法。使用TransE模型训练三元组,得到实体和关系最终嵌入,将三元组[vh,vr,vt]作为本文算法输入。对于ConvKB模型,过滤器数量 |ω|=N∈{50,100,200,400},Adam初始化学习率γ∈{0.000 01,0.000 05,0.000 01,0.000 5},利用超参数网格搜索训练模型3 000次。每训练100次,监测Hits@10得分,以选择Hits@10最优超参数。最优超参数设置如下:在FBI5K-237上,Hit@10最优设置为N=100,K=100,γ=0.000 01;在WN18RR上,Hit@10最优设置为N=400,K=100,γ=0.000 05。

与文献[13]类似,本文使用TransE训练生成的实体和关系嵌入初始化算法实体和关系嵌入,用于WN18RR、FB15k-237和FB15k,嵌入维度K=100。设置批处理大小batchsize为128,即每次训练128个三元组。第2个胶囊层中的胶囊内神经元数量设置为10(d=10);权重w最初由截断函数初始化,最终由模型训练后确定。路由操作迭代次数n∈{1,3,5,7,9}。实验训练算法次数多达500次,平均每100次监测Hit@10,以选择最优Hit@10超参数:验证集上最优Hit@10如下:在FBI5K-237上,最优Hit@10为n=3,N=100,K=100,γ=0.000 1,d=10;在WN18RR上,最优Hit@10为n=1,N=400,K=100,γ=0.000 01,d=10。

3.3 链接预测

3.3.1 实验设计

链接预测是指预测知识图谱缺失的三元组,即三元组中缺失的实体或关系。例如:给定三元组(Michelle Obama,residence,?),其中,头实体为“Michelle Obama”,关系为“residence”,尾实体缺失,为补全三元组,将知识图谱中正确尾实体添加到该元组中对其进行补全操作。实验参照文献[6,8]对测试集中每个三元组用所有实体替换头实体或尾实体来创建一组负例三元组。对这组负例三元组使用评分函数计算它们的相似性得分,以此对其进行排名,相似度越高排名越靠前,由此可以得到正确实体的真实排名。

3.3.2 评估指标

本文选择正确实体或关系的平均排名MR(MeanRank)、倒数平均排名MRR(Mean Reciprocal Rank)、前10名比例(Hit@10)作为评估指标。在这3个指标中,MR越低、MRR越高或者Hit@10越高,代表算法效果越好。本文采用文献[7]的标准,把知识图谱中错误三元组从训练集、验证集、测试集删除,删除后的设置称为Filter,原来的称为Raw。在数据集FB15K-237和WN18RR上,仅使用Filter设置,即不考虑负例三元组。

3.3.3 实验结果和分析

本文实验环境为:Window 7 64位系统,CPU采用Intel Core i5-4200M@ 1.6 GHz,物理内存为8 GB。数据集WN18RR在不同模型下链接预测性能比较如表3所示,其中,MRR和Hit@10最优参数设置为n=1,N=400,K=100,γ=0.000 05,d=10。

表3 数据集WN18RR上各模型的链接预测性能比较Table 3 Comparison of links prediction performance of various models on data set WN18RR

从表3可以看出,本文模型在数据集WN18RR上获得最好MR、MRR和最高Hit@10。具体分析如下:

1)与ConvKB模型相比,本文模型较MR提高5%,较Hit@10提高2.3%,而与ComplEx模型相比MRR提高4%。

2)TransE模型MR指标优于ConvE、ComplEx等模型,Hit@10指标优于ConvE、DistMult等模型。可见基准模型TransE在数据集WN18RR上具有很好的表示效果。

3)与其他模型相比,本文模型在数据集WN18RR上同样具有更好的表示能力,也说明胶囊网络用于知识图谱补全性能更好。

在数据集FBI5K-237中,不同模型的链接预测性能比较如表4所示,其中,MRR和Hit@10最优参数设置为n=3,N=100,K=100,γ=0.000 1,d=10。

表4 数据集FBI5K-237上的链接预测性能比较Table 4 Comparison of links prediction performance of various models on data set FBI5K-237

从表4可以看出,本文模型在FB15K-237数据集上获得最好的MRR和最高的Hit@10。具体分析如下:

1)与ConvKB模型相比,本文模型较MRR提高11%,较Hit@10提高7.5%。

2)ConvE模型在MR指标上优于所有模型,MRR,较Hit@10指标上优于TransE、ComplEx等模型,可见ConvE模型在数据集FB15K-237上具有很好的表示效果。

3)与其他模型相比,本文模型在FBI5K-237数据集上具有更好的表示能力,也说明胶囊网络可以用于大规模知识图谱补全。

3.4 三元组分类

3.4.1 实验设计

三元组分类即判断一个给定三元组的正确性。引用文献[9]提出的三元组分类任务,本文设置一个阈值(通过最大化验证集上的分类准确度得到),对于任意给定的三元组,使用式(3)所示的评分函数计算得分,如果这个得分低于阈值,则三元组是正确的,否则为错误三元组。

3.4.2 实验结果和分析

参照文献[9],使用基准数据集FB15K进行三元组分类实验。实验环境为Window7 64位系统,CPU采用Intel Core i5-4200M@ 1.6 GHz,物理内存为8 GB。FB15K最优参数为:n=5,N=400,K=100,γ=0.000 1,d=10。实验结果如表5所示。

表5 不同模型三元组分类实验结果比较Table 5 Comparison of triad classification experimental results of different models %

从表5可以看出,本文模型在FB15K数据集上,较CTransR模型高出7个百分点,这说明在三元组分类任务上改进的胶囊网络算法对于判定三元组正确性效果显著,能够应用于大规模知识图谱补全。

4 结束语

本文针对知识图谱补全问题,提出一种改进的胶囊网络算法。以胶囊代替神经元建模实体和关系的表示,输入三元组矩阵,输出三元组真实得分,并利用该分数判定三元组正确性,将正确的三元组添加到知识图谱,对知识图谱进行补全。在三元组分类实验中,该算法取得91.5%的准确率,优于对比的传统嵌入模型;而在链接预测实验中,其MR、MRR、Hit@10指标也都有明显提高。本文算法可以对普通知识图谱和领域知识图谱进行补全,同时也可应用于个性化搜索,通过建模三元组(查询,用户,文档)捕获用户对查询文档感兴趣的程度,由此返回文档的排名。为提高链接预测和三元组分类准确率,下一步将尝试修改第2层胶囊网络框架,采用效率更高的算法代替路由操作,以取得更小维度的胶囊,并且将把实体和关系的描述文本作为算法输入融入胶囊网络。

猜你喜欢

三元组图谱实体
特征标三元组的本原诱导子
绘一张成长图谱
前海自贸区:金融服务实体
关于余挠三元组的periodic-模
一个时态RDF存储系统的设计与实现
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
补肾强身片UPLC指纹图谱
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
主动对接你思维的知识图谱