APP下载

基于卷积神经网络的高效知识表示模型①

2020-10-19李少杰陈曙东郝悦星欧阳小叶龚立晨

高技术通讯 2020年9期
关键词:三元组实体卷积

李少杰 陈曙东 郝悦星 欧阳小叶 龚立晨

(*中国科学院大学微电子学院 北京 100049)(**中国科学院微电子研究所 北京 100029)

0 引 言

近年来知识图谱技术发展越来越快,在自然语言处理领域有了越来越多的应用,如机器阅读[1]和知识问答[2]。知识图谱是图结构的知识库,旨在描述真实世界中存在的各种实体及其关系,其构成一张巨大的语义网络图,它的节点代表实体,边代表连接2个实体之间的关系,边和两端的节点组成一个三元组。一般形式为(头实体,关系,尾实体),比如:(希区柯克,导演,惊魂记),也可以缩写为(h,r,t)。然而,一些大规模的知识图谱,比如世界知识库Freebase[3]、百科知识库DBpedia[4]和多语言知识库YAGO[5],通常是不完整的,缺少大量的合理三元组[6,7],知识补全(又称为链接预测)任务[8]被提出来解决这个问题。知识补全也称为链接预测,即预测一个三元组(h,r,t)是否是合理的知识,所采用的方法主要是基于知识表示的模型。知识表示旨在把图谱中的三元组投射到一个连续的向量空间,使得可以在低维空间中高效计算实体和关系的语义联系,有利于大量下游知识补全等任务的计算。知识表示的模型大致可以分为3类,基于向量元素组合的模型、翻译模型、基于卷积神经网络(convolutional neural network, CNN)的模型。矩阵分解模型(a three-way model for collective learning,RESCAL)[9]、张量神经网络模型(neural tensor network,NTN)[6]和全息表示模型(holographic embeddings,HOLE)[10]是基于向量元素组合的模型。RESCAL和NTN都使用捕获向量各维度元素间丰富交互的张量乘积,但它们需要大量参数来建模关系,因此计算起来很麻烦。为了克服这些缺点,HOLE使用头尾实体向量的循环相关来表示实体对,创建了更有效和可扩展的表示。以TransE[11]为代表的基于翻译的模型一般把实体表示成向量,把关系表示成实体间的操作,它们的打分函数是基于距离的方式。由于TransE无法有效建模1-N、N-1、N-N这3种类型[11]的复杂关系,TransH[12]、TransR[13]和TransD[14]等一系列基于TransE的改进模型被提出。其中,TransH引入了关系超平面机制,同时用平移向量和超平面的法向量来表示三元组中的关系。TransR认为不同的关系应该拥有不同的语义空间,所以它用不同的矩阵来表示关系。而TransD认为头实体和尾实体应该拥有不同的关系矩阵,于是用2个关系矩阵来表示三元组中的关系,并且为了解决参数过多的问题,TransD利用2个向量来构建关系矩阵。这些翻译模型结构更简单,参数更少并且相对更容易训练,但是基于翻译的模型难以学到实体和关系间复杂的特征。最近,学者们提出了2种基于卷积神经网络的知识表示模型,卷积嵌入模型(convolutional embeddings,ConvE[15])和卷积知识库模型(convolutional knowledge base,ConvKB[16])。ConvE在头实体和关系组成的矩阵上用2-D卷积核来提取特征,得到的特征矩阵向量化后和尾实体向量内积来得到代表三元组知识合理性的分数。ConvE架构里包括卷积层,全连接映射层和用于最终预测的内积层。ConvKB使用多个1-D卷积核在头尾实体和关系组成的3列矩阵上逐行进行卷积操作以提取三元组每个维度上的特征关系。这2种基于卷积神经网络的模型都因为卷积特征提取器的高效性,可以提取到实体和关系间复杂的语义特征,得以学习到更高质量的知识表示。但是ConvE没有把头尾实体和关系组合在一起来提取特征,丢失了三元组整体的结构信息。而ConvKB虽然在头尾实体和关系组成的矩阵上提取三元组整体特征信息,但由于采用1-D卷积核,卷积核的感受野仅限于一行,不如2-D卷积核覆盖的范围广,提取到的信息丰富。

在以上研究工作的启发下,为了能够提取到更丰富的三元组嵌入的特征信息,本文提出了一种新的基于卷积神经网络的知识表示模型(convolutional knowledge embeddings,ConvKE),对于每个三元组(h,r,t),ConvKE把每个元素都表示成一个k维向量空间里的向量(vh,vr,vt),并把他们组合成一个3列的矩阵[vh,vr,vt],用来提取三元组的整体全局信息,并且对这个矩阵进行维度转换以增加卷积核滑动窗口的步数,提升三元组内实体和关系在更多维度上的信息交互能力。除此之外,ConvKE还采用感受野更大的2-D卷积核来提取三元组里不同向量元素的内在特征以及组合特征,得到不同的特征矩阵。然后ConvKE把这些矩阵组合在一起并且向量化,经过一个全连接映射层和一个内积层后,得到三元组的得分,这个得分用于判断这个三元组的合理性。

