APP下载

融合多源信息的知识表示学习

2022-03-13夏光兵李瑞轩辜希武

计算机与生活 2022年3期
关键词:三元组编码器图谱

夏光兵,李瑞轩,辜希武,刘 伟

华中科技大学 计算机科学与技术学院,武汉430074

知识图谱是用来存储实体、语义类型、属性以及实体间关系的大型网络。近年来,人们花费大量时间建立了很多各个领域的知识图谱,如Freebase、WordNet、DBpedia、Wikidata 等,它们在人工智能和智能信息服务的许多任务中扮演着重要的角色。知识图谱中主要包含实体和关系两个基本元素,它们通常以(头实体,关系,尾实体)的形式存储。知识表示学习的目的是学习实体和关系的分布式表示,并将它们映射到低维的向量空间中,它能够解决传统表示方法数据稀疏和运算复杂的问题。

近些年来,人们已经提出了多种知识表示学习模型。TransE受word2vec的启发,将三元组中的关系看成是头实体到尾实体间的平移,以较少的参数获得了性能上的较大提升,但它只适用于处理一对一关系,因此由它衍生出了很多扩展模型。TransH引入了特定关系超平面,借助于超平面法向量和平移向量一起来表示关系向量,将实体映射到不同关系的超平面空间中。TransR进一步假设关系应该拥有各自的语义空间,实体都应该看成语义空间中的向量。因此,它定义了不同关系的转移矩阵,将实体映射到对应的空间中。RESCAL将实体都用向量来表示,来捕获其中隐含的语义信息,而将关系都用矩阵来表示,来模拟各个要素之间成对的相互影响。DistMult通过限制关系矩阵为对角矩阵,从而极大减少了RESCAL 模型中的参数,但它仅适用于模拟对称关系。HolE结合了RESCAL 和DistMult 两者的优势,首先通过循环相关运算来联合三元组中的头尾实体,再与关系向量进行语义匹配,既具有RESCAL 强大的表示效果,同时又具有DistMult 的简洁性。ComplEx为了全面模拟非对称的关系,首次将复数应用到知识表示学习中来解决DistMult 中的非对称问题。在ComplEx 中,实体和关系都被表示为复数空间中的向量。ANALOGY在RESCAL 的基础上,强化了对实体和关系的类推特征的描述。它和RESCAL 模型一样,都将双线性函数当作评分函数,但它额外约束了关系的线性映射是正规且对称的。经证明,DistMult、HolE、ComplEx 都可以看成ANALOGY 在某些特定情况下的特例。

卷积神经网络(convolutional neural networks,CNN)最近也被广泛用于构建知识表示学习模型。RGCN利用图卷积网络(graph convolutional networks,GCN)对关系数据建模,在链接预测和实体分类任务上取得了较好的效果。ConvMask学习实体名称的嵌入及其文本描述的一部分,以将看不见的实体连接到知识图谱中。ConvE使用CNN 和多个非线性特征来建模,在很多公开的数据集上它都有着良好的效果,但它只关注了不同维度实体间的局部关系,而没有观察到相同维度实体间的全局关系。ConvKB将三元组向量组合成3 列的矩阵输入到卷积层中,从而保留了翻译特性。SACN(structureaware convolutional networks)充分结合了GCN 和ConvE 的优势,用一个带权重的GCN 构成编码器从大规模知识图谱的邻节点中学习权重信息和一个由TransE 和ConvE 组合而成的解码器来保存实体和关系间的翻译特性。Nathani 等为了充分利用知识图谱中相邻节点间隐含的复杂语义信息,建立了一种使用注意力的知识表示学习模型。它同样基于编码器-解码器模型,利用图注意力网络(graph attention networks,GAT)作为编码器,从所有实体的邻节点中获取实体和关系的属性,然后利用ConvKB 作为解码器计算全局特征。

