一种基于跨度和知识增强的实体关系联合抽取方法与流程

文档序号:23629218发布日期:2021-01-12 10:43阅读:667来源:国知局
一种基于跨度和知识增强的实体关系联合抽取方法与流程

本发明属于信息抽取和自然语言处理技术领域,具体涉及一种基于跨度和知识增强的实体关系联合抽取方法。



背景技术:

抽取实体及其之间的内在关系对于理解文本起着至关重要的作用。具体而言,命名实体识别和关系分类在判断文本结构以用于知识图谱构建、基于知识的问答等下游任务中尤为关键,其中,命名实体识别是指识别文本中具有特定意义的实体并判断出该实体的类型(人名、地名、机构名、专有名词等),关系分类则是判断一组给定实体对之间存在的关系类型。

传统的实体关系抽取方法是一个流水线过程,即将命名实体识别和关系分类分为两个独立的子任务,给定一段文本后,先识别其中的实体,之后判断识别出的实体间的关系类型。这种流水线方法虽然实施较为容易,但是过程中极易发生误差传递,如果命名实体识别过程中发生错误,则会影响后续关系分类的效果。针对上述问题,近来一些研究中提出了联合实体关系抽取的方法,以此来充分挖掘实体及其关系之间的潜在依赖关系,使得命名实体识别和关系分类两个任务能起到相得益彰的效果。联合的实体关系抽取方法虽然能有效缓解流水线方法中存在的误差传递问题,但是对于数据集标注的要求很高,需要大量的高质量标注数据来对模型进行训练。然而,在特定领域下标注数据耗时且难度大。与此同时,现有的基于端到端神经网络的实体关系抽取方法不能充分挖掘句子之间的句法、语义等信息,而且基于bio/bilo等标注体系标注的数据集中忽视了重叠关系、多标签等现象,这样会影响实体关系抽取的效果。



技术实现要素:

技术问题:针对现有实体关系抽取方法对实体关系抽取效果差的问题,本发明提出一种基于跨度和知识增强的实体关系联合抽取方法,能够在端到端的神经网络模型中引入依存关系等句法信息,识别出重叠的关系,从而提高实体关系的抽取准确率。

技术方案:本发明的基于跨度和知识增强的实体关系联合抽取方法,包括以下步骤:

s1:构建数据集

收集特定领域的数据,并对所收集的数据进行清洗,构建该领域数据集;

s2:标注数据

随机选取数据集中若干数据,进行人工标注,利用正则模板对数据集中未经人工标注的数据进行自动标注;

s3:实体识别和关系分类

对标注后的数据,利用预训练语言模型将高维离散空间的词映射到低维连续空间向量,嵌入编码;

利用基于跨度的模型进行跨度识别、过滤和关系分类;

利用基于图的模型将关系分类转化为图分类,引入句法依存关系,从而辅助关系判断分类;

对基于跨度的模型的输出结果和基于图的模型的输出结果进行联合训练,识别数据中包含的实体以及实体间的关系。

进一步地,步骤s2中,对数据进行人工标注时,标注出数据的实体位置信息、实体类型和实体间的关系。

进一步地,步骤s2中,利用正则模板对数据进行自动标注时,预设实体类型与实体间的关系,根据数据集所属领域,利用领域专家的撰写知识编写正则模板,通过模板匹配的方式标注出数据中出预设的实体类型及实体间的关系。

进一步地,步骤s3中,预训练语言模型采用bert模型,通过有效的编码上下文信息获得词的向量表示。

进一步地,步骤s3中,基于跨度的模型包括实体分类器、跨度过滤器和关系分类器,利用实体分类器对实体进行判断分类,并利用跨度过滤器过滤掉非实体的跨度,然后利用关系分类器判断实体关系类型进行分类。

进一步地,利用实体分类器对实体进行分类的方法为:

将通过预训练网络模型嵌入编码的候选跨度{ti,ti+1,...,ti+k},输入到实体分类器中,经过一次最大池化,得到实体的向量表示f(ti,ti+1,...,ti+k),并与bert模型编码得到的特殊分类向量tcls、对跨度宽度进行编码的向量twidth进行拼接,得到最终实体的向量表示:

其中,i、k均表示序号,然后将拼接后的结果输入到一层全连接层中并通过softmax激活得到实体类型的概率分布:

其中,ei表示实体类型,wi为权重,bi为偏置,si表示第i个跨度,通过该概率分布对实体类型进行判断分类。

