一种基于实体关联性约束的表示学习方法与流程

文档序号:15636950发布日期:2018-10-12 21:35阅读:231来源:国知局

本发明涉及一种基于实体关联性约束的表示学习方法,属于自然语言处理以及知识图谱技术领域。



背景技术:

知识图谱(knowledgegraph)是一种基于语义网络的知识表示方法,提供了一种高效且简洁的结构化表示方式,在web搜索和智能问答领域中起着关键作用。知识图谱将真实世界的数据表示为实体和关系,知识以(实体,关系,实体)三元组存储,实体间通过关系联结从而构成网状知识结构。虽然知识图谱包含了大量的实体和关系,但是由于知识图谱构建过程中无法抽取到所有的事实,导致知识图谱不是完备的。知识图谱推理技术可以应用于图谱的自动化补全,如预测两个实体间可能存在的关系,也可以和开放领域的信息抽取相结合,对信息抽取结果进行质量评估。表示学习方法指将知识图谱中的实体和关系嵌入到一个低维空间,在低维空间中完成知识图谱推理。

目前主流的表示学习方法将关系看作实体间的一种翻译过程,称为基于翻译的模型,如transe模型(bordesa,usuniern,westonj,etal.translatingembeddingsformodelingmulti-relationaldata[c]ininternationalconferenceonneuralinformationprocessingsystems.curranassociatesinc.2013:2787-2795)提出关系是头实体和尾实体间的翻译操作,该模型仅仅从图的结构中进行推理,无法提供更多的辅助信息,其推理效果的提升空间有限。于是有学者提出将实体描述文本和图结构结合的表示学习方法,属于文本表示模型,其中的代表dkrl模型(xie,r.,liu,z.,jia,j.,luan,h.,&sun,m.(2016,february).representationlearningofknowledgegraphswithentitydescriptions.inaaai.pp.2659-2665)将实体的描述文本和结构信息进行联合学习,使用词袋模型(cbow)和卷积神经网络(cnn)对文本进行编码,然而却忽略了文本中实体之间可能存在的语义关联,在训练时会损失较多的语义信息。

现有的表示学习方法在知识图谱推理上虽然取得了不错的效果,然而对文本中实体间的语义关联缺乏挖掘,推理性能上的改进还存在很大空间。本发明的目的是致力于解决传统表示学习方法在训练时会损失实体间的语义关联信息的技术缺陷,提出了一种基于实体关联性约束的表示学习方法。



技术实现要素:

本发明的目的在于针对基于翻译的模型没有利用文本中丰富的语义信息,以及文本表示模型在训练过程中会损失实体间的语义关联信息,提出了一种基于实体关联性约束的表示学习方法。

本发明的核心思想是:基于实体描述文本挖掘出关联性实体并对关联性进行分级,将关联性作为辅助约束融合到基于翻译的表示学习方法中;主要利用注解后的实体描述文本得到实体间的共现信息,该信息作为一种衡量两个实体间语义关联程度的标准,并且该关联程度是有向的。具体实施是将知识图谱中的头实体h、尾实体t以及头实体和尾实体之间的关系r,分别嵌入到向量h、向量t和向量r中。

本发明通过以下步骤实现:

步骤一、对实体的描述文本进行注解和关联性划分,得到实体的强关联实体集合和弱关联实体集合;具体包含如下子步骤:

步骤1.1、对实体的描述文本注解,得到实体注解结果;

其中,实体是指知识图谱中的实体,用e表示;e的描述文本,用dese表示,是一段有序的单词集合,用公式(1)来表示:

dese=<w1,...,wm>(1)

其中,w1,...,wm是单词,m为描述文本中单词的数量,描述文本中提取的实体由大于等于1个单词组成,当实体由大于等于两个单词组成时,需要对提取出来的单词进行拼接;

从描述文本中提取实体的过程称为描述文本注解;将描述文本中提取的实体组成集合,即得到实体注解结果:

dese'=<w1,...,wm'>(2)

其中,m'≤m,wi表示一个实体,dese'为dese的实体注解结果;

步骤1.2、关联性划分;

利用步骤1.1输出的实体注解结果中第i个和第j个实体通过公式(3)得到实体j对实体i的关联程度值,用wij表示:

如果wij=2,记j为i的强关联实体(strongrelevantentity);如果wij=1,记j为i的弱关联实体(weakrelevantentity),如果两个实体在彼此描述中相互出现,则关联性变强,然后得到实体e的强关联实体集合和弱关联实体集合;

关联程度值wij是有向的,遍历实体注解结果中的所有实体,得到关联程度值组成的实体关联矩阵,记为e是知识图谱中的实体集合,|e|表示知识图谱中的实体总个数:

其中,实体e的强关联实体集合记为s(e):

其中,ei代表第i个实体,代表实体e和实体ei之间为强关联实体关系;

