远程监督关系抽取方法及装置与流程

文档序号:18619740发布日期:2019-09-06 22:22阅读:462来源:国知局
远程监督关系抽取方法及装置与流程

本发明涉及自然语言处理技术领域,特别涉及一种远程监督关系抽取方法及装置。



背景技术:

互联网快速发展的今天,是信息和大数据统治的时代,如何在信息爆炸时代抽取出关注的内容是非常重要的,信息抽取研究旨在为人们提供更有力的信息获取工具,以应对信息爆炸带来的严重挑战。目前公司中最常用的是通过有监督方法训练关系抽取模型,但是有监督关系抽取模型主要依靠人工标注的数据,既费时又费力,所以学术界提出了远程监督关系抽取方法,该方法可以通过自动标注训练数据来解决有监督关系抽取训练数据难获取的问题。

现有的方法主要通过有监督的方式进行关系抽取任务,有监督的学习方法是目前关系抽取较为主流也是表现最好的方法,但其最大的缺点就是需要大量的人工标注语料。如何获得大量的有标注语料就成为了工作的重点,远程监督方法就由此孕育而生。远程监督方法,将已有的知识库对应到丰富的非结构化数据中,从而生成大量的训练数据,从而训练关系抽取器。然而,已有的关系抽取装置都是基于有监督关系抽取,但是基于有监督关系抽取的装置需要大量的人工标注的数据,不仅需要大量的时间,而且需要大量的人力。



技术实现要素:

本申请是基于发明人对以下问题的认识和发现做出的:

近年来,自然语言处理领域的研究者们开始致力于知识图谱构建的研究。知识图谱究其根本是一种语义网络图,通俗来讲,就是把多种信息按照一定的规则融合在一起而得到的关系网络。知识图谱是从“关系”的角度来分析问题的,为搜索提供了新思路:直接返回问题的答案,而不是返回包含关键词的文档序列。信息抽取则是知识图谱构建的关键一步。实体关系抽取作为信息抽取领域的重要研究课题,其主要目的是抽取句子中已标记实体对之间的语义关系,即在实体识别的基础上确定无结构文本中实体对间的关系类别,并形成结构化的数据以便存储和取用。

目前对于大多数企业来说,针对实体关系抽取这个任务需要人工的标注数据来训练模型,但是人工标注费时费力,所以远程监督的自动标注训练数据有着很好前景。然而远程监督现在存在两个的问题:一方面是一些方法需要利用外部知识库的实体描述来丰富实体信息,但是事实上不是所有外部知识库都很容易获取的;另一方面,目前远程监督关系抽取主要采用pcnn(pcnn-pulsecoupledneuralnetwork,脉冲耦合神经网络)模型,pcnn模型虽然在一定程度上解决了池化层所造成的信息损失问题,但是通过分段池化层降维只是选取了其中信息量最大的三段,其他信息都损失掉。因此本发明实施例提出了基于递归卷积分段神经网络结构的连接关系提取的方法,并提出一种sentenceembedding的方法解决模型经过池化层信息损失的问题。

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的一个目的在于提出一种远程监督关系抽取方法,该方法可以通过自然语料自动标注训练数据,完成实体识别以及实体关系抽取。

本发明的另一个目的在于提出一种远程监督关系抽取装置。

为达到上述目的,本发明一方面实施例提出了一种远程监督关系抽取方法,包括以下步骤:通过bootstrapping算法生成实体识别训练数据集,通过crf++工具对句子的实体进行识别;通过远程监督方法生成实体关系抽取训练数据集,通过关系知识库和自然语言语料生成实体关系抽取数据集;通过基于循环分段卷积神经网络和sentenceembedding模块对所述句子的实体进行实体关系抽取。

本发明实施例的远程监督关系抽取方法,运用rcnn(recurrentconvolutionalneuralnetwork,循环分段卷积神经网络)网络捕捉句子中每个词的上下文语义信息,再将当前单词与其上文信息、下文信息拼接得到当前单词的最终表示,从而可以丰富句子中每个词信息,尤其增强实体对信息,进而提升关系识别的效果,且在模型的pooling层之后加入每个实例的句向量来加强每个实例中实体对间隐藏关系的信息。