本文在2个基准数据集(WN18RR[15]、FB15K-237[17])上评估了ConvKE,实验结果显示ConvKE在平均排名(mean rank,MR)指标上达到了较好的结果。

1 基于卷积神经网络的知识表示模型

首先介绍在后文中提及的符号和定义,然后详细介绍模型。

1.1 背景

一个知识图谱定义为G=(E,R),E和R分别代表实体集合和关系集合。一个三元组(h,r,t)代表知识图谱G里的两个实体h和t以及它们之间的关系r。知识表示模型旨在学习一个可以输出每个三元组的合理性的打分函数f(h,r,t),合理的三元组知识得分高于不合理的三元组知识得分。

1.2 ConvKE模型

ConvKE把知识图谱里的实体和关系表示成k维向量空间里的向量,每个三元组表示成(vh,vr,vt),3个向量组合在一起拼成一个3列的矩阵A=[vh,vr,vt]∈Rk×3。然后ConvKE对矩阵A做维度转换得到矩阵B=Rm×n,其中m×n=k×3。ConvKE再把矩阵B输入卷积层,不同的2-D卷积核ω对矩阵B进行卷积操作提取三元组(vh,vr,vt)里的特征。用Ω来代表卷积核ω的集合,τ=|Ω|表示卷积核的个数,假设卷积操作得到的特征矩阵维度为p×q。ConvKE把这些特征矩阵组合在一起并向量化,得到一个向量vw∈Rpqτ×1。向量vw先与权重矩阵Wu×pqτ相乘映射到u维向量空间中,然后再与权重向量w1∈Ru×1内积后得到三元组(h,r,t)的打分。图1中表明了ConvKE的模型结构。

图1 ConvKE模型

ConvKE的打分函数为以下形式:

f(h,r,t)=vec(g(B*Ω))×W·w1

(1)

其中,*代表卷积操作,×代表矩阵相乘操作,·代表向量间的内积操作,vec代表对组合后的特征矩阵的向量化操作,g代表Relu等非线性函数,Ω、W和w1是与三元组(h,r,t)无关的共享参数。为了训练ConvKE中的参数,使用Adam[18]优化器来最小化损失函数ξ[19]:

(2)

2 实验和结果

2.1 数据集

本文使用2个数据集来评估模型FB15K-237和WN18RR。FB15K-237是FB15K的子集,FB15K是Freebase的子集,包含的三元组多与电影和体育话题有关。WN18RR是WN18的一个子集,包含的三元组多由下位词和上位词关系组成。文献[17]提到数据集FB15K和WN18里大量测试三元组可以仅通过反转训练三元组来简单地获得。文献[15]介绍了一种简单的基于规则的模型,该模型可以在WN18和FB15K上实现非常优异的结果。因此,创建相应的子数据集FB15K-237和WN18RR可以避免WN18和FB15K数据集中的这种可逆问题。所以使用数据集FB15K-237和WN18RR来测试ConvKE的效果更能体现模型的性能。表1提供了2个数据集WN18RR和Fb15K-237的统计数据。

表1 实验数据集的统计信息

2.2 训练过程

在采样无效三元组时,使用常见的伯努利技巧[20,21]生成头部或尾部实体。使用TransE来初始化数据集里的实体和关系向量表示。在本文中,对于TransE里的超参数选择如下:(1)对于FB15K-237数据集,实体和关系的向量维度k=100,学习率为5e-4,间隔r=1,使用L1范数;(2)对于WN18RR数据集,实体和关系的向量维度k=50,学习率为5e-4,间隔r=5,使用L1范数。在ConvKE模型中还有如下超参,卷积核ω,权重矩阵W和权重向量w1。为了训练这些参数,采用Adam优化器,采用批梯度下降方式并且设置批处理的大小为256,采用ReLU作为激活函数。关于卷积核的初始化,采用kaiming正态分布,卷积核的个数范围选择是τ∈{100, 300, 500}。学习率取值范围是{1e-3, 5e-3, 5e-4, 5e-5, 5e-6}。对于数据集WN18RR,最终选择卷积核个数为500并且设置学习率为1e-3,正则化L2的值为1e-5;对于数据集FB15K-237,最终选择选择卷积核个数为100,学习率选为5e-6,正则化L2的值为0.001。对于2个数据集,都采用3×3形状的卷积核,并采用dropout防止模型的过拟合且设置dropout为0.3。在2个数据集都训练了200轮,并使用第200轮的参数来评估ConvKE的性能。

为了验证维度转换策略的有效性,本文设置了一组对照实验,即把三元组拼成3列矩阵后,不采用维度转换策略,直接用形状的卷积核在三元组矩阵上卷积,其余模型结构与图1相同。除了在映射向量层没有采用dropout操作,对照实验的超参选择与ConvKE一致。