进一步地,利用跨度过滤器对跨度进行过滤的方法为:基于实体分类器所得到的实体类型的概率分布中,若“none”类型的概率值最高,则将该跨度识别为“none”类型,判断该跨度不是实体,将该跨度过滤。

进一步地,利用关系分类器对关系类型进行判断的方法为:

将通过实体分类器得到的跨度编码向量表示与两个跨度之间的上下文通过嵌入编码得到的编码向量表示进行拼接得到关系表示,由于实体对之间的关系是相反的,所有一组实体对之间有两个相反的关系表示,分别为:

其中,ri,j和rj,i分别表示第i个实体和第j个实体之间的关系,i、j表示序号;

将上述的关系表示输入到一个全连接层中,并通过一个sigmoid函数进行激活,得到关系类型的概率分布:

其中,wi,j和wj,i表示权重,bi,j和bj,i表示偏置,通过得到的关系类型的概率分布对实体对间的关系类型进行判断分类,σ(·)表示函数。

进一步地,利用基于图的模型辅助进行实体关系判断分类的方法为:

利用hanlp自然语言处理工具获得句子的依存分析树,并将依存分析树转化为邻接矩阵,得到基于图模型的输入图gi;然后将输入图gi输入到由cogdl实现的图卷积神经网络模型gin中,通过多次迭代学习邻居节点的特征得到整个图的向量表示

将图的向量表示输入一个全连接层中并利用softmax激活获得图分类的概率分布:

其中,表示权重,表示偏置,并利用图分类的概率分布,对实体关系进行判断分类。

进一步地,对基于跨度模型的输出结果和图分类模型的输出结果进行联合训练,识别数据中包含的实体以及实体间的关系类型的方法为:

利用交叉熵损失函数得到基于跨度的模型的实体识别损失γe:

其中,me为实体类型数量;为指示变量,值为0或1,如果该类别和样本类别相同为1,否则为0;为观测实体跨度属于实体类别ce的预测概率;n表示数据集中样本的总数,e为实体的标识;

利用bcewithlogits损失函数得到基于跨度的模型的关系分类损失γr:

其中,yr为指示变量,表示预测关系类别是否与样本类别相同,r为关系的标识;利用交叉熵损失函数得到基于图的模型的图分类损失γg:

其中,mg为关系类型数量;为指示变量;为观测图属于类别cg的预测概率,g为图分类中关系标识;

利用如下公式进行联合训练,得到联合损失γ:

γ=γe+γr+f(·)γg

其中,f(·)为线性函数,且线性函数f(·)取其中x表示输入的样本数,n表示数据集中样本总和。

有益效果:本发明与现有技术相比,具有以下优点:

本发明的一种基于跨度和知识增强的实体关系联合抽取方法,用于解决特定领域的实体关系联合抽取。本方法由基于跨度的模型以及基于图的模型两部分构成,基于跨度的模型可以利用文本中的上下文表示进行实体识别和关系分类,基于图的模型利用句法依存分析得到的句法树进行图分类任务,以此对关系类型进行有效判断。本发明的模型可以在端到端的神经网络模型中引入依存关系等句法信息,进而有效识别出重叠关系,提升实体关系联合抽取准确率。

附图说明

图1为本发明的方法的流程图;

图2为本发明的实施例中人工标注的示例图;

图3为本发明的实施例中自动标注的过程流程图;

图4为本发明的实施例中正则模板的示例图;

图5为本发明的实体关系联合抽取的模型图。

具体实施方式

下面结合实施例和说明书附图对本发明作进一步的说明。

结合图1所示,本发明的基于跨度和知识增强的实体关系联合抽取方法包括:

s1:构建数据集

构建数据集是构建感兴趣的领域或特定领域的数据集,在构建数据集前,需收集足够的数据,在本发明的实施例中,利用爬虫软件或爬取程序爬取门户网站上的新闻文本,在其他实施方式中,也可以是企业累积的数据或者其他方式采集的数据等。当收集足够的数据后,对所收集的数据进行清洗,清洗掉不符合要求的数据,完成数据集的构建。

例如,在本发明的一个实施例中,针对的是军事领域的新闻,在实施过程中,爬取了某门户网站军事新闻网页,共收集了840000篇军事新闻文章,利用军事领域的关键词清洗掉与军事领域无关或者不包括军事类关系的文章,最终得到85000篇文章,构建了包括85000篇文章的数据集。

s2:标注数据