本文提出了一种基于多源信息组合的知识表示学习模型(multi-source information combined knowledge representation learning,MCKRL),它是一种常见的编码器-解码器结构。为了学习复杂关系所描述的信息,MCKRL 中包含了基于TransE 模型构建的编码器,将知识图谱中的结构三元组和实体的文本描述信息、实体的层次类型信息、图的结构信息融合到一起。实体的层次类型信息可以帮助人们自动将不同实体联系到一起,并通过实体所属的类型信息约束实体中的语义特征。实体的描述信息是对实体相关内容更为详细的说明,里面包含了很多关键的知识,是对三元组结构的重要补充。图的拓扑结构信息描述了不同实体之间的联系,能够真实反映不同实体在空间上的相互影响。将它们与原始的三元组融合到一起,可以更完整地捕获到知识图谱中隐藏的实体和关系特征。另一方面,为了在不同维度上获取三元组向量的全局特征,同时保留模型的翻译特性,MCKRL 进一步使用了ConvKB 模型作为解码器。从编码器中得到的实体向量会输入到编码器中继续训练,得到的结果为三元组的最终评分。

1 MCKRL 模型结构

图1 给出了模型的整体框架。首先通过一维CNN 将实体的文本描述信息编码成向量,然后分别将三元组结构中的实体向量(h,t)和实体的文本描述向量(h,t)进行层次类型投影,在特定关系对应的向量空间中约束实体的语义信息,过滤掉其他不相干描述和语义的噪声干扰。再将它们分别与关系向量()结合,输入到图注意力网络中,使用图注意力机制捕获实体邻节点特征,找出每个实体与它的邻节点之间的相互影响。最后通过门机制将这两种实体向量和关系向量组合到一起进行训练。编码器训练的结果进一步输入到ConvKB 构成的解码器中,得到实体和关系向量的最终表现形式。

图1 MCKRL 模型整体框架Fig.1 Overall framework of MCKRL

1.1 融合实体描述信息

知识图谱中的实体通常指一个具体或抽象的单词,而实体描述则是对这个单词中包含的语义更为细致的文字说明。较短的描述一般由一句或几句话组成,而较长的描述则通常包括几段文字,它们可以看成是以文字的方式来对这个实体进行简洁而全面介绍。实体描述中含有大量的语义信息,它们可以成为知识图谱中原有三元组事实的重要补充,帮助建立更加完善的知识表示学习模型。

图2 是(Jane Austen,is the author of,Pride and Prejudice)中头尾实体描述实例。可以看到,对于Jane Austen 和Pride and Prejudice 的描述中,都有单词直接包含或间接暗示了三元组中要表示的内容。如果将这些文本描述提取出来帮助构建知识表示学习模型,显然会极大提升模型的效果。

图2 实体描述示例Fig.2 Example of entity description

本文依照DKRL(description-embodied knowledge representation learning)中的方式,采用CNN 编码实体的文本描述信息,模型结构如图3 所示。文本中的单词首先经过预处理过滤掉停用词,并利用word2vec模型表示成向量。然后输入到卷积层中提取文本特征,此处采用两层卷积来提高CNN 的性能。由于文本序列长短不一,对于短文本进行补零,在序列后面添加上零向量使文本对齐。两个卷积层后对应着两个激活函数来模拟神经元。每个非线性函数后连接一个池化层进行降采样,用来减少卷积层中的特征的数量,过滤掉噪声的影响。第一个池化层采用最大池化策略,获取每个局部区域中最强烈的信号特征,从而达到减少特征空间并过滤掉噪声的效果;第二个池化层采用平均池化策略,综合考虑所有局部信息的影响。

图3 CNN 结构图Fig.3 Structure of CNN

1.2 融合实体层次类型信息

实体的层次类型指的是实体不同粒度的层次结构,可以在知识图谱三元组信息的基础上给出系统化的类型知识,有助于建立更加高效的表示模型。同一个实体在不同的场景下所表达的意思很有可能大不相同。

如图4 所示,在Freebase 中,实体Jane Austen 有着book/author、award/award_nominee 和music/artist三种层次类型。显然,在三元组(Jane Austen,is the author of,Pride and Prejudice)中,头实体最重要的层次类型是book/author,尾实体最重要的层次类型是book/written_work。

图4 层次类型示例Fig.4 Example of hierarchy types

每个实体通常会包含多个层次类型,而每一种层次类型又有多个层。对于一个拥有层的层次类型,()是的第个子类型。如果将最精确的子类型定义为第一层,而将最普遍的类型定义为最后一层,那么每个子类型有唯一一个上层子类型。层次类型可以表示为:

然后使用TKRL(type-embodied knowledge representation learning)中的加权层次编码器,利用层次类型来构造投影矩阵M

其中,∈(0,0.5)为权重衰减系数,保证更具体的层次类型有更高的权重。

每个实体可能包含多个层次类型,而在不同的关系中,不同的层次类型重要性也不相同。知识图谱中的特定关系类型信息提供了实体在特定关系中可能属于的一种或多种类型,能够帮助组合多个实体层次类型信息。为了利用此信息,特定三元组(,,)中的头实体的层次类型投影矩阵M为:

其中,指实体层次类型的数量,z指特定关系中头实体的层次类型的集合。尾实体层次类型投影矩阵M的定义与M类似。

1.3 融合图的拓扑结构信息

知识图谱中,实体和关系都不是孤立的,而是相互作用、相互影响的。每个实体通过不同的关系连接到其他的实体,所有的三元组由此共同组成了具有拓扑特征的网络结构。实体的局部邻节点中包含着很多重要的隐藏语义信息,各个邻节点又对这个实体会产生不同程度的影响。因此知识图谱中每个三元组除了提供自身的结构信息外,还对整个网络拓扑有不同的贡献。如果按照传统的方式孤立地分析每个三元组会忽略这些拓扑结构信息。因此本文使用GAT 来捕获实体邻域中隐藏的内容。原始的GAT 只考虑了节点(实体),而没有考虑边(实体间的关系),为了将关系和邻节点特征联合在一起,本文采用Nathani 等提出的方法,重新定义一个注意力层,作为整个模型的核心。

图注意力机制的构成如图5 所示,其核心是两个卷积层。在第一个卷积层中,为了更新实体e的向量,采用一个线性转换层来学习特定的三元组t=(e,r,e)中实体和关系联合的向量表示。 t组合后对应的向量表示为:

图5 GAT 结构图Fig.5 Structure of GAT

其中,eer分别指三元组中头尾实体和关系的向量表示。指线性转换矩阵。然后通过另一个线性转换矩阵以及非线性函数获取每个三元组的绝对注意力值b,从而计算不同三元组的重要性。

为了计算三元组的相对注意力值α,对b进行归一化,相对注意力值表示为:

其中,N指实体e的邻节点集合,R指实体ee之间关系的集合。实体e所有邻节点按相对注意力值加权求和后得到更新后的向量表示。

为了使这个过程保持平稳,模型采用了多头注意力机制,分别使用两个注意力头来单独计算实体向量,然后将它们连接到一起。

为了使关系维度与实体保持一致,使用一个权重矩阵作为线性转换层来更新关系向量。然后,在第二个卷积层中重复上述过程。实体在利用GAT 学习新的向量时,会丢失原始的向量信息。因此,进一步使用权重矩阵将新的向量和原始向量线性组合,以此保留初始向量的一部分信息。

1.4 组合实体信息

为了权衡两者实体中最有价值的信息,本文采用Xu 等提出的联合模型来学习结构信息和文本信息的组合表示。组合后的头尾实体表示为:

1.5 编码器训练

编码器模型的评分函数表示为:

训练时,采用最大间隔法,损失函数定义为:

其中,>0 为指定的间隔参数,′是中三元组从实体集合中替换头尾实体后对应的负样本,′可以表示为:

1.6 解码器训练

为了捕获三元组的全局特征,概括模型的翻译特性,提高知识表示的准确性,使用ConvKB作为解码器来对编码器中的向量进一步训练。

ConvKB使用软间隔损失函数来训练,可表示为:

2 实验与分析

2.1 实验内容和参数设置

为了验证模型的效果,分别在FB15K和FB15K237上进行了知识图谱的链接预测和三元组分类实验。

编码器模型中,单词和三元组的输入维度都选择50,为了加快收敛,利用word2vec 模型初始化文本中的单词向量,使用TransE 模型的训练结果初始化三元组中的向量。CNN中,第一个卷积层窗口设为2,第二个卷积层窗口设为1。两个卷积层后的非线性函数都选择tanh 函数。第一个池化层窗口大小为4,第二个池化层窗口大小为1。Freebase 中层次类型信息只包含实体的域和类型两层,使用层次矩阵进行编码,每种关系类型和域矩阵维度都随机初始化为50×50,类型矩阵权重设置为0.9,域矩阵权重设为0.1。在GAT的第一层中单独使用了两个注意力机制,每个注意力机制中输出维度为100,因此组合后输出的三元组向量维度都变为200,LeakyReLU 函数斜率设置为0.2。评分函数间隔取1.0。使用Adam 算法优化,学习率为10,权重衰减参数为10。模型迭代次数设为3 000。