实体e的弱关联实体集合记为w(e):

步骤二、样本负采样及模型训练,得到实体和关系的嵌入式表示;代表实体e和实体ei之间为弱关联实体关系;

其中,模型训练是基于批量随机梯度下降算法进行的训练;

步骤二,具体包括如下子步骤:

步骤2.1、初始化循环计数值为1以及循环计数最大值;

其中,循环计数值,记为k;循环计数最大值,记为iter;

步骤2.2、令s表示知识图谱中的三元组集合,知识图谱中的一个三元组为一个正样本,即s为正样本集合;从s中随机抽取b条正样本得到一个子集合sbatch,令tbatch的构造包括如下子步骤:

步骤2.2.1、遍历sbatch,对每个正样本(h,r,t)进行负采样,负采样的方法同文献1(fengj.knowledgegraphembeddingbytranslatingonhyperplanes[c]inaaai.2014):给定关系r,文献1中样本负采样方法所述的平均每个头实体所对应尾实体的数目tph对应本专利的tphr,平均每个尾实体所对应的头实体数目hpt对应本专利的hptr;

产生一个[0,1]区间的均匀分布的随机数p,如果p小于等于tphr/(tphr+hptr),则从知识图谱的实体集合e中等概率地抽取一个实体替换正样本中的头实体,且保证替换后的三元组不属于s;如果p大于tphr/(tphr+hptr),则从知识图谱的实体集合e中等概率地抽取一个实体替换正样本中的尾实体,且保证替换后的三元组不属于s;

步骤2.2.2、替换完成后,可得到sbatch中每一个正样本(h,r,t)所对应的负样本(h',r,t'),将每个正样本和负样本加入到tbatch集合中:

tbatch←tbatch∪{(h,r,t),(h',r,t')}(6)

经过步骤2.2.1和步骤2.2.2后得到tbatch集合,抽出tbatch中的实体集合,记为ebatch;

步骤2.3、基于批量随机梯度下降算法对模型进行训练;

步骤2.3.1、通过公式(7),三元组(h,r,t)的评分函数计算三元组(h,r,t)的评分,记为fr(h,t);

其中,代表h+r-t向量的2范数的平方;

步骤2.3.2、通过公式(8)计算基于实体关联性的损失项lr:

其中,α和β为强关联权值和弱关联权值,α决定了强关联性约束的强度,β决定了弱关联性约束的强度;e代表ebatch中的实体;在公式(8)的左边项,e'代表e的强关联实体集合,在公式(8)的右边项,e'表e的弱关联实体集合;代表向量e-e'的2范数的平方;sc和wc代表用户指定的强关联超参数和弱关联超参数,分别表示对两个关联实体间的距离限制,当实体对在对应的范围内时损失为0,lr使得有关联的实体对在向量空间里的距离不超过一定范围,并且不是一味地使关联实体对距离最小;

步骤2.3.3、通过公式(9)计算模型的损失函数值:

其中,loss代表模型的损失函数值;fr(h,t)代表正样本(h,r,t)的评分,fr(h',t')代表负样本(h',r,t')的评分,训练时会使得正样本评分趋于低值,负样本评分趋于高值;γ为损失间隔,γ用于控制fr(h,t)和fr(h',t')的差异;

步骤2.3.4、计算公式(9)中关于自变量的导数,并按照公式(10)进行更新;

其中,θ为自变量,包括所有的h,r和t,rate为学习率,代表对模型的损失函数值loss关于自变量θ取微分;

步骤2.3.5、判断循环计数值k是否已经达到计数最大值iter,如果k=iter,完成本方法;否则k=k+1,跳至步骤2.2;

至此,从步骤一到步骤二,得到了实体和关系的嵌入式表示:向量h、向量t和向量r,完成了一种基于实体关联性约束的表示学习方法。

有益效果

一种基于实体关联性约束的表示学习方法,与现有方法相比,具有如下有益效果:

1.传统的表示学习方法多基于知识图谱的结构化信息,没有充分利用实体的描述文本信息,本发明从实体描述文本中提出了一种衡量实体语义关联的方法,使用该方法构造了一种基于实体关联性的约束项,将该约束项融合到传统表示学习方法中,实验结果表明,本发明在公开数据集上的链接预测任务和三元组分类任务上相比传统方法推理效果更好,而且速度上和传统方法一致;

2.基于文本的表示学习方法多将文本向量化,忽略了文本中实体间的语义关联,本发明提出的实体关联约束项从文本中的实体进行挖掘,更加细致地对实体间的语义关联进行建模,实验结果表示本发明相比文本表示模型dkrl,推理效果更好。

附图说明

图1是本发明一种基于实体关联性约束的表示学习方法及实施例1中的流程示意图。

具体实施方式

