一种融入实体描述的自适应知识表示模型

2021-03-18 02:52翟社平王书桓尚定蓉董苏苏
中文信息学报 2021年1期
关键词:三元组编码器实体

翟社平,王书桓,尚定蓉,董苏苏

(1. 西安邮电大学 计算机学院,陕西 西安 710121;2. 陕西省网络数据分析与智能处理重点实验室,陕西 西安 710121)

0 引言

知识图谱是一种结构化语义知识库,存储了现实世界中复杂的结构化信息,已成功应用于智能问答[1]、个性化推荐[2]等领域。知识图谱通常是以网络和图的结构来表示三元组中的元素,网络和图中的节点表示实体,节点之间的边表示不同实体之间的关系,通常使用三元组(头实体,关系,尾实体)来表示,也用符号(h,r,t)表示。近年来,大规模知识图谱的构建已经取得了很大进步,例如WordNet[3],Freebase[4]。但是,它们仍存在着严重的数据不完整和数据稀疏等问题。

为了解决上述问题,基于深度学习的知识表示方法引起学者的关注,TransE[5]便是其中最典型的模型,它将三元组中的元素(实体或关系)编码到低维空间中,实体与关系的嵌入通过最小化得分函数得到。然而,TransE及其扩展模型仅利用三元组的结构信息,很难准确表示好长尾实体的语义信息。因此有学者提出利用实体的多源信息来改善知识表示,例如实体描述、实体属性等。

在知识图谱中,大多数实体存在着简洁的文本描述,其中包含与这些实体相关的丰富语义信息。例如,在图1中展示了Freebase中的一个三元组及相关实体描述信息。可以看出,文本描述中存在着实体的一些附加信息,将这些信息融入知识表示中可以补充缺失的语义信息,有效缓解数据稀疏等问题。因此,一些工作[6-9]开始引入文本信息来改善知识表示,但是这些方法仍存在不足: ①尚未提出三元组结构信息与文本信息联合表示的有效方法。②文本信息中的每个词对关系的影响程度不同,不能无差别地对其进行编码。③对文本进行编码时,未考虑词序信息。

图1 Freebase中三元组的实体描述

鉴于以上不足,Xu等[10]提出基于双向LSTM的联合知识表示模型。该模型利用双向LSTM与注意力机制[11]对实体描述编码,并采用门控机制来对文本和结构进行联合表示。然而模型在对文本信息进行编码时,考虑了所有词的位置信息,没有重点突出实体描述中特定实体与其他词的相对位置关系,使模型的输入向量对句子特征的表现力不足。同时,在进行联合表示时,得分函数采用最基础的翻译模型(即TransE)表示知识。但是每个特征维度对于不同关系的影响效果是有差别的,统一考虑所有维度的权重将直接影响知识表示的效果。

为了解决这些问题,本文提出一种基于实体描述的联合表示模型(JRED)。具体来说,本文从两个信息源中学习每个实体的联合表示形式: 一个是结构信息,另一个是其文本描述。对于结构表示,本文采用基于翻译的方法获得;对于文本表示,本文采用Attention_Bi-LSTM编码器对文本描述建模,最后通过门控机制将两种表示进行联合建模。本文的主要贡献概括如下:

(1) 本文通过门控机制和自适应得分函数共同学习文本和结构的联合表示,门控机制将决定从结构或文本表示传递多少信息到最终的联合表示。

(2) 对于文本描述,本文引入位置向量和注意力机制设计了Attention_Bi-LSTM编码器,可以根据不同的关系从其文本描述中动态选择最相关的信息。

(3) 本文的模型在链接预测与三元组分类上进行了验证,结果表明JRED模型能改善数据稀疏问题,各项指标与最先进的方法相比都有很强的竞争性,尤其在Mean Rank指标上有明显优势。

1 相关工作

1.1 基于翻译的方法