另外,根据本发明上述实施例的远程监督关系抽取方法还可以具有以下附加的技术特征:

进一步地,在本发明的一个实施例中,所述通过bootstrapping算法生成实体识别训练数据集,包括:使用预先标注的数据集,应用选择的分类方法训练分类器,以标注未标注数据集中的标注分类;使用所述分类器对标注的数据集进行标注分类,以从所述标注的数据集中获取到标注的数据;从所述标注的数据中选择置信度满足预设条件的数据作为标注数据,并加入到标注数据集,直至满足预设迭代结束条件。

进一步地,在本发明的一个实施例中,所述自然语言语料包含实体对和实体对对应的关系的知识库,其中,所述通过远程监督方法生成实体关系抽取训练数据集,包括:通过所述远程监督方法标注训练样本,利用所述知识库中的两个entity以及对应的relation,在自然语言语料中进行回标,其中,若任意一个句子中同时包含所述两个entity,确定所述任意一个句子包含所述relation,得到所述标注数据。

进一步地,在本发明的一个实施例中,通过词嵌入与双向循环神经网络和注意力与句向量抽取所述句子中实体的实体关系。

为达到上述目的,本发明另一方面实施例提出了一种远程监督关系抽取装置,包括:实体识别模块,用于通过bootstrapping算法生成实体识别训练数据集,通过crf++工具对句子的实体进行识别;数据获取模块,用于通过远程监督方法生成实体关系抽取训练数据集,通过关系知识库和自然语言语料生成实体关系抽取数据集;关系抽取模块,用于通过基于循环分段卷积神经网络和sentenceembedding模块对所述句子的实体进行实体关系抽取。

本发明实施例的远程监督关系抽取装置,运用rcnn网络捕捉句子中每个词的上下文语义信息,再将当前单词与其上文信息、下文信息拼接得到当前单词的最终表示,从而可以丰富句子中每个词信息,尤其增强实体对信息,进而提升关系识别的效果,且在模型的pooling层之后加入每个实例的句向量来加强每个实例中实体对间隐藏关系的信息。

另外,根据本发明上述实施例的远程监督关系抽取装置还可以具有以下附加的技术特征:

进一步地,在本发明的一个实施例中,所述实体识别模块进一步用于使用预先标注的数据集,应用选择的分类方法训练分类器,以标注未标注数据集中的标注分类,并使用所述分类器对标注的数据集进行标注分类,以从所述标注的数据集中获取到标注的数据,从所述标注的数据中选择置信度满足预设条件的数据作为标注数据,并加入到标注数据集,直至满足预设迭代结束条件。

进一步地,在本发明的一个实施例中,所述自然语言语料包含实体对和实体对对应的关系的知识库,其中,所述数据获取模块进一步用于通过所述远程监督方法标注训练样本,利用所述知识库中的两个entity以及对应的relation,在自然语言语料中进行回标,其中,若任意一个句子中同时包含所述两个entity,确定所述任意一个句子包含所述relation,得到所述标注数据。

进一步地,在本发明的一个实施例中,所述关系抽取模块进一步用于在进行实体关系抽取的过程中,通过词嵌入与双向循环神经网络和注意力与句向量抽取所述句子中实体的实体关系。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明实施例的远程监督关系抽取方法的流程图;

图2为根据本发明一个实施例的远程监督关系抽取方法的流程图;

图3为根据本发明实施例的知识库中的关系三元组示意图;

图4为根据本发明实施例的实体关系抽取流程示意图;

图5为根据本发明实施例的远程监督关系抽取装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参照附图描述根据本发明实施例提出的远程监督关系抽取方法及装置,首先将参照附图描述根据本发明实施例提出的远程监督关系抽取方法。

图1是本发明一个实施例的远程监督关系抽取方法的流程图。

如图1所示,该远程监督关系抽取方法包括以下步骤:

在步骤s101中,通过bootstrapping算法生成实体识别训练数据集,通过crf++工具对句子的实体进行识别。

