沙宝程,徐 涛,邓鉴格,马 坤
(西北民族大学 中国民族语言文字信息技术教育部重点实验室,甘肃 兰州 730030)
知识图谱是以结构化三元组的形式存储现实世界中的实体以及实体之间的关系,已知的大规模知识图谱包括Freebase[1]、Wikidata[2]、DBpedia[3]、YAGO[4]、NELL和Knowledge Vault等,目前在语义搜索、智能问答、个性化推荐等领域有着广泛的应用.实体对齐就是在不同的知识图谱中通过相似的语义关系或较近的向量距离找到描述相同对象的不同实体进行对齐,实体对齐可以为知识图谱的融合和补全提供支撑,也可以为语义搜索、推荐系统的下游任务提供支持.传统的实体对齐是基于符号特征进行对齐的,例如属性名称、文本描述、关系属性值等.传统实体对齐方法大多采用有监督的机器学习方法,如:决策树、支持向量机(Support Vector Machine,SVM)、集成学习等,通过计算属性相似度进行实体对齐,这种方法非常依赖于人工标注,不仅耗费大量的人工劳动力,而且噪声非常大,在多源知识图谱中属性存在异构性,导致对齐精度不高.
近年来,为了解决这些问题,提出了知识表示学习模型 (Knowledge Representation Learning,KRL)[5].KRL是将知识图谱中结构化三元组表示为低维向量(称为嵌入),同时保留原有三元组之间的语义信息,将知识图谱中的知识表示成向量,在低维度空间中根据嵌入的相似性进行实体对齐.Bordes等[6]提出TransE为代表的嵌入模型,将知识图谱表示为G=(h,r,t),h表示关系三元组的头实体,t表示关系三元组的尾实体,r表示他们之间的关系,在低维度向量中,不断平移h+r和t的距离,使h+r≈t.如果在其他的多元关系中,也存在着相似的结构,说明他们之间具有相似性.Zhu等[7]提出IPTransE方法,通过联合知识嵌入的迭代方法共享参数实现实体对齐,这种方法需要人工标注一些已经对齐好的对齐种子集合,利用这些对齐种子集合的结构映射到低维度向量空间,其非常依赖于人工标注的种子集合的准确性,如果标注不准确,会在迭代种子实体集合过程中产生非常大的噪声,影响实体对齐任务的精确度.Zhang等[8]提出了MultiKE方法,将知识图谱的各种特性划分成多个视图,把每个实体嵌入到特定的视图,多个视图互相补充学习,从而提高了实体对齐的精准度.Chen等[9]提出了MTransE,用已有的多语言知识图谱进行跨语言实体对齐,将多种语言的知识图谱分别编码成各自的实体关系对,利用一个融合模型把多种语言的向量嵌入到一个独立的空间,通过平移和线性转换进行对齐,这有助于构建连贯的多语言知识库和处理不同语言的不同表达.Wang等[10]提出的GCN-Align方法,首先使用图卷积神经网络进行嵌入式实体对齐,利用图的空间结构特征信息将实体嵌入一个低维度空间,然后在这个空间中计算实体和实体之间的距离来进行对齐实体.虽然利用图的结构信息和特征信息进行实体嵌入效果比其他的平移模型要好,但是该方法没有考虑到实体之间存在噪声实体对,有很多与真实的对齐实体对存在较大误差的噪声实体对也被标记成为对齐的种子实体对.
为了解决基于嵌入的实体对齐缺少噪音实体对标记的缺点,本文提出使用REA方法[11],设计噪声感知实体对齐模块和噪声检测模块.噪声感知实体对齐模块利用图卷积神经网络(Graph Convolutional Networks ,GCN)[12]作为知识图谱的编码器捕获知识图谱的结构信息.对抗噪声检测模块利用生成对抗网络(Generative Adversarial Networks,GAN)[13]设计了一个噪声实体对生成器和噪声实体对鉴别器.噪声实体对生成器利用学习到的实体嵌入来产生噪声数据,通过在噪声实体对生成器中迭代噪音实体对,提取真实噪音实体对和产生的噪音实体对,噪声实体通过鉴别器分别对这两个分量进行极小值和极大值的区分,从而提高分辨噪音数据的能力.
1.1 基于GCN的多语言知识图谱实体对齐模块基于嵌入的实体对齐方法已经成为主流,Trans系列的模型大大提高了实体对齐的精准度,但是利用GCN进行嵌入式实体对齐的研究还远远不足.利用GCN捕获实体与实体之间的结构和语义相似性进行知识图谱的实体对齐,将会大大提升准确度.因为知识图谱可以在图数据库中存储,节点就是实体,边是对应的属性关系,而GCN主要研究的就是图的节点和边建立的拓扑图,可以提取出知识图谱的空间特征.所以无论是在实体对齐还是推荐系统等方向GCN都非常适合用于知识图谱的研究.
利用GCN进行实体嵌入可以只考虑两个跨语言知识图谱中对应实体的等价信息,不用考虑关系或属性信息,这样不仅可以大大减少计算的复杂度,还能提高对齐的准确性.GCN可以捕获知识图上的特征信息,并将特征信息嵌入到低维度的空间向量中,通过计算这些特征向量的距离进行实体对齐,设置一个阈值θ,假设KG1中的es与 KG2中的eI可以使 ||es-eI||<θ ,则es与eI可以进行对齐.通常等价的实体具有相似的属性,通过GCN映射的相邻实体也具有一定的相似性.一个GCN是由多个GCN层组成的,每个GCN层中实体就是一个点,关系就是边,图上有4个属性,分别是整张图、顶点、边和连接性.前3个属性都是由向量来表示的,分别为全局向量、顶点向量和边向量,连接性是由每张图的邻接矩阵A构成.它通过信息传递的方式更新每一个部分的信息,不管有多少顶点都只有一个全连接层,并且所有顶点共享一个全连接层的参数.第m层的模型输入就是一个顶点特征矩阵,H(m)∈Rn×d(m),其中n是顶点数,d(m)为m层的特征个数,m层的输出则是一个新的顶点特征矩阵H(m+1),计算公式如下:
式中:H(m+1)为H(m)层的特征矩阵输出,σ为激活函数,W(m)为m层的参数矩阵,A是邻接矩阵,A中存储了图中的连接性,也就是实体之间的空间结构信息,I为单位矩阵.A+I的目的就是为了在提取图中结构信息的同时也要保留自身的信息,为的对角节点度矩阵,因为采用的加法规则进行聚合,所以度大的节点会越来越大,度小的节点会越来越小,这可能导致网络在训练的过程中导致梯度爆炸或者梯度消失的问题,所以需要用将特征向量归一化.通过不断堆叠卷积层可以得到更深层次的特征结构信息.
式中:φ可以把实体对映射成可学习的参数.ST是一组可信的无噪声的实体对,(ex,ey)~AST,D是判别输入的真实实体对 (ex,ey)或生成的噪音实体对噪声鉴别器,G((|ex,ey);θ)为噪声实体对采集函数,可以将给定的实体对 (ex,ey)生成为噪音实体对,θ可以将其映射成可学习的参数,G为噪音实体对生成器.在训练中,噪声鉴别器D的作用是让maxD越大越好,真实实体对希望被D划分成1,噪声实体对希望被D划分成0.噪声鉴别器G的目的是D在划分噪声实体(0)的时候划分成真实实体对(1),这样就可以使log(1-D(G))最小,训练D的同时也在训练G,G用来最小化log(1-D(G)).两者达到一个动态平衡的时候效果最优.
由于在GAN中生成器生成的噪音实体对是离散的,所以不能用梯度下降法来进行优化,所以本文采用KL散度进行参数优化.
1.3 交互训练策略本文采用迭代优化策略来训练REA模型,整体的REA模型框架如图1所示.初始化真实实体对中的信任分数,标记真实确定的不含有噪声的实体对集合为1,不确定是否含有噪声实体对的集合为0.在每次迭代中,通过GCN将实体嵌入低维度空间向量,然后交替训练噪声生成器G和噪声鉴别器D,G和D相互提升以提高分辨真实实体对和噪声实体对的能力.在每次迭代结束后,采用训练好的噪声鉴别器更新不确定是否含有噪声实体对的集合0,筛选出确定不含有噪声的实体对补充到评分为1的集合,利用新的信任分数,再次迭代,计算两个实体之间的距离,对计算结果进行升序排序,取前m作为已经对齐好的不含噪声的实体对,直到整个模型收敛.
图1 REA整体模型框架Fig.1 Overall model framework of REA
2.1 数据集本文采用DBP15K数据集,DBP15K由DBP15KZH-EN、 DBP15KJA-EN和 DBP15KFR-EN3种不同的跨语言知识图组成.每个数据集包含15 000对干净的标签实体对.为了验证噪音实体对,我们随机切割40%的实体作为训练实体,剩下的作为测试数据.DBP15K数据集中包含的实体、关系和三元组数量如表1所示.
2.2 评 价 指 标本 文 在 实 体 对 齐 任 务 中 采 用Hits@1、Hits@5、MRR3个评价指标.MRR表示正确实体的平均倒数排名,具体的计算方法如下:
表1 数据集三元组结构表Tab.1 The triplet structure table of data set
式中:S是三元组集合,|S|是三元组集合个数,ri是代表第i个三元组链接预测排名.
Hits@n指实体在TOPN中排名的正确率,具体计算方法如下:
本文在噪声检测任务中对不可靠的标记实体对进行噪声检测评估,将真实的噪音实体对和生成的噪音实体对进行二值分类,采用的评价指标为精确率(P)、召回率(R)和F1值.具体的计算方法如下:
(4)对于CFRP布加固简支下表面裂纹DF梁,裂纹处转角跳跃值随载荷增加而增大,随着CFRP布加固含量H2的增加,CFRP布加固裂纹梁的挠度减小,且裂纹效应逐渐减弱,最后几乎完全消失.
式中:TP表示预测为正样本且分类正确的样本数,TN表示预测为负样本且分类错误的样本数,FP表示实际为负样本但分类正确的样本数,FN表 示实际为正样本但分类错误的样本数.
2.3 相关实验及参数设置本文与现在主流的3个模型做了对比实验,分别为GCN-Align[10]、MTransE[9]和IPTransE[7].
GCN-Align模型采用图卷积神经网络的方法,直接对知识图谱中的图形结构数据进行建模.通过编码节点和节点的邻居节点生成节点级嵌入,生成邻域感知的实体嵌入,可以在发现对齐实体的同时,发现更多对齐的邻域实体.MTransE是一个基于翻译的多语言知识图谱对齐模型,将不同语言的实体嵌入同一个低维度空间向量,通过轴校准、平移和线性转换对齐不同语言描述同一事物的实体对.IPTransE采用了一种联合嵌入的方式,将两个异构的知识图谱中的实体对齐种子作为联合嵌入的输入,通过迭代对齐种子集合,从而将两个知识图谱中的实体进行对齐,在迭代和对齐的过程中,共享同一参数.
实验包括3个部分:实体嵌入、实体对齐、噪声实体对检测.在实验过程中采用全局变量,所有模块共享一个超参数,具体的参数设置如表2所示.
表2 模型参数设置表Tab.2 The setting table of model parameter
2.4 实 验 结 果 分 析本 文 在GCN-Align模 型、IPransE模型、MTransE和REA模型上进行训练测试,实验结果如表3所示.用图卷积神经网络(GCN)来做实体嵌入比用其他Trans系列的平移模型效果要好,在不添加噪声实体对的GCN-Align模型中,虽然评价指标比Trans系列的模型要好,但与添加噪声实体对的REA模型相比效果较差.在不同的数据集上REA模型在实体对齐方面优于其他没有噪声检测的模型,所以利用GAN来添加噪声实体对在实体对齐任务中有积极作用.通过添加噪声实体对标签不仅可以大大提高对齐的准确率,而且通过交互训练不断迭代的方法对齐了更多的跨语言实体对.
表3 模型在3种数据上的实验结果Tab.3 Experimental results of the model on three kinds of data set
由表3可以得出,4个模型在不同数据集上的实验结果对比图如图2~4所示.REA在Hits@1、Hits@5、MRR3个评价指标上都明显优于其他模型.不同的跨语言对齐模型在涉及噪声的场景下仍然有不同的性能,与GCN-Align等先进的模型相比,采用Trans系列的平移模型性能较差.
图2 DBP15KZH-EN对齐效果Fig.2 The alignment of DBP15KZH-EN
图3 DBP15KJA-EN对齐效果Fig.3 The alignment of DBP15KJA-EN
图4 DBP15KFR-EN对齐效果Fig.4 The alignment of DBP15KFR-EN
在实验中进一步检验噪声检测模块有多少的噪声能够正确的检测,对噪声检测模块中的实体进行二分类,其中包括未知实体对和噪声实体对,如表4所示,大多数的噪声可以被正确检测.由于所研究的知识图谱的不完整性,仍有大量真实实体对被检测成为噪声实体对.实验结果表明噪声检测模块性能稳定,对涉及噪声的实体对齐任务非常有用.噪声检测模块在不同的数据集上测试的评分如表4所示.
表4 不同数据集噪声检测分析表Tab.4 Noise detection and analysis of different data sets
由图5所示,通过计算不同数据集上的精确率、召回率和F1值,可以得出,不同数据集中的实体关系越多,噪声检测模块的准确率就越高,模型在训练学习时就会更优化,在实体对齐任务中的精准度也更高.
图5 噪声检测评估结果Fig.5 The results of noise detection and evaluation
基于嵌入的实体对齐模型大部分都没有考虑在标记实体对中出现的噪声问题,不管是用全监督学习还是半监督学习标记都存在一定的误差.所以,本文采用REA模型进行噪声检测和实体对齐任务,通过GAN网络生成噪声实体对,噪音鉴别器的鉴别可以将真实的噪声实体对和生成的噪声实体对区分出来.在基于GCN的实体嵌入模块中迭代,可以将原本真实数据中已对齐的未知实体对标记出来,若为噪声实体对则将其舍弃,留下对齐精准度较高的不含噪声的跨语言实体对.
未来要解决的问题主要有以下3个方面:①在实体嵌入模块中,由于GCN可扩展性差的问题,如果数据量过小,节点信息较少,则GCN的性能会大大下降;
②GCN在信息传递过程中,前几层的节点信息只能在小范围传递,只有图卷积层越深,效果才会越好,这样就增加了计算的复杂度;
③在噪声检测模块中,生成对抗网络很难趋于稳定,所以要优化损失函数,提高分类能力,进一步提高模型实体对齐的准确率.