APP下载

球坐标建模语义分层的知识图谱补全方法

2021-08-06祁瑞华王维美

计算机工程与应用 2021年15期
关键词:三元组层级图谱

陈 恒,祁瑞华,朱 毅,杨 晨,郭 旭,王维美

1.大连外国语大学 语言智能研究中心,辽宁 大连 116044

2.大连海事大学 信息科学技术学院,辽宁 大连 116026

通常,大多数知识图谱KG(Knowledge Graph)表示为多关系图,它是事实三元组的集合。知识图谱中的节点代表实体,边代表实体间关系[1]。现实世界大量的知识可以简单地表示为实体和实体间的关系。KG以结构化的方式描述现实世界中的概念、实体及其链接关系,在个性化推荐[2]、智能搜索[3]、智能问答[4]和自然语言处理[5]任务中有非常重要的应用价值。虽然知识图谱包含了数以千万计的实体以及数以亿计的三元组事实,但是KG 中数据仍然大量缺失,即缺少许多有效的三元组[6-7]。例如,在大型知识图谱Freebase 中,缺少出生日期的人占70%,缺少国籍信息的人占75%[8]。因此,许多研究工作致力于知识图谱补全或链接预测任务,即判断一个缺失三元组是否有效[9-10]。许多嵌入模型学习实体和关系的矢量或矩阵表示,以获得较为先进的链接预测结果。TransE[11]将关系看作头实体到尾实体的平移,实体和关系由k维嵌入向量表示。此外,TransH[12]、TransR[13]等模型分别扩展并改进TransE。上述模型首先将实体与关系映射为低维嵌入,然后通过打分函数确定任意一个三元组真实存在的概率。这些方法已被证明是可扩展和有效的[14-15]。

在这些嵌入模型中,TransE、DistMult[16]和RotatE[15]可以对知识图谱中的关系模式进行建模和推理。受文献[16]启发,TransE 将关系视为从头部实体到尾部实体的转移,可以建模反转关系和组合关系。DistMult 和ComplEx[17]能分别推理和建模对称关系和反对称关系。RotatE 将每个关系定义为复矢量空间中头实体到尾实体的旋转,可以建模和推理三种关系模式,即对称/反对称,反转和组合。上述嵌入模型能建模对称、反转和组合等不同的关系模式,却无法对知识图谱中普遍存在的语义分层现象进行有效建模。语义分层是知识图谱中普遍存在的属性。例如,在WordNet 中,给定三元组(乔木/柳树/棕榈,上位词,树),其中“树”的层次结构要高于“乔木/柳树/棕榈”。尽管文献[18-20]将分层结构引入知识图谱,但仍然需要其他数据来获取实体或关系的层次结构信息。因此,如何寻找一种能够自动有效地对语义层次进行建模的方法将变得至关重要。受文献[20]启发,提出一种球坐标建模语义分层的知识图谱补全方法。为了对语义层次进行建模,将实体分为两类:不同语义层级的实体和相同语义层级的实体。对于不同语义层级的实体,将具有分层属性的实体类比于树,利用节点深度区分不同层级的实体;对于相同语义层级的实体,利用球坐标系的角度来对同一语义层级的实体进行建模表示。基于此思想,使用球坐标建模和推理实体的层次结构信息。由此,模长部分用于表示不同层级的实体,角度部分用于表示同一层级的实体。通过将球坐标引入知识图谱,可以有效建模知识图谱中普遍存在的语义分层现象,从而补全缺失三元组,使得知识图谱更加完整。

为评估本文提出的方法,使用三个标准数据集:FB15K-237、WN18RR、YAGO3-10进行知识图谱补全任务。在链接预测实验中,球坐标建模语义分层的知识图谱补全方法优于大部分嵌入模型,预测准确度更高。

1 相关工作

1.1 知识图谱补全