需要说明的是,本发明实施例研究设计了一种基于循环分段卷积神经网络模型、并加入sentenceembedding模块增加了句子中的语义的方法,本发明实施例的方法将关系抽取流程分为数据获取、实体识别以及实体关系抽取,从而可以通过自然语料自动标注训练数据,完成实体识别以及实体关系抽取。

可以理解的是,如图2所示,实体识别:主要通过bootstrapping算法生成实体识别训练数据集,通过crf++工具对句子中的实体进行识别。

进一步地,在发明的一个实施例中,通过bootstrapping算法生成实体识别训练数据集,包括:使用预先标注的数据集,应用选择的分类方法训练分类器,以标注未标注数据集中的标注分类;使用分类器对标注的数据集进行标注分类,以从标注的数据集中获取到标注的数据;从标注的数据中选择置信度满足预设条件的数据作为标注数据,并加入到标注数据集,直至满足预设迭代结束条件。其中,本领域技术人员可以根据实际情况设置预设迭代结束条件,在此不做具体限定。

具体而言,如图2,实体识别过程包括实体识别训练数据集生成和实体识别,具体如下:

(1)实体识别训练数据集生成

bootstrapping过程形式化描述为:

对于给定的自然语言处理任务,选取特定的有指导的训练分类模型的方法。然后需要两个数据集,一般是少量的标注数据集l和为标注的数据集u。然后逐步通过未标注的数据集u来扩大标注的数据集。从而训练处最终的分类器实现具体的自然语言处理任务。

采用bootstrapping算法实现实体识别

主要步骤如下:

1.使用已经标注的数据集l(非常少量的数据集),应用选择的分类方法训练分类器h,h的作用主要是用于标注未标注数据集中的标注分类。

2.使用h对u进行标注分类目的是从u中获取到标注的数据。

3.在2中获取的标注数据中选择置信度较高的数据作为标注数据加入到标注数据集;

4.重复上述过程直到满足迭代结束条件。

这样可以通过少量的人工标注数据来生成实体识别训练数据集。

(2)实体识别

实体识别主要采用crf++工具来对句子中的实体进行识别。

在步骤s102中,通过远程监督方法生成实体关系抽取训练数据集,通过关系知识库和自然语言语料生成实体关系抽取数据集。

可以理解的是,如图2所示,获取训练数据集:通过远程监督方法来生成实体关系抽取训练数据集,通过关系知识库和自然语言语料,来生成实体关系抽取数据集。

进一步地,在发明的一个实施例中,自然语言语料包含实体对和实体对对应的关系的知识库,其中,通过远程监督方法生成实体关系抽取训练数据集,包括:通过远程监督方法标注训练样本,利用知识库中的两个entity以及对应的relation,在自然语言语料中进行回标,其中,若任意一个句子中同时包含两个entity,确定任意一个句子包含relation,得到标注数据。

具体而言,如图2所示,训练数据获取:需要准备好自然语言语料,包含实体对以及实体对对应的关系的知识库,本发明实施例通过远程监督方法可以自动标注训练样本,并利用知识库中的两个entity以及对应的某个relation,在自然语言语料中进行回标,如果某个句子中同时包含了两个entity,那么就假定这个句子包含了上述的relation.这样就可以获得大量的标注数据。

如图3所示,知识库中的关系三元组<stevejobs,apple,founder>,那么语料中stevejobswastheco-founderandceoofappleandformerlypixar.和stevejobspassedawaythedaybeforeappleunveilediphone4s。两个句子都出现stevejobs,founder实体对,那么就将句子中的实体对的关系标为apple。这就实现了自动标注训练数据,无需花费大量的时间人工标注数据,节省了大量人力、时间。

在步骤s103中,通过基于循环分段卷积神经网络和sentenceembedding模块对句子的实体进行实体关系抽取。

可以理解的是,如图2所示,实体关系抽取:通过基于循环分段卷积神经网络和sentenceembedding模块,对句子中的实体进行实体关系抽取。

进一步地,在本发明的一个实施例中,在进行实体关系抽取的过程中,通过词嵌入与双向循环神经网络和注意力与句向量抽取句子中实体的实体关系。