下面结合附图和实施例对本发明做进一步说明和详细描述。

实施例1

本实施例叙述了本发明一种基于实体关联性约束的表示学习方法的具体实现过程,图1本实施例的实现流程示意图。

从图1中可以看出,本发明及本实施例的具体实现步骤如下:

步骤a、对实体的描述文本进行注解和关联性划分,得到实体的强关联实体集合和弱关联实体集合;具体包含如下子步骤:

步骤a.1、对实体的描述文本注解,得到实体注解结果;

其中,实体是指知识图谱中的实体,用e表示;e的描述文本,用dese表示,是一段有序的单词集合,用公式(1)来表示:

dese=<w1,...,wm>(11)

其中,w1,...,wm是单词,m为描述文本中单词的数量,描述文本中提取的实体由大于等于1个单词组成,当实体由大于等于两个单词组成时,需要对提取出来的单词进行拼接;

从描述文本中提取实体的过程称为描述文本注解;将描述文本中提取的实体组成集合,即得到实体注解结果:

dese'=<w1,...,wm'>(12)

其中,m'≤m,wi表示一个实体,dese'为dese的实体注解结果;

步骤a.2、关联性划分;

利用步骤a.1输出的实体注解结果中第i个和第j个实体通过公式(3)得到实体j对实体i的关联程度值,用wij表示:

如果wij=2,记j为i的强关联实体(strongrelevantentity);如果wij=1,记j为i的弱关联实体(weakrelevantentity),如果两个实体在彼此描述中相互出现,则关联性变强,然后得到实体e的强关联实体集合和弱关联实体集合;

关联程度值wij是有向的,遍历实体注解结果中的所有实体,得到实体关联矩阵,记为e是知识图谱中的实体集合,|e|表示知识图谱中的实体总个数:

其中,实体e的强关联实体集合记为s(e):

实体e的弱关联实体集合记为w(e):

步骤b、样本负采样及模型训练,得到实体和关系的嵌入式表示;

其中,模型训练是基于批量随机梯度下降算法进行的训练;步骤二,具体包括如下子步骤:

步骤b.1、初始化循环计数值,其中循环计数值记为k,初始化k=1;

步骤b.2、令s表示知识图谱中的三元组集合,知识图谱中的一个三元组为一个正样本,即s为正样本集合;从s中随机抽取b条正样本得到一个子集合sbatch,其中b取100,令tbatch的构造包括如下子步骤:

步骤b.2.1、遍历sbatch,对每个正样本(h,r,t)进行负采样,负采样的方法同文献1(fengj.knowledgegraphembeddingbytranslatingonhyperplanes[c]inaaai.2014):给定关系r,文献1中样本负采样方法所述的平均每个头实体所对应尾实体的数目tph对应本专利的tphr,平均每个尾实体所对应的头实体数目hpt对应本专利的hptr;

产生一个[0,1]区间的均匀分布的随机数p,如果p小于等于tphr/(tphr+hptr),则从知识图谱的实体集合e中等概率地抽取一个实体替换正样本中的头实体,且保证替换后的三元组不属于s;如果p大于tphr/(tphr+hptr),则从知识图谱的实体集合e中等概率地抽取一个实体替换正样本中的尾实体,且保证替换后的三元组不属于s;

步骤b.2.2、替换完成后,可以得到sbatch中每一个正样本(h,r,t)所对应的负样本(h',r,t'),将每个正样本和负样本加入到tbatch集合中:

tbatch←tbatch∪{(h,r,t),(h',r,t')}(16)

经过步骤b.2.1和步骤b.2.2后得到tbatch集合,抽出tbatch中的实体集合,记为ebatch;

步骤b.3、基于批量随机梯度下降算法对模型进行训练;

步骤b.3.1、通过公式(7),三元组(h,r,t)的评分函数计算三元组(h,r,t)的评分,记为fr(h,t);

其中,代表h+r-t向量的2范数的平方;

步骤b.3.2、通过公式(8)计算基于实体关联性的损失项lr:

其中,α和β为强关联权值和弱关联权值,sc和wc分别为强关联范围和弱关联范围,其中α=1,β=0.3,sc=1,wc=1;

步骤2.3.3、通过公式(9)计算模型的损失函数值:

其中,γ为损失间隔,γ取1;

步骤2.3.4、计算公式(9)中关于自变量的导数,并按照公式(10)进行更新;

其中,θ为自变量,包括所有的h,r和t,rate为学习率,rate=0.1;

步骤2.3.5、判断循环计数值k是否已经达到计数最大值iter,iter=500,如果k=iter,完成本方法;否则k=k+1,跳至步骤2.1。

至此,从步骤一到步骤二,得到了实体和关系的嵌入式表示:向量h、向量t和向量r,完成了一种基于实体关联性约束的表示学习方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1