一种基于二维时序网络的端到端文本实体关系识别方法与流程

文档序号:23222163发布日期:2020-12-08 15:04阅读:137来源:国知局
一种基于二维时序网络的端到端文本实体关系识别方法与流程

本发明属于自然语言处理技术领域,具体涉及一种基于二维时序网络的端到端文本实体关系识别方法。



背景技术:

自然语言处理是计算机科学领域与人工智能领域中的一个重要方向,它主要研究能够实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融计算机科学、语言学、数学、人工智能等于一体的交叉学科。

实体关系识别与抽取是自然语言处理中的一项重要任务,通过从文本中抽取结构化的实体关系事实,可用于自动构建和扩充知识图谱。知识图谱则是以语义网络为基础的大型知识系统,通过“头实体-关系-尾实体”以及“实体-属性-属性值”的三元组数据基本格式来描述客观世界的。通过知识图谱的查询和推理,机器能够解决不同的问题输入。知识获取是知识图谱开发的重要一步,主要通过实体识别、关系识别、事件识别等方法从文本中获取三元组信息。

目前常用的实体关系识别方法主要基于多模型的管道式信息处理思想。如公布号为cn111444715a的发明专利涉及一种实体关系识别方法,所述实体关系识别方法首先对待处理语句进行分词处理获得语句元素,并从所述语句元素中确定语句中的头实体;随后基于所述头实体对所述语句元素进行编码,并根据编码结果确定与所述头实体具有实体对应关系的尾实体。该方法的文本语句会按顺序经过分词、实体识别、关系识别等模型,后边模型的推理误差无法避免地会受到前边模型误差的影响,会出现模型误差叠加问题,进而影响识别结果。

最近又提出了联合建模的实体关系识别方法,把多个文本处理任务放在一个模型中进行处理,用来减少识别误差。如公布号为cn110705301a的发明专利涉及一种实体关系抽取方法,所述实体关系抽取方法通过实体和关系联合抽取模型对文本进行处理,所述实体和关系联合抽取模型通过定义特殊的标注集,由实体类别、关系类别排列组合而来。它们将实体和关系联合抽取任务归纳为一种序列标注任务,通过模型给文本中每个字或词标注上包含实体类别和关系类别的标签,然后根据每个字或词的标签再提取出实体和关系。虽然所述联合抽取模型对实体识别和关系抽取进行了联合建模,但是所述联合抽取模型内部仍会出现误差叠加,特别是在实体、关系类别较多的时候,抽取的实体关系准确性较低。



技术实现要素:

本发明所要解决的技术问题是,针对现有技术的不足,提供一种基于二维时序网络的端到端文本实体关系识别方法。

为解决上述技术问题,本发明所采用的技术方案是:一种基于二维时序网络的端到端文本实体关系识别方法,所述方法包括:

s1、获取文本语句,对文本语句进行处理后嵌入embedding层,并对嵌入结果进行编码处理,得到语句的向量表示;

s2、对步骤s1中得到的向量表示进行处理,得到头实体张量和尾实体张量;

s3、对步骤s1中得到的向量表示进行识别处理,得到文本语句提及的关系类别;

s4、用步骤s3中得到的关系类别对步骤s2中得到的头实体张量和尾实体张量进行缩放处理;

s5、从步骤s4中经缩放的头实体张量中识别涉及到的实体类别,得到头实体类别;从步骤s4中经缩放的尾实体张量中识别涉及到的实体类别,得到尾实体类别;

s6、对步骤s4中经缩放的头实体张量和尾实体张量分别进行加权处理;

s7、用步骤s5中得到的头实体类别对步骤s6中经加权的头实体张量进行缩放处理,用步骤s5中得到的尾实体类别对步骤s6中经加权的尾实体张量进行缩放处理;

s8、对步骤s7中经缩放的头实体张量和尾实体张量进行处理,得到最终的关系张量。

进一步的,根据权利要求1所述的一种基于二维时序网络的端到端文本实体关系识别方法,其特征在于:所述步骤s1中对文本语句的处理,包括序列编码处理和cls字符嵌入处理,所述cls字符用来代表整个文本语句。

进一步的,根据权利要求1所述的一种基于二维时序网络的端到端文本实体关系识别方法,其特征在于:所述步骤s5中得到的头实体类别和尾实体类别均采用bio标注方法。

进一步的,根据权利要求1所述的一种基于二维时序网络的端到端文本实体关系识别方法,其特征在于:所述步骤s6中,利用点积缩放自注意力机制对步骤s4中经缩放的头实体张量和尾实体张量分别进行加权处理。

进一步的,根据权利要求1所述的一种基于二维时序网络的端到端文本实体关系识别方法,其特征在于:所述步骤s8中,利用s3步骤中得到的关系类别对所述关系张量进行缩放处理。