文献[21-22]总结分类了许多知识图谱补全方法,目前学习知识图谱嵌入的代表模型有距离模型、双线性模型和基于神经网络的模型。其中距离模型将关系视为头部实体到尾部实体的平移[23],给定三元组(Beijing,cityOf,China),即h+r≈t,如图1所示。另外,在TransE中,假设||h+r-t||无限接近零,即t无限接近于h+r[24]。基准模型TransE 将关系表示为头实体和尾实体之间的双射函数,只能建模反转关系和组合关系。TransH把h和t投影到一个超平面,关系视为两个投影向量h和t之间的平移。TransR 则认为不同的关系应该具有不同的语义空间。因此,TransR 将实体和关系投影到不同的向量空间中,然后建模头部实体到尾部实体的翻译关系。最近,为更好地建立对称和反对称关系模型,RotatE 模型将每个关系定义为复矢量空间中头实体到尾实体的旋转。双线性模型使用点乘算法匹配向量空间中实体和关系的潜在语义。RESCAL[25]使用三阶张量对实体和关系进行表示学习。由于RESCAL 模型参数较多,容易产生过拟合风险,DisMult模型使用减法运算符对头实体、关系和尾实体三方交互建模,通过矩阵乘法来提取多关系语义。ComplEx 则通过引入复数嵌入来扩展DistMult,以便更好地建模对称和反对称模式。近年来,基于神经网络的模型受到了越来越多的关注。ConvE[26]模型将实体和关系的嵌入向量重组成矩阵,对该矩阵进行2D卷积操作,将卷积生成的多个特征图进行连接,最终映射成向量和尾实体点积,得分用于判定三元组的正确性。尽管ConvE 取得了较好的实验结果,但该模型未考虑三元组整体特性,仅将头实体嵌入和关系嵌入作为卷积层输入,因此,ConvKB[27]模型充分考虑三元组整体特征,将头实体嵌入、关系嵌入和尾实体嵌入矩阵作为算法输入,通过卷积操作和全连接操作判别三元组正确率。以上部分模型的打分函数如表1所示。

表1 相关模型打分函数Table 1 Scoring functions of related models

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

1.2 语义分层方法

球坐标建模语义分层方法隶属于距离模型。最初,文献[28]将实体和类别联合嵌入语义空间并为概念分类和无数据分层的分类任务设计模型。文献[18]提出一种基于层次类型的知识图谱嵌入模型TKRL,将实体类型信息作为实体投影矩阵,使用两种不同类型的编码对分层结构建模表示。此外,TKRL通过实体其他类型信息来判定不同类型的实体应具有不同的表示。文献[19]使用聚类算法对层次关系结构进行建模。与上述分层方法不同,参考文献[20],引入球坐标建模和推理实体的层次结构信息,无需使用聚类算法便可以自动学习知识图谱中的语义层次结构。另外,本文方法利用知识图谱中的三元组结构信息表示实体和关系,并不需要任何额外的信息。在球坐标系中,将知识图谱中的不同实体分为两类:不同语义层级的实体,例如,花与牡丹、树与柳树;相同语义层级的实体,例如玫瑰与牡丹、杨树与柳树。球坐标系分为模长部分和角度部分,分别表示两种不同类别的实体。其中,模长部分用于建模表示不同层级的实体,角度部分用于建模表示同一层级的实体。本文引入球坐标系建模实体和关系,可以有效区分语义层次结构中不同级别和相同级别的实体。以上部分模型的打分函数如表1所示。

2 方法介绍

2.1 实体类别

语义分层在知识图谱中普遍存在。给定两个三元组(四叶草,上位词,植物)和(济南,位于,山东省)。从中知道“植物”和“山东省”较“四叶草”和“济南”更为抽象,所属类别更高,在语义分层中属于高层级的实体,而“四叶草”和“济南”属于低层级的实体。受树型结构启发,将知识图谱中的所有实体利用多棵树表示,其中:(1)处于最高语义层级的实体对应树的根节点;(2)拥有更高语义层级的实体更加接近根节点;(3)拥有更低语义层级的实体更加接近叶子节点;(4)处于相同语义层级的实体到根节点的距离相同。因此,认为树中节点的深度对应实体的语义层级。基于以上观察,将知识图谱中的不同实体分为两类,举例如图2所示。

图2 实体树型结构Fig.2 Entity tree structure

(1)层次结构中不同级别的实体。例如,“哺乳动物”和“狗”,“爬行动物”和“蛇”。

(2)层次结构中同一级别的实体。例如,“猫”和“狗”,“龟”和“蛇”。