数据标注包括人工标注和自动标注,通常采用人工标注时,会充分利用专家经验,因此标注的准确性相对较高,但因为数据集中的数据量较大,不可能完全通过人工标注的方式完成标注,因此需进行自动标注,提高标注的效率。

在本发明的实施例中,随机选取数据集中若干数据,进行人工标注,数据集中的其余数据采用自动标注的方式进行标注。对数据进行人工标注时,需标注出实体的位置信息、实体类型、实体关系类型。其中,实体类型、实体关系类型均是在数据标注前预先设置的,例如针对上述军事领域的数据集,预设的实体类型包括:装备、人物、组织机构、地名、军事活动、职称、战备工程;预设的实体关系类型包括:部署、持有、拥有、位于。针对该军事领域的数据集,随机抽取了338篇文章,邀请军事领域的专家对所抽取的338篇文章进行标注。专家根据预设的实体类型以及实体关系类型,对所抽取的数据进行人工标注,对于文章中出现的实体给出一个特定的编号,同时实体位置按照该实体在文章中开始和结束的位置进行标注,图2给出了人工标注时的一个数据的标注示例。

对于未进行人工标注的数据,在本发明的实施例中,利用正则模板进行标注,利用正则进行标注的流程如图3所示:

(1)定义实体关系类型,对于本发明的一个实施例,由于军事领域的实体和关系过于复杂,所以设计类型分类的时候与专业契合度比较高的领域专家根据数据集的共同内容讨论制定,能够较为准确地概括目前主流的军事实体和关系类型,并且抽取的关系三元组可以加入到军事知识图谱的构建中。

(2)从数据集中随机抽取100篇军事新闻文本,并人工针对每一个新闻文本中的关系以及实体编写对应的正则表达式,随后在人工标注的338篇军事新闻文本上测试正则表达式的效果,并根据召回率(recall)的值补充对应缺失的正则表达式。说明的是,在其他实施例中,也可以抽取其他数量的数据编写正则表达式。

(3)迭代,回到步骤(2),并重复步骤(2),直到正则抽取的准确率(precision)以及召回率(recall)达到阈值。此时整个流程结束,用完善好的正则表达式在数据集中抽取对应的实体和关系并进行数据的标注。

本发明的实施中共设计了119条关系正则表达式,所编写的正则模板举例如图4所示。在标注数据集上分析正则模板的匹配结果,关系正则成功抽取到人工标注关系语句由两方面决定:关系正则表达式事先定义的类型与人工标注定义的类型相同或人工标注的关系语句的头尾实体在正则表达式抽出的语句中。

在对数据标注完成后,将人工标注的数据和自动标注的数据混合打乱,然后进行实体识别机关系分类。

s3:实体识别和关系分类

对标注后的数据,利用预训练语言模型将高维离散空间的词映射到低维连续空间向量,嵌入编码;利用基于跨度的模型进行跨度识别、过滤和关系分类;利用基于图的模型将关系分类转化为图分类,引入句法依存关系,从而辅助关系分类;对基于跨度的模型的输出结果和基于图的模型的输出结果进行联合训练,识别数据中包含的实体以及实体间的关系。

在本发明的实施例中,预训练语言模型采用的是谷歌发布的针对中文进行训练的bert模型,能够高维离散空间的词映射到低维连续空间向量并嵌入编码。bert模型是一个多层双向的transformer结构,可以通过有效的编码上下文信息来获得词的向量表示。例如,给定一个包含n个词的句子,输入到基于bert的嵌入编码模块后将得到长度为n+1的词向量序列{tcls,t1,t2,...,tn},bert模型会在序列首端加入涵盖整句信息的特殊分类向量tcls。

基于跨度的模型包括实体分类器、跨度过滤器和关系分类器,利用实体分类器对bert模型的输出进行实体分类,并利用跨度过滤器过滤掉非实体的跨度,然后利用关系分类器对实体关系进行判断并进行分类。