知识图谱表示学习方法有很多,近年来这些方法已经取得了很大的进步。受Word2Vec[12]中平移不变现象的启发,TransE[5]将每个三元组(h,r,t)中的关系r视为低维空间中从h到t的转换,即h+r=t。这意味着在给定三元组的情况下,t应该最接近h+r。TransE在1-to-1关系建模中表现良好,但是当表示1-to-N,N-to-1和N-to-N等复杂关系时,这种简单的翻译方式可能会存在局限性。TransH[13]被用来解决TransE的不足,通过将关系表示为超平面,并将头、尾实体投影到关系特定的超平面,从而使实体在不同的关系中具有不同的嵌入。为了更好地区分实体与关系的差异,TransR[14]将实体和关系的表示构建在两个不同的空间,并使用关系特定矩阵将实体从实体空间投影到关系空间。TransD[15]为每个实体-关系对构建动态映射矩阵来区分头、尾实体,考虑了实体与关系的多样性。TranSparse[16]使用自适应的稀疏传递矩阵代替一般的传递矩阵进行实体和关系的建模。TransA[17]采用了一个非负权重矩阵,为向量的不同维度学习不同的权重,可以有效处理复杂关系建模。KG2E[18]和TransG[19]使用高斯分布来刻画实体和关系的不同语义信息。TransRD[20]使用不对等转换矩阵对头实体和尾实体进行投影,并对关系进行分组且每组关系使用同样的矩阵投影。然而,这些研究仅利用了三元组的结构信息,忽略了实体的外部信息,因此一些学者开始考虑将文本信息融入知识表示中。

1.2 文本信息表示学习

近年来,融入文本信息的知识表示已经被很多学者研究,它可以从不同方面提供附加信息,有助于实体和关系的建模。文献[21]提出NTN模型,将每个实体表示为实体名称中单词向量的平均值。文献[6]提出将实体和单词共同嵌入同一连续向量空间,并使用实体名称和Wikipedia锚点将两种嵌入在同一空间对齐。但是这种依赖锚点的方式适用范围有限,因此文献[7]提出了一种基于实体文本描述的对齐模型。文献[8]使用实体名称或其描述文本的词向量的平均值来表示实体,该方法忽略了句子中的词序信息。

文献[9]提出了DKRL,使用连续词袋编码器(CBOW)和卷积神经网络(CNN)编码器对实体描述进行编码。但是该方式不仅不能充分捕捉实体描述的完整语义信息,而且尚未考虑文本信息的筛选及联合两种表示的有效方式。文献[22]提出一种增强文本的表示学习方法TEKE,通过构造实体与词语在指定大小的窗口中的共现网络,可得到实体与关系在文本中的上下文。文献[23]提出了语义空间投影模型SSP,共同学习符号三元组和文本描述,并通过表征两个信息源之间的相关性将三元组和文本进行交互。文献[24]提出了一种利用卷积神经网络嵌入关系文本的知识表示学习方法,并将结构表示和关系描述进行联合建模。文献[10]提出了基于双向LSTM的知识表示模型,利用双向LSTM对实体描述进行编码,并使用门机制将结构表示和文本表示联合起来。该方法相比先前的模型性能显著提高,但是对文本编码器的输入向量考虑有所欠缺。而在本文的模型中,输入层重点突出了指定实体名与文本中其他单词的相对距离,并采用了自适应得分函数对文本和结构信息进行联合表示。

2 模型介绍

本节首先介绍模型中用到的概念。一个知识图谱可以被表示为G={E,R,T},其中E表示一组实体,R表示一个关系集,T表示一组事实三元组。每个三元组(h,r,t)∈T表明在实体h∈E与t∈E之间存在一个关系r∈R。

本文将利用三元组结构信息和实体描述文本信息建模实体与关系的表示。结构表示通过基于翻译的模型(TransE)训练所得,符号表示为hs、ts;文本表示通过Attention_Bi-LSTM编码器训练所得,符号表示为hd、td。最后,采用自适应得分函数和门机制对实体的结构表示和文本表示进行联合建模。JRED模型的整体框架如图2所示。

图2 JRED模型的整体框架

2.1 自适应表示

基于翻译的模型TransE认为在低维向量空间中关系是从头实体到尾实体的翻译过程,它旨在将三元组中实体和关系表示成连续低维的向量,其得分函数如式(1)所示。

(1)