2.3 评估过程

本文用知识补全任务来评估ConvKE的性能,该任务的目的是在给定关系和一个实体的情况下预测另一个缺失的实体,即给定(r,t)预测h或者给定(h,r)预测t。与之前的研究工作类似[11],为每个有效的测试三元组生成一组无效的三元组(h,r,t)集合,即将h或t随机替换为其他实体。在“过滤后”的设置[11]中评估模型,即不考虑KB中已存在的三元组,只考虑不存在于现有KB中的无效三元组。在评估过程中,模型给每个有效的测试三元组和其对应的无效的三元组集合打分,然后对这些分数进行排名并获得有效测试三元组的排名。本文使用了2个常用的评估指标:MR和前10名中含有预测正确三元组的比例(Hits@10)。较低的MR或较高的Hits@10代表着更好的性能。

2.4 主要实验结果

表2列出了ConvKE和其他模型的结果对比,表格显示ConvKE在数据集WN18RR和FB15K-237的MR指标上都获得了最好的结果,并且相对于其他的模型,ConvKE在MR指标上取得了大幅度的提升。具体地,相较于之前最优的结果,ConvKE在WN18RR上提升了2 554-391=2 163,在FB15K-237上提升了246-205=41。其中ConvKE(NDT)是没有采用维度转换策略的对照实验,表2也显示出了ConvKE(NDT)在2个数据集上的MR指标上取得了较优的结果。采用3×3形状卷积核的ConvKE(NDT)的与采用1×3形状卷积核的ConvKB相比,实验结果表明增大卷积核的感受野提升了MR指标的效果,但是降低了Hits@10指标的效果。再将ConvKE(NDT)与采用了维度转换策略的ConvKE相比较,维度转换策略再次提升了MR指标的效果以及WN18RR数据集上的Hits@10指标的效果,实验结果证实了维度转换策略的有效性。具体地,将ConvKE的信息交互能力与ConvKE(NDT)进行对比,假设三元组每个元素的向量维度是100,那么ConvKE(NDT)模型里每个3×3形状的卷积核会在形状为100×3的三元组矩阵上滑动98次。ConvKE采用了维度变换策略,可以把维度为100×3的三元组矩阵转换成10×30的形状,假设采取3×3大小的卷积核,那么每个卷积核在三元组矩阵上滑动了8×28=224次,卷积核在三元组矩阵上的滑动次数明显增多。而且由于三元组矩阵维度的转换,之前实体和关系之间没有进行卷积操作的向量维度间也将有可能被卷积核覆盖到以提取特征信息,这增加了三元组内实体和关系在更多维度上的信息交互能力。本文认为正是这种信息交互能力的增加使得最好的结果加粗表示,第2好的结果下面划线表示,ConvKE(NDT)是没有采用维度转换策略的对照实验ConvKE在MR指标上获得了目前最优的结果。

表2 模型实验结果对比

图2~图5可视化的显示了不同模型在2个数据集上的MR和Hits@10指标上的效果对比。由于MR指标代表的是三元组集合的平均排名,所以实验结果说明了ConvKE在测试集的平均预测结果上取得了较好的结果,也证明了把三元组各个元素组合成一个整体并且采用2-D卷积核以及矩阵维度转换等策略的有效性。除此之外,从表2里可以看到,目前获得最好实验结果的模型都是基于卷积神经网络的,这就证明了卷积神经网络不仅在图像处理上效果优异[24-27],因为其可以对复杂的非线性关系进行拟合以及参数利用的有效性,所以在知识表示领域也表现出了非常优异的效果。

图2 不同模型在FB15K-237的MR效果

图3 不同模型在FB15K-237的Hits@10效果

图4 不同模型在WN18RR的MR效果

图5 不同模型在WN18RR的Hits@10效果

3 结 论

本文提出了一个高效的基于卷积神经网络架构的知识表示模型ConvKE。ConvKE把三元组内各元素拼接在一起来提取整体信息,采用维度变换策略来增加卷积滑动窗口在三元组矩阵上的滑动步数,同时提升三元组内实体和关系在更多维度上的信息交互能力。ConvKE还使用拥有更大感受野的2-D卷积滑动窗口来捕获这些信息交互。本文用知识补全任务来评估ConvKE的性能,实验结果显示,ConvKE在2个基准数据集WN18RR、FB15K-237上的MR指标上取得了较好的结果。

在以后的工作中,将不再单独考虑独立的三元组,因为这会丢失一个三元组周围复杂和隐藏的信息,考虑三元组之间的依赖性,加入关系路径信息到ConvKE中。

猜你喜欢

三元组实体卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
特征标三元组的本原诱导子
卷积神经网络的分析与设计
前海自贸区:金融服务实体
关于余挠三元组的periodic-模
从滤波器理解卷积
一个时态RDF存储系统的设计与实现
基于傅里叶域卷积表示的目标跟踪算法
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”