具体而言,如图2所示,实体关系抽主要分为以下几步:(1)词嵌入+双向循环神经网络;(2)注意力+句向量。下面将结合图4进行详细的解释。

(1)词嵌入+双向循环神经网络

1、wordembedding

wordembedding目的是将word转化为可以捕捉词的句法和语义信息的分布式表示。给出一个句子x={w1,w2,…,wm},m为句子的词个数,每个词都被表示成real-valuedvector,词表示通过一个embeddingmatrix中的对应列表示,其中embeddingmatrixvv代表词表的大小。

2、wordbasedcontextembedding

给出一个句子x={w1,w2,…,wm},本发明实施例想通过当前词的上下文来丰富当前词的表示信息,通过上下文信息来丰富每个词信息,这样可以不借助外部知识库等工具来丰富词信息。该模块定义cl(wi)作为wi的上文,cr(wi)作为wi的下文。

cl(wi)=f(w(l)cl(wi-1)+w(sl)e(wi-1))(1)

cr(wi)=f(w(l)cr(wi-1)+w(sl)e(wi-1))(2)

x=[cl(wi);e(wi);cr(wi)](3)

cl(wi)和cr(wi)都是|c|维的向量。cl(wi)计算公式如公式1。

cl(wi-1)是词wi-1的上文,e(wi-1)是词wi-1的wordembedding,cr(wi-1)是词wi-1的下文,用|e|维的向量来表示。w(l)是将上文的隐藏层转换下一隐藏层的矩阵。w(sl)是结合当前词语义信息和上文信息的矩阵,f是非线性激活函数。cr(wi)以同样的方式计算,如公式2。随后,定义词wi-1的词表示,如公式3,词wi-1是由cl(wi)、e(wi)、cr(wi)拼接后的向量表示。这样,句子中的各个词信息就增加了该词的上下文信息,扩充了各个词的信息。

根据公式3得到每个词的词表示信息x=[cl(wi);e(wi);cr(wi)],每个词表示成一个那么每个句子可以表示成m×db维的矩阵。

3、positionembedding

在关系抽取任务中,一般越靠近实体对的词语越能决定该实例中实体对对应的关系。使用positionembedding可以帮助cnn捕捉到词语与头实体和尾实体之间的距离,以便更好地抽取出该实例的关系信息。positionembedding可以定义成当前词语与头实体和尾实体的相对距离的拼接结合。例如:“billgatesisthefounderofmicrosoft.”中,”founder”距离”billgates”和”microsoft”分别是3和2。本发明实施例将wordbasedcontextembedding和positionembedding拼接获得词表示,那么整个句子可以表示成一个向量序列w={w1,w2,…,wm},wi∈rdd=db+2×dp

(2)注意力+句向量

1、piecewiseconvolutionalnetwork

通过convolutionalnetwork抽取局部特征,通过局部特征来预测句子中实体对之间的关系,卷积层首先通过一个长度为l的滑动窗口抽取特征,之后,通过结合抽取出的局部特征再通过piecewisemax-pooling操作,获取到固定大小的向量。卷积操作定义在输入向量序列w={w1,w2,…,wm}与卷积矩阵w之间的操作,定义qi为w矩阵的第i个窗口的序列。

qi=wi-1;i(1≤i≤m+l-1)(4),

因为每个句子长度不一样,所以当滑动窗口超出句子序列长度时,增加paddingtokens来补齐长度,paddingtokens可以用零向量进行代替。

第i个卷积层可以通过公式5计算:

pi=[wq+b]i(5),

其中,采用piecewisemaxpooling操作,每个卷积层pi被头实体和尾实体分割成pi1、pi2和pi3;[x]ij=max(pij),最后的xi=[pi1;pi2;pi3]。

2、sentenceembedding

sentenceembedding可以表示一个实例的整体语义信息,进而可以间接地反映出该实例中实体对间的关系信息,所以本发明实施例在piecewisemaxpooling层之后的x拼接上表示整个实例sentenceembeddingq,其中,q采用sentenceembedding的基于词向量的加权模型的思想,本发明实施例将piecewisemaxpooling层获得的三段最重要的信息[x]ij进行均值操作来表示该实例的语义信息。其中,q计算方式基于词向量的加权模型的思想,如公式6:

s=∑αivi(6)。

在发明实施例中piecewisemaxpooling层之后获得pi1、pi2和pi3,本发明实施例通过公式7获取该实例的整体语义表示。

3、selectiveattentionoversentences

通过attention机制减少噪声数据的权重,给定本发明实施例s={s1,s2,…,sn}把集合s表示成:

s=∑αisi(8),

其中,α是每个实例的权重,α可以用以下的公式进行表示:

其中,a是带权重的对角矩阵,r是与关系r有关的查询向量。

4、lossfunction

本发明实施例计算条件概率p:

其中,nr是总共的关系数量,o是神经网络的最后输出。

最后计算目标函数l:

综上,(1)本发明实施例提出变分自编码器将解决噪声问题的传统bag-level上的关系预测方法转化为sentence-level上的关系预测。sentence-level上的关系预测可以给出每个实体对在所在句子中的关系,消除了传统方法只给出每个实体对描述的关系的限制,能够更精准地构建知识图谱。(2)本发明实施例提出采用attention机制计算实体对上下文与实体对对应关系的相关程度,挑选出对关系识别贡献大的上下文,得到更优的关系抽取效果,具有一定的现实意义。

根据本发明实施例提出的远程监督关系抽取方法,运用rcnn网络捕捉句子中每个词的上下文语义信息,再将当前单词与其上文信息、下文信息拼接得到当前单词的最终表示,从而可以丰富句子中每个词信息,尤其增强实体对信息,进而提升关系识别的效果,且在模型的pooling层之后加入每个实例的句向量来加强每个实例中实体对间隐藏关系的信息。

其次参照附图描述根据本发明实施例提出的远程监督关系抽取装置。

图5是本发明一个实施例的远程监督关系抽取装置的结构示意图。

如图5所示,该远程监督关系抽取装置10包括:实体识别模块100、数据获取模块200和关系抽取模块300。

其中,实体识别模块100用于通过bootstrapping算法生成实体识别训练数据集,通过crf++工具对句子的实体进行识别。数据获取模块200用于通过远程监督方法生成实体关系抽取训练数据集,通过关系知识库和自然语言语料生成实体关系抽取数据集。关系抽取模块300用于通过基于循环分段卷积神经网络和sentenceembedding模块对句子的实体进行实体关系抽取。本发明实施例的装置10可以通过自然语料自动标注训练数据,完成实体识别以及实体关系抽取。

进一步地,在本发明的一个实施例中,实体识别模块100进一步用于使用预先标注的数据集,应用选择的分类方法训练分类器,以标注未标注数据集中的标注分类,并使用分类器对标注的数据集进行标注分类,以从标注的数据集中获取到标注的数据,从标注的数据中选择置信度满足预设条件的数据作为标注数据,并加入到标注数据集,直至满足预设迭代结束条件。

进一步地,在本发明的一个实施例中,自然语言语料包含实体对和实体对对应的关系的知识库,其中,数据获取模块200进一步用于通过远程监督方法标注训练样本,利用知识库中的两个entity以及对应的relation,在自然语言语料中进行回标,其中,若任意一个句子中同时包含两个entity,确定任意一个句子包含relation,得到标注数据。

进一步地,在本发明的一个实施例中,关系抽取模块300进一步用于在进行实体关系抽取的过程中,通过词嵌入与双向循环神经网络和注意力与句向量抽取句子中实体的实体关系。

需要说明的是,前述对远程监督关系抽取方法实施例的解释说明也适用于该实施例的远程监督关系抽取装置,此处不再赘述。

根据本发明实施例提出的远程监督关系抽取装置,运用rcnn网络捕捉句子中每个词的上下文语义信息,再将当前单词与其上文信息、下文信息拼接得到当前单词的最终表示,从而可以丰富句子中每个词信息,尤其增强实体对信息,进而提升关系识别的效果,且在模型的pooling层之后加入每个实例的句向量来加强每个实例中实体对间隐藏关系的信息。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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