其中,如果三元组(h,r,t)存在,则函数值较小;否则,函数值较大。可以看出,该得分函数采用欧氏距离度量h+r与t之间的差异,不论是实体向量还是关系向量,向量的每一维度都被认为是同样重要的。然而,每种关系只有特定的部分维度对其是有影响的,如果按照TransE等翻译方法将所有的特征维度都统一看待,将会使实体或关系的表示不准确。如图3所示,实心三角形是正确匹配的尾实体,空心三角形是错误匹配的尾实体,箭头表示头实体和尾实体间的某种关系。图3(a)中,传统模型将向量的每一个维度无差别地对待,导致产生错误的三元组,如(h1,r1,t4),(h2,r2,t5),(h3,r3,t6);在图3(b)中,对向量的每个表示维度重新分配一个自适应的权重,例如增加y轴的权重,降低x轴的权重,使头实体分别都匹配到了正确的尾实体,如(h1,r1,t1),(h2,r2,t2),(h3,r3,t3)。因此,本文需要对得分函数进行改进,分别考虑每个特征维度对关系的影响[25]。

针对上述问题,本文引入对角权重矩阵Dr对不同的特征维度分配不同的权重[25],以实现自适应地度量向量间的距离,改进的得分函数如式(2)~式(4)所示。

fr(h,t)=(|h+r-t|)T

Dr(|h+r-t|)

(2)

Dr=diag(w1,w2,…,wi,…,wn)

(3)

|h+r-t|=(|h1+r1-t1|,

|h2+r2-t2|,…

|hn+rn-tn|)

(4)

其中,diag()表示Dr是一个对角矩阵,其值需经过训练不断优化得到,第i个特征维度的权重由wi决定,1≤i≤n。

图3 传统表示模型与自适应表示模型对比

2.2 门控机制联合表示

实体描述为实体表示提供了三元组以外的附加信息,使实体表示更加准确。本文采用门控机制[10]联合三元组结构表示es和基于实体描述的文本表示ed,其自适应得分函数如式(5)所示。

fr(h,t)=(|eh+r-et|)TDr(|eh+r-et|)

(5)

其中,eh和et分别为头实体和尾实体的联合表示,其联合表示ej如式(6)所示。

ej=gs⊙es+gd⊙ed

(6)

其中,gs、gd是平衡两种信息源的门,gd=1-gs,取值范围为[0,1],⊙是元素乘法。从直观上看,当gs接近0时,联合表示法被迫忽略结构信息,使ej仅呈现文本表示。门向量gs被定义为式(7):

(7)

fr(h,t)=(|(ghs⊙hs+ghd⊙hd)

+r-(gts⊙ts+gtd⊙td)|)T

×Dr×(|(ghs⊙hs+ghd⊙hd)

+r-(gts⊙ts+gtd⊙td)|)

(8)

其中,ghs,ghd分别是头实体的门,gts,gtd分别是尾实体的门。

2.3 基于Attention_Bi-LSTM的文本表示

目前,大型知识库中的实体都有其对应的实体描述文本信息。在知识表示中,它可为实体表示提供三元组以外的附加信息,使实体或关系表示更加准确。

现有的研究大多采用CNN对实体描述进行训练,这样往往会忽视词汇在文本中的出现顺序,且无法刻画出词汇与词汇之间的依赖关系。因此,本文采用Bi-LSTM和注意力机制对文本描述进行语义编码。首先将句子中的词预处理后加入位置信息作为编码器的输入,然后将输入的信息进行前向和后向LSTM处理后,根据每个单词是否与给定三元组的关系相关,利用注意力机制为其分配相应的权重,最后在输出层得到实体的文本表示。Attention_Bi-LSTM编码器整体架构如图4所示。

图4 Attention_Bi-LSTM编码器架构

2.3.1 词嵌入表示

Attention_Bi-LSTM编码器将实体描述中每个单词的嵌入作为输入,单词表示由单词特征(WF)和位置特征(PF)两部分组成[26]。

单词特征使用Word2Vec来学习给定文本语料库中的单词表示,这些特征可以对大量语料库中的上下文信息进行编码,然后将学到的词嵌入直接视为词的特征。