2.2 算法设计

使用球坐标系建模上述表示语义层级的树型结构,算法结构图如图3所示。

图3 算法架构Fig.3 Algorithm architecture

球坐标系是一个三维坐标系统,该坐标系统中任意位置可由一个半径和两个角度来表示。将不同实体嵌入向量的同维度特征映射到同一个球坐标系中,包括模长和角度两部分。球坐标系由模长和角度两部分组成,旨在为两种不同类别的实体建模。其中:模长部分用于建模层次结构中不同级别的实体。在树型结构中,节点的深度意味着实体的类别,因此可以利用节点的深度来对不同级别的实体进行建模。具体来说,将hm,tm,rm分别表示为h,r,t的K维模长向量,其中,hm,tm,rm每个维度分别表示为[hm]i,[tm]i,[rm]i。给定三元组(h,r,t),期望:

此外,期望语义层次结构较高的实体具有较小的模长,因为这些实体更加靠近树的根节点。然而位于较低语义层级的实体更加靠近树的叶节点,故模长较大。假若仅仅使用模长来表示知识图谱中的实体,则位于同一语义层级的实体将具有相同的模长,这便难以推理和建模同一语义层级的实体。基于这个原因,使用球坐标系中的角度来区分树中处于同一深度的不同节点。即,在语义层级中,使用角度部分来区分位于同一层级的不同实体。

在球坐标系中,位于同一个球上的点(模长相同)可以有不同的夹角。角度不同,实体相异。角度旨在对语义层次结构相同的实体进行建模表示。具体而言,将球坐标系中两个不同的夹角设为p1和p2,将hp和tp的每个维度,即[hp]i和[tp]i视为一个角度值,并将rp的每个维度(即[rp]i)视为角度之间的转化。角度计算公式如式(4)所示:

根据上述定义,对于每个三元组(h,r,t),将模型的角度打分函数分别定义为:

其中,sin(∙)是正弦函数,cos(∙)是余弦函数,用于计算模型的输入元素值。参照文献[15],使用正弦函数和余弦函数来测量角度之间的距离。

本文的算法将模长和角度相结合,将实体映射到球坐标系中,其中半径坐标和夹角坐标分别对应于模长部分和角度部分。球坐标算法将实体h映射为[hm;hp1;hp2],其中hm和hp分别表示模长和角度,[⋅;⋅;⋅]表示三个向量的组合形式。最终,将三元组打分函数定义如下:

其中,λ1,λ2∈R 是由模型学习得到的参数。另外,图4中展示了球坐标算法伪代码。在文中,将最小化式(8)所示的目标函数作为模型最终的训练目标,本文所示的目标函数参考文献[15]。

图4 球坐标算法Fig.4 Spherical coordinate algorithm

式(9)是负例三元组的概率分布,其中α是采样温度。在实验中,负样本的概率计算参照文献[15]。另外,负例三元组构造方法如式(10)所示,即将正确三元组头实体和尾实体分别用数据集所有实体代替。

本文使用Adam[29]最小化如式(8)所示的目标函数,使用Sigmoid作为算法激活函数。

3 实验

3.1 数据集

本文使用从WordNet、YAGO3和Freebase抽取的三个数据集:WN18RR[26]、YAGO3-10[30]和FB15K-237[31]执行链接预测实验。参照文献[26],数据集WN18和FB15k包含一些可逆关系(比如:_hypernym和_hyponym),由于这类三元组(北京,_hypernym,中国)和(中国,_hyponym,北京)会显著提高实验结果,为保证实验结果的准确性,仅保留每对反转关系中的一个关系,由此构造新数据集WN18RR和FB15K-237。

WN18RR 是WN18 的新数据集,WN18RR 主要包含两种关系类型:(1)对称关系,如_similar_to,该关系连接的头实体和尾实体属于同一语义层级;(2)非对称关系,如_hypernym,该关系连接的头尾实体属于不同语义层级。

FB15K-237 是FB15k 的新数据集,FB15K-237 拥有较为复杂的关系类型和较少的实体,主要的关系模式是对称/反对称和组合。