进一步的,根据权利要求1所述的一种基于二维时序网络的端到端文本实体关系识别方法,其特征在于:所述步骤s4中得到的头实体类别和尾实体类别,以及s8步骤中得到的关系张量均含有关系类别纬度。

传统实体关系抽取方法是以规则匹配为基础的方法,该方法是运用语言学知识制定一系列抽取规则,对经过预处理的文本语句进行规则匹配。若匹配成功,便说明该语句中的实体对存在规则对应的关系。基于规则的方法能够在特定的领域内取得较好的效果,但是还存在一些问题:研究人员需要在相关领域专家的指导下花费大量的时间编写关系规则,并且这些规则不具有通用性,当迁移到其他领域时规则就失效了。并且抽取规则比较难于制定,规则太少的话会造成覆盖度不够,不能有效抽取关系,造成召回率过低的问题。覆盖度太高又会在一定程度上引入冲突,无法使规则之间有序合作,导致准确率下降。因此,近些年来,越来越多的研究者开始研究基于神经网络的实体关系抽取方法。

目前常用的基于神经网络的关系抽取方法是使用管道式(流水线)方法进行抽取,该方法先对句子进行实体识别,然后对识别出的实体两两组合,再进行关系识别,最后把存在实体关系的三元组作为结果输出。如公布号为cn107291687a的发明专利涉及一种基于依存语义的中文无监督开放式实体关系抽取方法,所述方法包括以下步骤:1、预处理输入文本;2、对输入文本进行命名实体识别;3、从识别出的实体中任意选出两个实体构成候选实体对;4、寻找候选实体对中的两个实体之间的依存路径;5、根据依存路径抽取的关系词与候选实体对构成关系三元组;6、输出关系三元组。该方法即为管道式(流水线)方法,存在以下缺点:1、错误传播,实体识别模块的错误会影响下面的关系分类性能;2、产生了没必要的冗余信息,没有关系的实体会带来多余信息,提升了错误率。

针对这种情况,本发明提出了基于时序二维网络的端到端文本实体关系识别方法。时序二维网络(2dtemporaladjacentnetwork,又名二维时序邻接网络或二维时域邻近网络)是把序列中所有位置的起点和终点关联形成的网络。本发明基于时序二维网络的思想,把待处理文本语句中头实体的首字符作为起点,把尾实体的首字符作为终点,并将头实体的首字符代表的起点和尾实体的首字符代表的终点互相关联,因头实体首字符矩阵和尾实体首字符矩阵均含有关系类别纬度,在互相关联过程后,即实现了实体识别和关系抽取的联合建模。

本发明的有益效果如下:

本发明采用联合建模方式的端到端关系识别模型,相对于管道式的关系识别模型,一方面消除了管道模型误差累加的弊端,另一方面使得模型的部署简便化,不需要编写代码处理管道模型之间的衔接,而且训练模型所用的数据格式也比较容易处理。

本发明参考one-hot编码(独热编码)思想,把模型的输出变量扩展为秩为3的三维张量。其中关系识别的输出形状是c×n×n,实体识别的输出形状是c×n×3。通过添加关系类别维度c,可使模型能有效处理交织实体和交织关系的识别问题。

本发明利用联合建模中各个子任务之间的常识性关联特点对模型的输出进行缩放,通过缩放处理,鼓励模型在满足关系未提及、非实体首字符等情况下输出0。这种利用任务之间的关系进行缩放的方法能降低输出张量中取值为0元素对模型收敛方向的影响,从而降低模型收敛的难度。

附图说明

下面结合附图对本发明做进一步的详细说明。

图1:本发明的流程示意图。

图2:本发明的流程框图。

图3:本发明关系矩阵的结构示意图之一。

图4:本发明关系矩阵的结构示意图之二。

具体实施方式

为了更好地理解本发明,下面结合实施例和附图进一步清楚阐述本发明的内容,但本发明的保护内容不仅仅局限于下面的实施例。在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员来说显而易见的是,本发明可以无需一个或多个这些细节而得以实施。

如图1、图2所示,本发明的实现过程包括如下步骤:

1、步骤s1,获取文本语句,对文本语句进行处理后嵌入embedding层,并对嵌入结果进行编码处理,得到语句的向量表示e′。

步骤s1首先对文本语句中的所有单个字符进行序列编码处理,以“小明2019年毕业于黄河大学传媒专业”这句话为例,即对“小”、“明”、“2”、“0”等单个字或单个英文字符进行序列编码处理,文本序列编码在公式中用v表示。在具体实施过程中,对字符的序列编码,可以利用定义好的字典,将每个字符映射成数值索引,数值索引组成的序列即为生成的文本序列编码v。在获取文本序列编码v后,在文本序列编码v最前端引入一个cls字符,cls字符用来代表整个文本语句。