位置特征被定义为句子中每个单词与指定实体名之间的相对距离。假设每个句子都被表示为一个序列s=(x1,x2,…,xn),其中xi表示第i个单词。在给定的条件下,指定实体名的位置特征被标记为0,而其他字的位置将被标记为与指定实体名相关的整数距离。左边的单词被标记为正的位置值,而右边的单词被标记为负的位置值。单词的相对距离被投影到连续的低维矢量空间中,因此得到其位置向量表示PF=[d],最终的句子被表示为s=[WF,PF]T={[x1;d1]T,[x2;d2]T,…,[xn;dn]T},以此作为Attention_Bi-LSTM编码器的输入。

2.3.2Bi-LSTM编码

其中,H()代表LSTM隐藏层的过程,bt-1泛指上一时刻所有的偏置。而每个输出单元又同时连接到该时刻的前向和后向两个LSTM隐藏层,如式(17)所示。

(17)

2.3.3 注意力机制

给定一个实体的关系,并不是文本描述中的所有单词或短语都对特定三元组的建模有用,其中一些单词与该关系相关,对三元组的表示能起到更加重要的作用。因此,本文选择在Bi-LSTM编码器中引入了注意力机制层[10],根据不同的关系为句子中每一个单词分配合适的注意力权重,从而构建出基于实体描述的文本表示。

对于文本描述中的每个位置i,注意力对于一个给定的关系r的定义是αi(r):

(18)

(19)

其中,zi是位置i处Bi-LSTM隐藏层的输出;Wa、Ua、Va为参数矩阵,注意力层的输出状态c如式(20)所示。

(20)

最后,将注意力层的结果在激活函数作用下得到描述文本的语义编码向量,即:

s=σ(c)

(21)

该向量的维数与输入的实体和关系维数一致,通过Attention_Bi-LSTM编码器可由实体描述训练得到实体的文本编码ed。

2.4 模型训练与优化

在训练过程中,模型使用得分函数fr(h,t)评估三元组的质量,对应的目标函数如式(22)所示。

(22)

其中,T是正确三元组的集合,T′是错误三元组的集合;γ> 0为间隔超参,代表正确三元组与错误三元组得分函数值之间的距离。本文使用随机梯度下降法(SGD)来优化目标函数,单词表示通过Word2Vec和Wikipedia语料库进行预训练。

正例是知识图谱中已有的三元组,负例是随机生成的错误三元组。假设在训练集中有n个三元组,第i个三元组表示为(hi,ri,ti),(i=1, 2, …,n)。每个三元组有一个标签yi,表明三元组是正确的(yi=1)或错误的(yi=0)。然后正确三元组和错误三元组被分别表示为T={(hi,ri,ti)|yi=1}和T′={(hi,ri,ti)|yi=0},反例生成如式(23)所示。

T′={(hl,rk,tk)|hl≠hk∧yk=1}

∪{(hk,rk,tl)|tl≠tk∧yk=1}

∪{(hk,rl,tk)|rl≠rk∧yk=1}

(23)

3 实验

本节主要在链路预测和三元组分类任务上评估本方法的性能。

3.1 数据集和参数设置

3.1.1 数据集

本文的数据集选用WordNet[3]的子集WN18和Freebase[4]的子集FB15K,因为它们的文本描述易于公开获得。

为了确认每个实体都有相应的描述,实验前从数据集中删除了47个在预处理后描述少于3个单词,甚至没有描述的实体,并删除了包含这些实体的所有三元组。经过预处理后,FB15K中实体描述的平均单词数为69个,最长的实体描述有343个单词;WN18中实体描述的平均单词数为13个,最长的实体描述有96个单词。表1展示了两个数据集的相关数据。

表1 数据集的统计

3.1.2 参数设置

本文的参数包括实体或关系的维度n、最大间隔γ、随机梯度下降的两个学习率λs和λd,它们分别是结构和文本编码的参数。其中

差异度量设置为L1或L2距离。为了加快收敛,本文使用TransE的结果对实体和关系的结构嵌入进行初始化,所有实验进行1 000次的迭代训练,最优参数根据验证集中的平均排名确定。