对于解码器模型,实体和关系的输入输出维度都为200。在ConvKB 中,二维卷积层的输出通道数选择50。同样使用Adam 算法优化,学习率取10,权重衰减参数取10。模型批次设为256,迭代次数设为300,设为0.001。

2.2 实验结果

对于链接预测,采用三种评估指标:(1)平均倒数排序(mean reciprocal rank,MRR),表示正确三元组排名倒数的平均值;(2)平均排序(mean rank,MR),表示正确三元组排名的平均值;(3)Hits@,表示前(=1,3,10)个预测结果中正确三元组的比例。

两个数据集上的链接预测结果如表1 所示。根据实验结果可以发现,MCKRL 模型在两个数据集的几乎所有指标上均比其他模型表现更好,这证明了本文的组合模型是十分有效的。表明实体的文本描述信息、层次类型信息和图结构信息都是对原始三元组的重要补充,能够改进知识表示学习的效果。准确来说,在MR 评测指标上的提升,表明模型对于知识表示学习的整体效果较好,而在MRR 评测指标上的下降和Hits@评测指标上的提升,则表明组合模型在链接预测任务上对实体的推荐水平较高。

表1 链接预测实验结果Table 1 Experimental results of link prediction

相比Nathani 等仅利用图注意力机制建立的模型,MCKRL 的结果在各个评测指标上有所提升,但并不是特别大。一方面是因为GAT 捕获到的邻节点之间的联系能在一定程度上弥补实体描述信息和层次类型信息的缺失;另一方面可能是模型中信息的编码方式不能完全获取实体的全部语义。

对于三元组分类,用准确率,即判断正确的数量与样本总数的比值,作为评价指标。

FB15K 和FB15K237 两个数据集上的三元组分类结果如表2 所示。从结果中可以发现,对于三元组分类问题,组合模型在两个数据集上的准确率同样超过了其他基线模型,这也证明了本文模型的效果。一方面,编码器模型融合了多源信息的模型能够为三元组提供更多的辅助信息,从而帮助改进三元组分类的效果;另一方面,是因为本文采用的解码器模型ConvKB 从本质上来看就是一个分类器,因而在三元组分类问题上表现得更好。

表2 三元组分类实验结果Table 2 Experimental result of triple classification

3 结束语

本文提出了一种融合多源信息的MCKRL 模型,首先基于TransE建立了编码器,将结构化的三元组信息、实体的描述信息、实体的层次类型信息和图的拓扑结构信息融合到一起。然后使用ConvKB模型作为解码器来计算不同维度间的全局信息,同时保留模型的翻译特性。在两个经典数据集FB15K和FB15K237上分别进行了链接预测和三元组分类实验,结果表明,本文方法在这两类任务的表现比其他的基线模型要好,从而证明了实体描述信息、实体层次类型信息和图结构信息是对知识图谱原始三元组结构信息的有力补充,本文的组合模型能明显提高知识表示学习的效果。后续工作的重点是:(1)改进信息编码和融合的方式,以更充分获取附加信息中的内容,同时降低模型复杂程度;(2)考虑更多的多源异质,如逻辑规则、关系路径等,进一步提高模型的效果;(3)深入探索各因素的具体影响,进一步提升模型性能。

猜你喜欢

三元组编码器图谱
基于图对比注意力网络的知识图谱补全
融合CNN和Transformer编码器的变声语音鉴别与还原
TransP:一种基于WordNet中PartOf关系的知识图谱嵌入方法
设定多圈绝对值编码器当前圈数的方法
基于卷积神经网络的知识图谱补全方法研究
转炉系统常用编码器选型及调试
绘一张成长图谱
K-VQA:一种知识图谱辅助下的视觉问答方法
舞台机械技术与设备系列谈(二)
——编码器
基于多特征语义匹配的知识库问答系统