数据集YAGO3-10包含37种关系,123 182个实体,1 089 040 个三元组。数据集YAGO3-10 拥有许多高入度关系,即在同一个关系下,一个头/尾实体可能对应着大量的尾/头实体。例如,一个缺失三元组(?,hasGender,male)拥有超过1 000个正确的头实体,因此建模难度更高。

数据集统计情况如表2所示。

表2 数据集统计Table 2 Data set statistics

3.2 参数设置

使用Adam[29]作为优化器,并微调验证集上的超参数。本文算法使用PyTorch 实现,并在1 755 MHz 24 GD6 GeForce RTX 2080 Ti GPU 和256 GB 的服务器上进行链接预测实验。使用超参数网格搜索训练模型3 000次,其中:学习率为λ∈{0.000 01,0.000 05,0.000 2,0.000 5},嵌入维数为k∈{125,250,500,1 000},批处理大小为b∈{256,512,1 024},定值边缘超参数为γ∈{3,6,9,12,18,24}。最优超参数设置如下:在FBI5K-237 上,Hit@10 最优设置:k=1 000,b=1 024,γ=9,初始化学习率为5e-5;在YAGO3-10 上,Hit@10 最优设置:k=500,b=1 024,γ=24,初始化学习率为2e-4;在WN18RR 上,Hit@10最优设置:k=500,b=512,γ=6,初始化学习率为5e-5。

3.3 链接预测

3.3.1 实验设计

场效应管输出电路如图7所示。为使系统更加稳定,采用光耦隔离输出。输出端子J2的引脚1连接外部电源正极,引脚3连接外部电源负极。外部负载接在引脚2和3之间。单片机的P1.2引脚通过三极管Q2,控制光耦的引脚3和4接通或断开。当P1.2为高电平时,光耦U1的3,4引脚接通,从而场效应管M1导通,给外部负载上电。P1.3场效应管输出电路与此类似。

链接预测是指预测知识图谱丢失的真实三元组,即正确三元组中丢失的头实体或尾实体。比如三元组(HuangBo,_residence,?),其中,尾实体空缺。在链接预测中,参照文献[11]和文献[13],对测试集中每个三元组,依次去掉头实体、尾实体,然后使用数据集的所有实体来替代,最后通过打分函数计算每个新三元组排名顺序。

3.3.2 评估指标

依据文献[13],选用MR(Mean Rank)、MRR(Mean Reciprocal Rank)和Hit@10 作为链接预测实验的评估指标。MR 表示正确实体的平均排名,如式(11)所示;MRR 代表正确实体的倒数平均排名,如式(12)所示;Hit@10 表示正确实体进入前10 的百分比,如式(13)所示。三个指标中,MR 越低、MRR 越高或者Hit@10 越高,代表模型效果越好。实验中,测试集和训练集中可能存在某些错误的三元组,本文采用文献[11]的标准,把可能错误的三元组从训练集、验证集、测试集删除,最终留下正确三元组。Filter 为删除错误三元组后的设置,最初设置称为Raw。实验中,使用Filter标准。

其中,T表示三元组测试集;候选实体集链接预测可表示为函数表示实体t在候选实体集中的排名。

3.3.3 实验结果和分析

采用相同实验设置情况下,本文实验环境为:Window 7 64 位系统,GPU 采用1 755 MHz 24 GD6 GeForce RTX 2080 Ti,物理内存为256 GB。在链接预测实验中,利用超参数网格搜索算法训练模型3 000次,以选择MRR 和Hit@10 最优超参数。在实验中,MRR和Hit@10 最优参数设置为:k=500,b=512,γ=6,λ=1e-5。表3展示了数据集WN18RR链接预测结果。

表3表明:(1)在数据集WN18RR上,球坐标模型较RotatE 在MRR 上有3.6%的提高,在Hit@10 上有1.9%的提高;球坐标模型较ConvKB 在MR 上有4.0%的提高,在Hit@10上有2.3%的提高。(2)此外,ConvKB模型表现能力优于ConvE,原因在于ConvKB 充分考虑三元组全局特性,深层次提取实体和关系特征。(3)和基于神经网络模型相比,球坐标模型在数据集WN18RR 表示能力更优,也说明了球坐标用于知识图谱补全效果更好。