本文将JRED模型与几种表示模型进行比较,包括Unstructured[27]、RESCAL[28]、SE[29]、SME(linear)[27]、SME(bilinear)[27]、TransE[5],Trans-H[13],TransD[15],TransR[14],TransA[17],TranSparse[16],这些模型仅依赖知识图谱中的三元组,且不使用实体描述。因此模型进一步与融入实体描述的其他方法进行比较,包括DKRL[9],SSP[23],STKRL(LSTM+ATT)[30],AATE_E[31],Jointly(LSTM)[10],Jointly(A-LSTM)[10],其中后四种都是基于LSTM的模型。

3.2 链接预测

3.2.1 评估协议

链接预测是一种知识推理任务,其目的是预测三元组中缺失的头实体或尾实体。具体实验中,对于测试集中的三元组(h,r,t),先将头实体h或尾实体t替换为数据集中的实体e,然后计算损坏的三元组(e,r,t)或(h,r,e)的得分函数值,并将其按照升序排列,便可获得三元组的排名。

根据TransE表示模型,本文采用以下两个指标评估链接预测的性能: (1)Mean Rank: 正确实体在三元组中的平均排名;(2)Hits@10: 前十名中正确实体在三元组中所占的比例。Mean Rank越低且Hits@10越高,则对应的预测结果越好。当某些损坏的三元组正好是数据集中正确三元组时,预测三元组的排序将会不准确。因此,应该在进行排名前过滤掉训练集、测试集和验证集中的这类预测三元组,并将此设置称为“Filter”,而未筛选的设置则称为“Raw”。本文将在这两种设置下评估预测结果。

最终实验使用的最佳配置为: 在FB15K上,n=100,γ=2,λs=0.01,λd=0.05,L1距离;在WN18上,n=50,γ=2,λs=0.01,λd=0.05,L1距离。

3.2.2 结果

图5和图6分别展示了JRED模型在链路预测任务上的两个指标Mean Rank和Hits@10随迭代次数的变化趋势。从图中可以看出, 随着迭代次数的增加,模型在两个数据集上的Mean Rank值都逐渐下降,并稳定在70(在FB15K上)和115(在WN18上)左右;Hits@10的值逐渐增加,并稳定在80%(在FB15K上)和92%(在WN18上)左右。

图5 Mean Rank值随迭代次数的变化(Filter)

图6 Hits@10值随迭代次数的变化(Filter)

为了进一步分析模型的性能,本文根据是否加入注意力机制可将模型表示为JRED(Bi-LSTM)和JRED(A-Bi-LSTM)。表2具体展示了不同模型在WN18和FB15K数据集上的链接预测任务的实验对比结果。

表2 链接预测的结果

续表

从表2中可以看到: (1)在Mean Rank指标上,JRED模型明显优于所有基线,这证明了模型的可用性和鲁棒性。(2)在FB15K数据集上,JRED模型性能优于TransE等基于结构表示的模型,这说明文本编码器已成功提取了实体描述中包含的特征文本,为实体表示提供附加信息。(3)与AATE_E等基于文本表示的模型相比,JRED模型在大多数指标上都表现得比较好,说明本文所引入的门控机制与自适应表示方法可以有效地对结构表示与文本表示进行联合。

针对Mean Rank指标,JRED模型在WN18数据集上性能略优于Jointly模型,原因是在此基础上本模型引入的位置向量和自适应知识表示可以使实体表示更加准确。其中,JRED(A-Bi-LSTM)模型比JRED(Bi-LSTM)模型稍差的原因可能是该数据集上关系数量较少,而本文的注意力机制是根据关系进行权重分配的,因此并没有明显的优势。在FB15K数据集上,JRED(A-Bi-LSTM)模型的Mean Rank指标明显高于其他所有方法。这是因为本模型的得分函数是基于TransA进行改进的,即根据不同关系给向量的每个维度分配不同的权重。同时,由于FB15K中包含多种复杂的关系,因此本模型的自适应表示方法及注意力机制可以很好地适用于该数据集,在多样复杂的实体关系表示方面发挥优势。