相关公式如下:

e′=transformerencode(e)(2)

公式中v代表文本序列编码,c代表预定义的关系类别的数量,h代表嵌入的维度,n代表文本序列长度,因引入了cls字符,序列的嵌入长度为n+1。

公式(1)将文本序列v嵌入embedding层,公式(2)使用标准的transformer编码器对嵌入结果进行编码,得到语句的向量表示e′。

2、步骤s2,对步骤s1中得到的向量表示e′进行处理,得到头实体张量s和尾实体张量o。

相关公式如下:

s=transpose(reshape(e′,[n+1,c,h])[1:,:c,:],[1,0,2])(3)

o=transpose(reshape(e′,[n+1,c,h])[1:,c:,:],[1,0,2])(4)

公式(3)和公式(4)利用pythonnumpy科学计算库中的reshape(重塑)、transpose(转置)、切片(slicing)等张量操控方法对编码结果进行转换,通过转换,得到了头实体张量s和尾实体张量o,头实体张量s和尾实体张量o的大小均为c×n×h。

3、步骤s3,对步骤s1中得到的向量表示e′进行识别处理,得到文本语句提及的关系类别p。

步骤s3利用预定义的关系来分辨句子中是否提及某种关系。相关公式如下:

公式(5)中e′0表示编码后位于首位的cls编码,使用带偏置的参数矩阵对cls编码进行线性变换,并使用sigmoid函数把结果转换成概率,得到文本语句提及的关系类别p。

公式(5)中的得到的关系类别p是一个形状为c×1的二值向量,0表示没有提及某种关系,1表示有提及某种关系。

4、步骤s4,用步骤s3中得到的关系类别p对步骤s2中得到的头实体张量s和尾实体张量o进行缩放处理。

如果文本语句没有提及某种关系类别,那么该未提及的关系对应的头实体和尾实体也不会出现在文本语句中。因此,利用步骤s3中得到的关系类别p对头实体张量s和尾实体张量o进行缩放,能把未提及关系的头尾实体表示缩小的较低的值,这样有利于对有无关系的实体进行区分。

5、步骤s5,从步骤s4中经缩放的头实体张量s中识别涉及到的实体类别,得到头实体类别qs;从步骤s4中经缩放的尾实体张量o中识别涉及到的实体类别,得到尾实体类别qo

步骤s5的目的是从文本语句中判断某个位置是否存在某个实体。本发明采用bio实体标记方法,b代表实体的开始位置,用数值1表示;i代表实体的其它位置,用数值2表示;o代表非实体位置;用数值0表示。由于头实体s和尾实体o的张量表示都有关系类别维,关系类别维度上的不同切片代表了不同关系的头实体或尾实体的bio取值,所以不需要对实体的bio标记指明实体类别。这样做的好处是模型可以识别交织实体,例如:“黄河大学校友会”短语中的“学校-黄河大学”和“组织-黄河大学校友会”两个交织实体会在不同的关系类别切片上被识别到。

步骤s4和步骤s5的相关公式如下:

公式(6)和公式(7)首先用步骤s3中得到的关系类别p与头实体张量s和尾实体张量o分别做元素级别的相乘,对头实体张量s和尾实体张量o进行缩放。由于待处理的pc和sc以及oc的形状不同,可首先采用pythonnumpy数据科学运算库的广播机制把pc扩充成sc和oc的形状。

公式(6)和公式(7)接下来采用带偏置的参数矩阵对缩放后的头实体张量s和尾实体张量o分别做线性变换,并通过softmax函数把变换后的值转换成概率,得到头实体类别qs和尾实体类别qo

6、步骤s6,对步骤s4中经缩放的头实体张量s和尾实体张量o进行加权处理。

相关公式如下:

本发明关系识别采用双向序列生成模式,即从头实体生成尾实体的首字符标记序列,和从尾实体生成头实体的首字符标记序列。公式中标记so表示从头实体生成尾实体的序列过程,标记os表示从尾实体生成头实体的序列过程。

公式(8)-公式(11)采用点积缩放自注意力机制对头实体s和尾实体o进行加权处理。其中so过程和os过程分别计算注意力矩阵aso和aos,得到经加权的头实体张量dso和尾实体张量dos。在实施过程中,可采用transformer模型中使用的注意力模块。

公式(8)-公式(11)的两个注意力机制为点积缩放自注意力机制,其中为了简化描述逻辑而省略了对注意力机制中多头注意、qkv线性映射、feedforward、残差、层归一化等模块的描述。so与os过程中注意力的主要区别在于qkv(querys、keys、values)的选择。so过程注意力的qkv分别来自s、o、和s,而os过程的qkv分别来自o、s、和o。