基于跨度的模型获取到基于bert的文本向量表示后,将会采用优化负采样的方式获取跨度,将不在标注实体列表的跨度定义为负样本。例如,对于句子(美,国,f,-,1,5,战,斗,机),可能被检测的实体有(美国)、(美国f)、(f-15战斗机)等等。而与现有工作不同的是,本发明的基于跨度的模型并不会对实体和关系假设进行波束搜索,而是设定了一个最大值ne,即在所有可能的实体中最多选取ne个实体,并将未在训练集中被标注为正例的样本标记成负例。不同于现有的基于跨度的模型,本发明提出了一种新的选取负例的方式,即首先建立一个军事实体的集合s,该集合包含了本次数据集尽可能多的实体(标注数据以及实体正则抽取的结果),然后利用jieba(一种分词软件)对语句进行分词,分词会得到所有的可能实体并得到分词结果对应的词性,例如“我在北京天安门”会得到我、在北京、天安、天安门三个实体,首先根据词性进行过滤,仅保留名词,然后对这些名词与实体集合s中的实体进行相似度计算,选择相似度最高的值作为该分词结果的得分,最终负例的选取按照相似度越高优先级越大排序,如果未能达到ne,则先用分词剩下的结果填充,然后则采取随机选择跨度的方式,随机选择跨度会选取长度为2~10的实体。例如本发明的实施例中研究的军事语料,实体的长度基本在这个范围,选择越符合军事实体的特征但未被标注的实体作为负例能够使得模型的训练效果更好。

基于跨度的模型选取好可能的实体后会对实体的向量表示进行处理。实体的向量表示由三部分组成,分别为实体包含的令牌的向量表示(参见图5,即将实体的词映射到预训练模型的词典中词对应的id)、宽度嵌入(参见图5)以及特殊标记cls(参见图5)。

因此,利用实体分类器对实体进行分类的方法为:

将通过预训练网络模型嵌入编码的候选跨度{ti,ti+1,...,ti+k},输入到实体分类器中,经过一次最大池化,得到实体的向量表示f(ti,ti+1,...,ti+k)。宽度嵌入是在训练中学习到的嵌入矩阵(该矩阵包含了词的特征),即实体的宽度为k+1表示实体中包含k+1个令牌,那么实体的宽度嵌入就会被表示为以k+1为下标,在宽度矩阵中进行索引得到的宽度为k+1的向量表示twidth,即对跨度宽度进行编码的向量。特殊标记符号cls为bert模型产生的,涵盖了输入句子的全局信息,bert模型编码得到特殊分类向量tcls。将实体的向量表示f(ti,ti+1,...,ti+k)与bert模型编码的特殊分类向量tcls、对跨度宽度进行编码的向量twidth进行拼接,得到最终实体的向量表示:

其中,i、k均表示序号,然后将拼接后的结果输入到由一层全连接层中并通过softmax激活,得到实体的类型,其中包括无类型“none”,并得到实体类型的概率分布:

其中,ei表示实体类型,wi为权重,bi为偏置,si表示第i个跨度,通过该概率分布对实体类型进行判断。

跨度过滤器根据利用实体分类器得到的实体类型的概率分布,对跨度进行过滤,过滤掉非实体跨度,过滤时,若在概率分布中,“none”类型的概率值最高,则将该跨度识别为“none”类型,即判断该跨度不是实体,从而将该跨度过滤掉。

利用关系分类器进行实体关系分类,会对所有可能的实体对构造关系并进行分类。首先从可能的实体中随机选择最多nr对实体组成关系集合。对于一个由实体对(s1,s2)构成的实体,其关系向量表示由两部分构成,一部分是跨度识别部分得到的头尾实体向量表示,能够通过实体分类器得到跨度编码表示另一部分是文本特征。除了实体特征之外,关系抽取也会依赖文本特征。本发明中并没有选择cls作为文本特征,而是对于两个实体之间的文本进行了最大池化,保留了实体对之间的上下文信息,通过嵌入编码,得到了文本特征的编码向量表示如果两个实体之间没有文本,那么将被设置成0。由于实体对的关系往往是非对称的,关系的头尾实体不能颠倒,所以每一个实体对都会得到两个相反的关系表示:

其中,ri,j和rj,i分别表示第i个实体和第j个实体之间的关系,i、j表示序号。

将上述的关系表示输入到一个全连接层中,并通过一个sigmoid函数进行激活,得到关系类型的概率分布:

其中,wi,j和wj,i表示权重,bi,j和bj,i表示偏置,通过得到的关系类型的概率分布对实体对间的关系类型进行判断,σ(·)表示函数。

基于图的模型是将关系分类转化为图分类问题,引入句法依存分析,辅助关系分类,从而有效缓解端到端神经网络模型不能有效挖掘句法信息的不足。