针对Hits@10指标,本文的模型在WN18数据集上的性能比AATE_E、SSP、TransA及TranSparse差;然而在FB15K上,JRED(A-Bi-LSTM)模型性能表现最好(Filter)。原因可能是: 尽管本文对得分函数进行了改进,但是由于WN18数据集的特性导致注意力机制基本发挥不了作用。实体描述的引入可能也会稍微降低经过良好训练的频繁实体的表示,因此模型性能表示一般。同时,考虑到FB15K比WN18包含更多的关系,此结果表明,基于翻译的模型的线性约束可以有效地处理关系较少的知识图谱,而基于神经网络的模型更适合具有复杂关系的知识图谱。

为了进一步比较不同类型关系下模型的预测能力,本文将关系分为四类: 1-to-1、1-to-N、N-to-1、N-to-N,实验过程可细化为两种不同情况: 预测头实体和预测尾实体,结果如表3所示: (1)相较于基于结构的表示方法,本文模型在大多数指标下都表现较好,说明在知识表示中融入实体描述的必要性。(2)在预测头实体和尾实体时,本文模型在四类关系下明显优于Jointly模型。同时,与STKRL(LSTM+ATT)模型和AATE_E模型相比,JRED模型性能在多项指标上与其相近或表现更好,这说明本文所加入的门控机制与自适应知识表示的有效性与可用性。

表3 根据关系分类进行链接预测的结果

续表

3.3 三元组分类

3.3.1 评估协议

三元组分类的目的是判断给定三元组(h,r,t)的正确性,被视为一个二分类任务。由于本文使用的测试集(WN18和FB15K)仅包含正确的三元组,因此按照2.4节采用的方法来生成负样本,可以降低产生错误三元组的概率。

在此任务中,本文为每个关系设置一个阈值δr,如果测试三元组(h,r,t)的得分函数值小于δr,则三元组被认为是正的,否则被认为是负的。关系r的阈值δr是通过最大化验证集上属于关系r的有效三元组的分类精度而获得的。对于WN18和FB15K数据集,参数的设置本文直接在链接预测任务中使用学习到的嵌入。

3.3.2 结果

表4中显示了WN18和FB15K数据集上的三元组分类任务的结果,可以看出: (1)JRED(A-Bi-LSTM)模型在三元组分类中的表现明显优于所有基线,这表明本文模型在三元组分类中的能力和可扩展性。原因可能是本文的文本编码器可以有效建模实体描述信息,并将其准确地融入实体表示中。(2)本文模型优于TransE等基于翻译的表示方法,这意味着实体描述文本信息的重要性。(3)在WN18上,JRED(A-Bi-LSTM)模型达到最佳性能,而JRED(Bi-LSTM)模型仅比JRED(A-Bi-LSTM)模型稍差一点,原因是该数据集上关系数量相对较少,注意力机制没有显示明显的优势。然而,在FB15K上,JRED(A-Bi-LSTM)模型的分类准确度达到91.8%,这表明注意力机制可以自动选择最相关的文本信息来表示一个实体,从而减轻了低质量文本信息引起的噪声。

表4 三元组分类的结果

4 结论与展望

本文提出了联合三元组结构信息和实体描述的知识表示模型JRED。具体来说,该模型提出了基于Attention_Bi-LSTM的文本编码器,并在输入层引入位置向量作为补充信息,以获得文本表示;然后,以改进的自适应表示方法为基础通过门机制共同学习文本和结构的联合表示。在实验中,本文采用链接预测和三元组分类任务评估了该模型。实验结果表明,本文的模型能够从文本描述中提取出实体特征,并且门控机制联合表示也被证明是有效的。未来,将考虑在知识表示中融入其他多源信息,例如实体的属性信息,以提高知识表示的准确性。

猜你喜欢
三元组编码器实体
特征标三元组的本原诱导子
前海自贸区:金融服务实体
关于余挠三元组的periodic-模
一个时态RDF存储系统的设计与实现
基于FPGA的同步机轴角编码器
基于双增量码道的绝对式编码器设计
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
JESD204B接口协议中的8B10B编码器设计