7、步骤s7、用步骤s5中得到的头实体类别qs对步骤s6中经加权的头实体张量dso进行缩放处理,用步骤s5中得到的尾实体类别qo对步骤s6中经加权的尾实体张量dos进行缩放处理。

8、步骤s8,对步骤s7中经缩放的头实体张量dso和尾实体张量dos进行处理,得到最终的关系张量。

步骤s7和步骤s8相关公式如下:

qs′=qs[:,:,1](12)

qo′=qo[:,:,1](13)

公式(12)-公式(15)使用步骤s5中得到的头实体类别qs对步骤s6中经加权的头实体张量dso进行缩放处理,使用步骤s5中得到的尾实体类别qo对步骤s6中经加权的尾实体张量dos进行缩放处理;随后分别将缩放后的头实体张量和尾实体张量用带偏置的参数矩阵映射成n×n的头实体首字符标记矩阵mso和尾实体首字符标记矩阵mos

由于头实体首字符标记矩阵mso和尾实体首字符标记矩阵mos是翻转关系,所以在公式(16)中,首先对尾实体首字符标记矩阵mos进行转置,然后与头实体首字符标记矩阵mso进行元素级别的相加。在相加后,引入步骤s3中得到的关系类别p对相加结果进行缩放,最后用sigmoid函数将缩放结果转换为概率,从而得到最终的关系张量r。

本发明输出的关系张量r结构为c×n×n,是由n×n的关系矩阵堆叠出的张量,张量共有c阶,其中关系张量r的第一个维度代表关系类别。因此在关系类别维度上的不同切片代表不同关系类别的关系矩阵。第c种关系的关系矩阵中第i行第j列的元素代表以序列第i个字符为首字符的头实体是否与序列第j个字符为首字符的尾实体存在c类关系,是的话取值为1,否的话取值为0。另一种角度,第i行表示所有以i为头实体首字符生成的尾实体首字符标记,第i行第j列的元素表示为第i行的j位置是否为c类关系的尾实体首字符,是的话取值为1,否的话取值为0。

以“小明自导自演了橘子tv的《小明传奇》。”这句为例,如果要提取“导演-导演了-作品”的关系,则输出的关系矩阵结构为图3所示,从中可识别出“小明-导演了-小明传奇”的实体关系;如果要提取“出品方-出品了-作品”的关系,则输出的关系矩阵结构为图4所示,从中可识别出“橘子tv-出品了-小明传奇”的实体关系。

本发明提供了一种简便的张量变换框架来联合实体识别和关系识别两个任务。本发明主要借鉴了时序二维表示的思想,把长度为n的序列表示为n×n的关系矩阵,矩阵取值为0或1。行代表关系识别头实体的首字符,列代表尾实体的首字符,取值为1代表存在关系。模型通过预测关系矩阵来确定实体之间是否有关系。

本发明参考transformer注意力机制,发明了头实体到尾实体和尾实体到头实体的双向注意力机制。当前有一些关系识别模型也采用注意力机制来代替循环神经网络和卷积神经网络对文本进行编码。由于本发明模型是个联合建模模型,与其它模型不同,本发明的注意力机制的qkv输入中编码的有实体识别任务的相关信息。另外,由于本发明的模型实体识别部分头实体和尾实体有不同的表示,因此与其它模型不同,本发明的注意力机制的qkv有不同的来源。

本发明利用联合建模中各个子任务之间的常识性关联特点对模型的输出进行缩放。本发明输出的关系张量r以及实体类别qs、qo都是比较大的张量,大小分别为c×n×n和c×n×3。如果要对张量中的每一个元素的取值进行判定,这样会导致损失函数的量纲比较大,同时模型收敛的难度也比较大。然而,由于模型输出张量非常的稀疏,因为通常情况下一个句子只会描述一种关系,而一个句子中的实体数量也不会太多。本发明通过缩放处理,鼓励模型在满足关系未提及、非实体首字符等情况下输出0。这种利用任务之间的关系进行缩放的方法能降低输出张量中取值为0元素对模型收敛方向的影响,从而降低模型收敛的难度。

本发明输出的关系张量r的输出形状是c×n×n,实体识别qs和qo的输出形状是c×n×3。通过添加关系类别维度c,使得模型可以有效处理交织实体和交织关系的识别问题。例如:“黄河大学校友会”短语中的“学校-黄河大学”和“组织-黄河大学校友会”两个交织实体会在不同的关系类别切片上被识别到。而“小明自导自演了《小明传奇》。”短句中的“小明-导演-小明传奇”和“小明-出演-小明传奇”两个交织的关系会分别被不同的关系类别切片的模型识别到。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

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