金 婧,万怀宇,林友芳
(北京交通大学计算机与信息技术学院交通数据分析与挖掘北京市重点实验室,北京 100044)
知识图谱是推动人工智能学科发展和支撑智能信息服务应用的重要技术,可将人类知识构建成结构化的知识系统。在知识图谱中知识通常以三元组的形式进行表示,知识图谱以网络图的形式来构建整个知识系统,知识表示作为知识图谱中知识获取和应用的基础,可提升知识图谱的认知和推理能力[1-2]。随着Freebase、DBpedia 等大型知识图谱被提出,基于网络形式的知识表示在大规模知识图谱下存在计算效率低下和数据稀疏等问题[3-4]。近年来,以深度学习为代表的知识图谱表示学习技术得到了广泛关注,其旨在将研究对象映射到一个连续低维的向量空间中,以便于高效计算实体和关系的语义相似度,同时能有效解决数据稀疏问题。
翻译模型是一种主流的知识表示学习模型,因简单和高效的特点而备受关注,并且许多在翻译模型基础上进行改进的变体模型被陆续提出。这些模型不仅利用了知识图谱所固有的结构信息,而且考虑了实体描述信息、类别信息和图像信息等与实体相关的多源信息,大幅提高了知识表示学习性能。TKRL 模型[5]是一种利用实体类别信息作为外部信息的知识表示学习模型,在该模型中不同类别的实体具有不同的表示,对于实体类别的层次结构,利用两种编码类型对层级结构进行建模,最终证实了实体类别可以在知识表示学习中发挥重要作用。然而,TKRL模型依赖于具有层次结构的类别信息及事先制定好的规则约束,该规则约束具体为当给定一种关系时,约定了该关系的头实体和尾实体的具体类别,但该规则约束对于现实世界的数据而言不具备灵活性,并且不仅TKRL 模型需要利用事先制定好的规则约束,而且很多其他融合实体类别信息的翻译模型也都基于类似的规则。本文建立一种融合实体类别信息的类别增强知识图谱表示学习(Category-Enhanced Knowledge Graph Representation Learning,CEKGRL)模型,引入基于类别的实体表示,通过注意力机制学习实体类别和关系之间的相关性,并结合实体类别信息进行知识表示学习。
知识表示是对知识进行描述的有效途径,旨在研究如何更准确地表示知识的语义信息以更好地利用知识图谱,从而使得计算机能够接受并运用知识,最终达到智能的目标。知识表示学习是通过机器学习的方式将知识(知识图谱中的实体和关系)表示为稠密低维的实值向量,有效解决了数据稀疏问题,并且学习到的知识表示能够保留知识图谱中的结构和语义关系,从而高效计算实体和关系之间的语义相似度,使其广泛适用于知识图谱补全、自动问答和实体链接等下游任务中。
近年来,随着深度学习技术的发展,知识表示学习方法取得较大进展。以TransE[2]为代表的翻译模型是知识表示学习中的热门模型,这类模型将关系向量作为头实体向量到尾实体向量之间的平移,即假设尾实体向量t近似于头实体向量和关系向量的和(h+r),并定义能量函数为E(h,r,t)=‖h+r-t‖。TransE 模型因参数少及计算复杂度低,在1-1 简单关系中具有较好的性能表现,但对于1-N、N-1 和N-N等复杂关系,由于TransE 模型的建模方式过于简单,因此存在一定的局限性。为解决该问题,后续出现了许多以TransE 为基础的改进模型,如TransH、TransAH、TransA、TransG、TransR 和TransD 等。TransH 通过将头实体、尾实体向量投影到对应关系的超平面上,从而令一个实体在不同的关系下具有不同的表示[6]。TransAH 模型在TransH 模型的基础上引入了一种自适应的度量方法,通过加入对角权重矩阵将得分函数中的度量由欧氏距离转换为加权欧氏距离[7]。TransA 模型中的自适应度量方法为每一种关系定义一个非负的对称矩阵,从而对表示向量中的每一个维度添加权重,增加了模型的表示能力[8]。TransG 模型使用高斯混合来刻画实体间的多种语义关系,利用最大相似度原理训练数据,解决了多语义问题[9]。TransR 模型假设不同的关系具有不同的语义空间,因此将每个实体投影到对应的关系空间中[10]。TransD 模型通过设置两个关系-实体投影矩阵,并结合头、尾实体位置的属性,解决了TransR 模型参数过多的问题[11]。
除了翻译模型及其改进模型以外,研究人员还提出了一些其他类型的知识表示学习模型,主要包括:1)距离模型,将头、尾实体向量通过投影矩阵投影至对应空间,并通过计算投影向量的距离来反映实体间的语义相似度,如SE 模型[12];2)能量模型,通过定义若干投影矩阵,并利用双线性函数刻画实体与关系的内在联系,如SME 模型[13-14];3)矩阵分解模型,通过矩阵分解的方式得到低维向量表示,如RESCAL 模型[15-16];4)双线性模型,利用基于关系的双线性变换刻画实体和关系之间的二阶联系,如LFM 模型[17]。
以上模型仅利用了知识图谱自身所包含的三元组结构信息,但除了结构信息以外,还有大量与知识相关的其他信息没有得到有效利用,如知识库中所包含的实体和关系的描述信息、类别信息以及知识库以外的海量互联网文本信息等。这些多源信息提供了知识图谱中三元组结构信息以外的额外信息,有助于更准确地学习知识表示。NTN 模型[18]使用实体中单词嵌入的平均值表示实体,从而捕捉实体之间的潜在文本关系。DKRL 模型[19]通过考虑实体的描述信息文本来编码实体描述的语义信息。IKRL模型[20]引入实体图像信息,并利用神经网络构造实体图像的表示。TKRL 模型[5]通过引入具有层次结构的类别信息以及实体类别与关系之间的约束信息来提高知识表示能力。但并非所有实体类别都具有层次结构,且实体类别与关系的约束方式不具备普适性和灵活性。为解决上述问题,本文提出一种融合实体类别的CEKGRL 模型。该模型利用数据集中最底层的实体类别,通过注意力机制捕获实体类别和关系之间的相关性,并利用注意力分数对类别表示进行加权以学习知识表示。
知识图谱通常包含实体的类别信息,而类别信息作为实体属性的一部分,能够起到补充实体语义信息的作用。为有效融合知识图谱中的实体类别信息,同时兼顾翻译模型的高效性,本文提出CEKGRL模型,其在TransE 模型的基础上引入实体的类别表示,旨在学习三元组知识的同时,能够通过类别信息得到更加准确的知识表示。该模型无需依赖实体类别与关系之间的固定映射,便于将模型灵活地迁移到其他更加复杂且难以得到该映射关系的场景中。同时,CEKGRL 模型对实体类别的组织形式没有要求,通过将类别的组织结构进行扁平化处理,可适应各种应用场景对类别信息格式的要求,无论是FB15K 中具有层次结构的类别信息,还是其他形式的类别数据均可以使用。
为更清晰地表述CEKGRL 模型的基本思想,图1通过具体实例说明了实体类别与三元组关系之间的语义相关性。图1(a)左侧的George Washington 代表乔治·华盛顿这一实体,其右侧的矩形代表列举出的实体所包含的部分类别属性,包括政治家、美国国会议员、死者、人、名称来源和电影主题。图1(b)列举了与乔治·华盛顿这一实体有关的两个三元组,括号中的内容从左到右分别是头实体、关系和尾实体,其中,矩形代表乔治·华盛顿的实体类别属性,直线代表类别与关系之间的相关性,直线以及矩形颜色越深代表实体类别与关系之间的相关性越强。以知识图谱中与乔治·华盛顿实体相关的两个三元组为例,乔治·华盛顿的“政治家”和“美国国会议员”这两个类别在(美国大陆会议,官员,乔治·华盛顿)三元组中比其他类别更具相关性,而在(肺炎,死因,乔治·华盛顿)三元组中,“死者”则能表达出更多相关的信息。这说明了同一个实体的不同类别在不同的三元组关系中可以起到提供语义信息的作用,并且不同类别的重要程度与三元组的关系存在一定的关联关系。在此情况下,实体的类别信息可以丰富实体的表示,使知识表示具有更多的语义信息。
图1 实体类别与三元组关系之间的语义相关性Fig.1 Semantic correlation between entity category and triple relationship
为更清晰地描述CEKGRL 模型,本文给出相关的定义和符号表示,将知识图谱定义为G=(E,R,S),其中:E为实体集;R为关系集;S⊆E×R×E表示三元组集合,三元组集合用(h,r,t)进行表示,h、r和t分别代表头实体、关系和尾实体。此外,本文引入类别概念,用C表示类别集合,并定义基于结构和基于类别的实体表示,分别代表从知识图谱的三元组中学习到的实体表示以及引入类别表示所得到的实体表示。
CEKGRL 模型的整体架构如图2 所示,其中,斜线状的圆圈组成的椭圆代表基于结构的向量表示,网格状的圆圈组成的椭圆代表基于类别的向量表示,实心圆圈组成的椭圆代表关系的向量表示,空心的圆圈组成的椭圆代表实体类别的向量表示,a表示注意力分数。为将两种表示类型进行融合,定义能量函数为:
其中:ESS=‖hs+r-ts‖,为头实体、尾实体使用基于结构的实体表示得到的能量函数;hs、ts分别为基于结构的头实体、尾实体表示;hc、tc分别为基于类别的头实体、尾实体表示;超参数β用于调整基于类别的表示在CEKGRL 模型中的重要程度;ECC=‖hc+r-tc‖,为头实体、尾实体使用基于类别的实体表示得到的能量函数。需要说明的是,实体基于结构和基于类别的表示在训练过程中都使用统一的关系表示r,保证了两种类型的向量表示空间可通过相同的关系表示达到统一。
图2 CEKGRL 模型的整体架构Fig.2 Overall architecture of CEKGRL model
在训练过程中,首先通过注意力机制得到实体类别表示与三元组关系的相关性,即注意力分数,然后利用该注意力分数对类别表示进行加权求和并将其作为基于类别的实体表示,最后将相同的关系表示作为两种表示空间的联系,将基于结构和基于类别的表示进行联合训练。
实体的不同类别信息可以从多个角度刻画实体,而同一个实体在不同的关系下会侧重关注其不同的类别信息,具体表现为同一实体的不同类别与不同关系之间的语义相关性不同。为有效利用三元组中关系和实体类别之间存在的潜在相关性,本文通过以下注意力机制计算并得到两者之间的相似度:
1)基于相似度的注意力(Similarity-based Attention,SA)机制。受STKRL 模型[21]中注意力机制的启发,将实体类别与三元组关系之间的相关性定义为两者向量表示的相似度,并采用余弦相似度进行计算,公式如下:
其中,att()为求解注意力分数a的函数,c为类别的向量表示。
2)缩放点积注意力(Scaled Dot-Product Attention,SDPA)机制。基于文献[22]中的注意力计算方法,结合CEKGRL 模型将关系r作为query 向量,类别c同时作为key 向量和value 向量。在实现过程中,为加快处理效率,通过矩阵的形式计算注意力,因此将多个关系的表示向量及其对应的类别表示向量分别拼接为关系矩阵R和类别矩阵C。然后,引入待训练的权重矩阵WQ、WK和WV,将权重矩阵、关系矩阵和类别矩阵分别做矩阵相乘操作,得到query、key 和value 对应的矩阵Q、K、V及注意力分数,如式(3)~式(6)所示:
通过以上两种注意力机制计算得到的注意力分数越高,说明类别c与关系r的相关性越强。因此,本文利用注意力分数对各个类别表示赋予不同权重,再对加权后的所有表示求和得到对应的实体表示,即基于类别的实体表示,其在矩阵形式下的计算公式如下:
其中,Ec为基于类别的实体表示向量集合。
CEKGRL 模型与TransE 模型的训练目标相同,本文采用最大间隔方法增强知识表示的区分能力,定义目标函数为:
其中,E(h,r,t)为正例三元组的能量函数,E(h′,r′,t′)为负例三元组的能量函数,γ为间隔的超参数且γ>0,T为训练集,T′为利用T进行负采样得到的集合,定义为:
其中,头实体、尾实体或者关系被随机替换为其他实体或者关系,另外,如果替换后的新三元组仍在T中,则不会被当作负样本。
在模型训练过程中,实体、关系和类别的表示均可以随机初始化,实体和关系的表示也可以采用简单的翻译模型预训练得到。在具体的模型实现过程中,为使初始的类别表示具有一定的语义信息,本文借助预训练得到的实体表示对其进行初始化,相较于随机初始化能够缩短模型收敛时间。初始化类别的具体方法为利用所有包含类别ci的实体表示的平均值作为该类别的表示,形式化为:
其中,|eci|表示具有ci类别的实体数量且i满足i∈[1,|C|]。
CEKGRL 模型在最小化目标函数的同时,可学习基于结构和基于类别的两种表示,并在模型训练过程中,采用Adam[23]优化算法提升学习效果。
实验使用FB15K 数据集,通过知识图谱补全和三元组分类任务对模型进行性能评估。FB15K 是从Freebase 中抽取出的数据集,在实验中将其划分为训练集、验证集和测试集,具体的统计信息如表1 所示,其中,#Rel 表示关系,#Ent 表示实体,#Train 表示训练集,#Valid 表示验证集,#Test 表示测试集。所有的事实三元组即实验中的训练集、验证集和测试集的并集,在下文中称为黄金三元组。
表1 FB15K 数据集统计信息Table 1 Statistics of FB15K dataset
对于类别数据,本文采用文献[5]公开的数据集,该数据集包含Freebase知识库所涉及的type/instance字段,即类别信息,通过匹配Freebase 中FB15K 所包含的实体,并为这些实体添加知识库中实体对应的类别信息得到。在数据处理过程中,发现有10 个实体出现在原始FB15K 数据集中,但没有与之对应的实体类别信息。在处理数据缺失问题时,为保证原始FB15K 数据的完整性,需要保留这10 个实体及其所涉及的所有三元组,使这10 个实体也具有类别信息。经过数据统计发现,99%的实体都包含common/topic 类别,因此在实验中采用众数规则对这10 个缺失类别的实体人为添加common/topic类别。经过处理的数据集具有3 852个类别,每个实体平均约有12 个类别。
为验证CEKGRL 模型的学习效果,将其与TransE、TransR 和TKRL 等模型进行对比,在训练阶段对TransE 模型增加关系负采样操作,提升关系预测性能。对于TransR 模型,本文采用文献[10]的开源代码进行实验,并与TransE 模型在负采样过程中的操作相同,在生成负样本时也对关系进行替换操作。对于RESCAL、SE、SME、LFM 及TKRL 模型,本文直接引用文献[5,10]中的实验结果。
关于模型的参数选择问题,实验设置初始学习率α为0.000 5、0.0010、0.002 0,批量大小B为20、240、1 200、4 800,实体和关系的向量维度k为50、100、200,阈值γ为0.5、1.0、1.5、2.0。对于缩放点积注意力机制,设置权重矩阵中的dk为49、64、100。考虑到基于结构和基于类别的表示所起作用不同,因此本文为基于类别的表示设置权重,用超参数β进行表示,超参数β用于调整其在CEKGRL 模型中的重要程度。实验得到的模型最优参数设置为α=0.0010、B=4 800、k=200、γ=1.0、dk=100 和β=0.5。
知识图谱补全任务是在给定事实三元组(h,r,t)中两项的前提下预测缺失的一项,即给定(h,r)预测t,给定(r,t)预测h或给定(h,t)预测r,因此知识图谱补全包括实体预测和关系预测这两个子任务。
本文采用MeanRank 和Hit@n两种评估指标,其分别表示正确的实体和关系在预测结果中的平均排名以及正确的实体和关系排在预测结果前n名的比例。针对每个指标给定Raw 和Filter 两种不同设置,Raw 设置只要预测结果不是当前三元组所期待的结果,就将其视作错误的预测结果,即使该预测结果属于黄金三元组,Filter 设置则是剔除属于黄金三元组的预测结果后所得的预测结果。
对于这两种设置,Raw设置会忽略黄金三元组的存在,如果预测出的结果属于黄金三元组,但并非当前所关注的特定三元组,则认为预测结果错误,从而导致预测性能变差,但这部分由于黄金三元组而造成预测错误的结果,实际上的预测结果为正确,不应影响模型预测性能,因此本文认为Filter设置的预测结果更具说服力。
3.3.1 实体预测
CEKGRL 模型在实体预测任务中的评估结果如表2 所示,结果表明CEKGRL 模型除了MeanRank 的Raw 指标较TKRL 和TransR 模型略低以外,其他指标均得到提升。在Filter 设置下,与TKRL 模型相比,CEKGRL(SA)模型的Hit@10 指标约提升了7.2 个百分点,MeanRank 指标提升了约23.5%。
表2 实体预测的评估结果Table 2 Evaluation results on entity prediction
3.3.2 关系预测
关系预测任务的评估结果如表3 所示,结果表明CEKGRL(SA)模型的MeanRank 指标优于其他模型,这说明CEKGRL 模型具有较好的关系预测性能。同时可以看出,TKRL 模型的Hit@1指标略优于CEKGRL模型,主要原因为TKRL 模型利用关系与类别之间的约束关系来对层次结构信息进行编码,相较CEKGRL模型额外引入了约束关系信息来提升模型性能。若要获得该约束关系,则需要对数据集有一定的要求或者对一些不容易提取的约束关系数据集进行人工构造,这样会导致TKRL 模型的通用性和灵活性变差。本文提出的CEKGRL 模型获取约束信息的方式更具普适性和灵活性,适用于基于多源信息融合的知识表示学习。
表3 关系预测的评估结果Table 3 Evaluation results on relation prediction
三元组分类是一个二分类任务,用于判断给定的三元组是否准确。在生成负样本三元组时,本文采取与文献[18]相同的策略,对生成负样本时所需替换的实体或者关系进行一定的限制,使得负样本难以区分,从而提升模型在三元组分类任务中的性能。在分类过程中,对于给定的三元组(h,r,t),如果其注意力得分低于给定的阈值γ,则预测其为正确的三元组,反之为错误的三元组。每种关系的阈值设置不同,具体通过最大化验证集中对应关系下的分类准确率进行设置。三元组分类的评估结果如表4 所示,结果表明CEKGRL模型具有较优的分类性能。
表4 三元组分类的评估结果Table 4 Evaluation results on triple classification %
为进一步验证CEKGRL 模型可以学习到特定关系下不同类别的相关性,并更清晰地表示模型的作用效果,本文通过具体案例进行分析与说明。图3 给出了在(Gangs of New York,film_festivals,2010 Berlin Film Festival)三元组中,2010 Berlin Film Festival 作为尾实体所具有的类别在实验中的注意力分数排名,其中,“Head:Gangs of New York”表示头实体为Gangs of New York(电影名称),“Relation:film_festivals”表示关系为film festivals,“Tail(interest):2010 Berlin Film Festival”表示尾实体为2010 Berlin Film Festival,并且是本文所关注的类别排名的实体。根据类别注意力分数得到的排名结果可以看出,排在最靠前的类别与三元组中的关系相关性最强,排在靠后位置的类别一般覆盖范围更广。
图3 2010 Berlin Film Festival 实体类别根据注意力分数的排名情况Fig.3 Rank of 2010 Berlin Film Festival entity category according to attention score
由于CEKGRL 模型可以区分出不同关系中实体类别的重要程度,因此当具有一词多义的实体处于不同语境时,可以通过最相关的类别来判断其具体含义,用于辅助实体消歧任务。实体消歧是由于同一实体指称在不同上下文可以指代不同实体,为能够明确实体指称所指代的实体而提出的任务,在语义分析、搜索和问答等自然语言处理相关应用中都是需要解决的关键性问题。本文将实体类别中最高的注意力分数作为不同语义环境下区分实体的参考依据,并基于此设计实体消歧实验。在实验中,从测试集中随机选取100 个三元组,通过模型得到头、尾实体类别的注意力分数,并检验最高分数的类别是否能够直接体现出对应实体在该三元组中的语义。实验结果显示,其中有61 个三元组符合上述实验假设,因此证明了CEKGRL 模型在实体消歧任务中也具有一定的指导意义。由于篇幅限制,在此对该实验过程不再赘述。
现有融合实体类别信息的知识表示学习模型中的类别与关系间通常需要设置约束条件。为高效利用实体类别与三元组关系之间的潜在相关性,本文提出一种采用注意力机制学习类别与关系间相关性的CEKGRL模型。在具有实体类别信息的FB15K 数据集上,利用知识图谱补全和三元组分类任务对CEKGRL 模型进行性能评估,结果表明其相比现有知识表示学习模型在MeanRank 和Hit@n 评估指标上均取得一定的性能提升,并通过案例分析验证了注意力机制的有效性。由于CEKGRL 模型仅利用了知识图谱中的类别信息,因此后续可在该模型中融入更多具有丰富语义的多源信息进行联合训练,拓宽其在自然语言处理领域的应用范围,进一步提升适用性与实用性。