利用基于图的模型包括依存分析树、图卷积神经网络和图分类器,利用基于图的模型辅助关系判断分类的方法为:输入任意一个句子,利用hanlp自然语言处理工具获得该句子的依存分析树,并将依存分析树转化为邻接矩阵,得到基于图的模型的输入图gi,更具体地,对组成树的每个节点的词将其由bert模型得到的字向量求和作为节点标签,将词之间的依存关系类型作为边标签,将整句的关系类型作为图标签;然后将输入图gi输入到由cogdl(一种工具包)实现的图卷积神经网络的模型gin(graphisomorphismnetwork,图同构网络)中,通过多次迭代学习邻居节点的特征得到整个图的表示向量

将图的表示向量输入一个全连接层中并利用softmax激活获得图分类的概率分布:

其中,是权重,表示偏置,通过图分类的概率分布对关系进行判断分类。

对基于跨度的模型的输出结果和基于图的模型的输出结果进行联合训练,识别数据中包含的实体以及实体间的关系类型的方法为:

利用交叉熵损失函数得到基于跨度的模型的实体识别损失γe:

其中,me为实体类型数量;为指示变量,值为0或1,如果该类别和样本类别相同为1,否则为0;为观测实体跨度属于实体类别ce的预测概率,e为实体的标识。

利用bcewithlogits损失函数得到基于跨度的模型的关系分类损失γr:

其中,yr为指示变量,表示预测关系类别是否与样本类别相同;n表示数据集中样本总量,r为关系的标识。

利用交叉熵损失函数得到基于图的模型的图分类损失γg:

其中,mg为关系类型数量;为指示变量;为观测图属于类别cg的预测概率,g为图分类中关系标识;

利用如下公式进行联合训练,得到联合损失γ:

γ=γe+γr+f(·)γg

其中,f(·)为线性函数。在本发明的优选实施例中,线性函数f(·)取其中x表示输入的样本数,n表示数据集中样本总和。

通过联合训练,识别出句子中包含的实体以及实体间的关系类型。

基于本发明的方法,给出一个具体应用实例。

首先爬取代表性某网站的军事新闻网页,获得840,000篇军事新闻文章。基于军事领域的关键词过滤掉与军事领域无关或者不包含军事类关系的文章,最终得到85,000篇文章,完成数据集的构建。然后随机抽取出338篇文章,邀请领域专家对进行人工标注。对于未手动标记的文章,利用正则模板进行自动标注,共设计了119条关系正则表达式以自动标记数据集。最后,将数据集随机分为训练集和测试集,两个数据集的比例是10:1。将本发明中涉及的模型的参数按表1进行设置。

表1模型中参数设置

为了证明本发明中的模型的优越性,将本发明中的模型结果与现有模型进行比较,表2列出了不同模型的评价结果,分别在三个指标测度上对不同模型的评价结果进行比较,包括准确率、召回率以及f1值。

表2不同模型的评价结果

表2中,第1行中结果并未基于图模型,第2至4行代表混合模型的结果。将本发明中模型与不同的gnn(graphneuralnetworks,图神经网络)变体进行比较,可以发现各个模型的表现各异。尽管sortpool模型在图分类任务中表现良好,但与单模型相比,在关系预测任务f1指标得分上没有改善。同样,spert+patch+san在图分类和关系抽取上都表现一般。观察发现,本模型在图分类、实体识别和关系分类中均达到最高的f1分数,表明可以通过基于图模型引入特定外部知识来提高模型的性能。

表3不同联合抽取方法结果比较

为了联合训练基于跨度的模型和基于图的模型,需要对基于跨度的模型得到的实体识别损失γe,基于跨度的模型得到的关系分类损失γr以及表示基于图的模型得到的图分类损失γg进行聚合。表3给出了三种不同的联合方法对应的抽取结果。结果表明,除了乘法之外,加法以及线性函数可以准确进行联合训练。同时,采用线性函数f(x)=xn,模型在实体识别和关系分类中可以分别得到76.60和58.57的f1得分,高于另外两种联合方法。

本发明提供的基于跨度和知识增强的实体关系联合抽取方法,用于解决特定领域的实体关系联合抽取。该方法由基于跨度的模型以及基于图的模型两部分构成,基于跨度的模型可以利用文本中的上下文表示进行实体识别和关系分类,基于图的模型利用句法依存分析得到的句法树进行图分类任务,以此对关系类型进行有效判断。本发明的模型可以在端到端的神经网络模型中引入依存关系等句法信息,进而有效识别出重叠关系,提升实体关系联合抽取准确率。

上述实施例仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。

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