表3 WN18RR链接预测结果比较Table 3 WN18RR link prediction results comparison

在实验中,MRR 和Hit@10 最优参数设置为:k=1 000,b=1 024,γ=9,λ=5e-5。表4 展示了数据集FBI5K-237链接预测结果。

表4 FBI5K-237链接预测结果比较Table 4 FBI5K-237 link prediction results comparison

表4 表明:(1)在FB15K-237 上,球坐标模型优于RotatE 模型,但MR 除外。(2)在数据集FB15K-237 上,球坐标模型较RotatE 在MRR 上有30%的提高,在Hit@10 上有3.4%的提高;球坐标模型较ConvKB 在MRR 上有4.8%的提高,在Hit@10 上有3.5%的提高。(3)和嵌入模型相比,球坐标模型在数据集FB15K-237表示能力更优,也说明了球坐标用于知识图谱补全效果更好。

在实验中,MRR 和Hit@10 最优参数设置为:k=500,b=1 024,γ=24,λ=2e-4。表5 展示了数据集YAGO3-10链接预测结果。

表5 表明:(1)在YAGO3-10 上,球坐标模型优于ConvE模型,但MR除外。(2)在数据集YAGO3-10上,球坐标模型较RotatE在MRR上有6.1%的提高,在Hit@10上有2.7%的提高;球坐标模型较ConvKB 在MRR 上有25.6%的提高,在Hit@10 上有16.5%的提高。(3)ConvE模型在MR上优于所有模型,MRR、Hit@10优于TransE、ComplEx 等模型,可以看出,ConvE 模型在数据集YAGO3-10 上具有很好的表示能力。(4)和其他模型相比,球坐标模型在数据集YAGO3-10 上具有更好的表示能力,也说明球坐标可以有效提高三元组预测准确率。

表5 YAGO3-10链接预测结果比较Table 5 YAGO3-10 link prediction results comparison

为清晰地展示球坐标建模实体的分层效果,在WN18RR上选取两个不同类型的三元组,其映射如图5所示。在分层实验中,本文将参数设置为:k=1 000,γ=6,λ=5e-5。在实验中,本文在二维(2D)平面上绘制了从球坐标模型获得的散点,并与RotatE模型进行了比较。

图5(a)中的三元组(AI,_hypernym,CS),尾实体的语义层级高于头实体,图5(b)中的三元组(ask,_verb_group,inquire),头尾实体的语义层级相同。从图5可以看出,在头尾实体分属不同语义层级的场景下(图5(a)),本文的算法较RotatE 表现出更加明显的分层效果。此外,在RotatE的散点图中,头尾实体难以依靠半径进行区分。对于头尾实体分属相同语义层级的场景下(图5(b)),本文算法分层效果依然表现较好,即头尾实体具有大致相同的半径。

图5 实体分层可视化Fig.5 Hierarchical visualization of entities

4 结束语

本文针对知识图谱补全提出一种新颖的球坐标语义分层方法,该方法将不同实体嵌入向量的同维度特征映射到同一个球坐标系中,可以有效建模知识图谱中普遍存在的语义分层结构。球坐标系由模长和角度两部分组成,模长部分用于建模分属不同语义层级的实体,角度部分用于建模属于相同语义层级的实体。在三个基准数据集上,进行了相关的链接预测实验。实验结果表明,和其他基准模型相比,本文的方法在MR、MRR和Hit@10指标上有了显著提高。这表明球坐标语义分层算法可以有效解决知识图谱数据稀疏问题,提高知识图谱完备性。

为提高链接预测准确率,在今后的研究中,将从两方面进行探索:(1)尝试将球坐标与神经网络模型结合以开发动态知识图补全方法。(2)将实体和关系的描述文本融入球坐标系,作为算法的输入。

猜你喜欢

三元组层级图谱
特征标三元组的本原诱导子
绘一张成长图谱
军工企业不同层级知识管理研究实践
基于军事力量层级划分的军力对比评估
关于余挠三元组的periodic-模
职务职级并行后,科员可以努力到哪个层级
一个时态RDF存储系统的设计与实现
补肾强身片UPLC指纹图谱
主动对接你思维的知识图谱
任务期内多层级不完全修复件的可用度评估