基于自注意力机制的中文命名实体识别方法及装置与流程

文档序号:17723535发布日期:2019-05-22 02:20阅读:375来源:国知局
基于自注意力机制的中文命名实体识别方法及装置与流程

本发明属于自然语言处理技术领域,具体涉及一种基于自注意力机制的中文命名实体识别方法、系统、装置。



背景技术:

随着互联网的蓬勃发展和日益普及,每个领域每天都会产生海量的信息,比如娱乐、体育等领域。由于这些信息的非结构性和无序性,如何帮助人们理解这些数据,快速的从海量的非结构化文本中识别出有用的信息,从而减轻人类的学习成本,是一件亟需解决的问题。信息抽取技术正式为了解决这个问题。

命名实体识别任务是信息抽取技术的重要环节,是信息抽取领域重要的基础任务和难点问题之一。其性能的好坏直接影响着下游自然语言处理任务的性能。其任务是从非结构化文本中自动识别出命名实体。常见的命名实体包括人物(person,简称为per)、地点(location,简称为loc)和组织机构(organization,简称为org)等类别。该任务需要识别出实体的边界又要正确地预测出实体的类别。

传统的中文命名识别的方法主要基于特征工程,其依靠手工提取的特征来进行标签。主要的方法有隐马尔可夫模型(hiddenmarkovmodel,简称为hmm),支持向量机(supportvectormachine,简称为svm)和条件随机场(conditionalrandomfields,简称crf)等等。这些方法存在误差累积和传递等问题。随着深度学习的流行,基于神经网络的方法开始成为主流方法。然而这些方法需要大量的人工标注的数据作为训练样本。人工标注样本非常的费时费力。



技术实现要素:

为了解决现有技术中的上述问题,即为了解决中文命名实体识别的准确度不能满足需求的问题,本发明的第一方面,提出了一种基于自注意力机制的中文命名实体识别方法,包括:

步骤s10,提取待识别语句的私有特征h1,提取该待识别语句的中文命名实体识别数据和中文分词数据的共有特征s1

步骤s20,基于自注意力机制分别计算共有特征s1之间的长距离依赖关系,以及私有特征h1之间的长距离依赖关系;获取基于依赖关系的私有特征h′1、基于依赖关系的共有特征s′1

步骤s30,基于共有特征s′1,通过预先构建的任务分类器判断所述待识别语句是否为中文命名实体识别数据,若是则执行步骤s40;

步骤s40,将h′1与s′1进行拼接,获取融合后的中文命名实体识别数据特征h″1;基于私有特征h″1,采用条件随即场对融合之后的特征h″1进行标签预测,输出所述待识别语句的中文命名实体识别结果。

在一些优选实施例中,通过对所构建的对抗迁移学习模型进行训练后,得到的特征提取网络、依赖关系计算网络、任务分类器,分别获取所述私有特征h1、所述共有特征s1、所述私有特征h′1、所述私有特征h″1,以及进行待识别语句是否为中文命名实体识别数据的判断;

所述特征提取网络包括第一特征提取网络、第二特征提取网络、第三特征提取网络;所述第一特征提取网络用于提取中文命名实体识别数据和中文分词数据的共有特征;所述第二特征提取网络用于提取中文命名实体识别数据特征;所述第三特征提取网络用于提取中文分词数据特征;

所述依赖关系计算网络包括第一依赖关系计算网络、第二依赖关系计算网络、第三依赖关系计算网络;所述第一依赖关系计算网络用于计算所述第一特征提取网络输出共有特征的依赖关系;所述第二依赖关系计算网络用于计算所述第二特征提取网络输出私有特征的依赖关系;所述第三依赖关系计算网络用于计算所述第三特征提取网络输出私有特征的依赖关系;

所述任务分类器基于第一依赖关系计算网络的输出判断输入样本语句的类别;所述输入样本语句的类别包括中文命名实体识别数据、中文分词数据。

在一些优选实施例中,所述对抗迁移学习模型的训练样本包括语句样本、语句种类标签。

在一些优选实施例中,所述对抗迁移学习模型的训练所用目标函数l为:

l=lner·i(x)+lcws·(1-i(x))+λladv

其中,lner和lcws分别代表中文命名实体识别的损失函数和中文分词的损失函数;ladv为任务分类器产生的损失,λ为调节系数,用于调节任务分类器产生的损失的权重;i(x)为指示函数,x为某个待预测标签的语句;dner和dcws分别代表中文命名实体识别的数据集和中文分词的数据集。

在一些优选实施例中,所述特征提取网络基于双向长短期记忆网络构建。

本发明的第二方面,提出了一种基于自注意力机制的中文命名实体识别系统,包括特征提取模块、依赖关系计算模块、分类判断模块、标签预测模块;

所述特征提取模块,配置为提取待识别语句的私有特征h1,提取该待识别语句的中文命名实体识别数据和中文分词数据的共有特征s1

所述依赖关系计算模块,配置为基于自注意力机制分别计算共有特征s1之间的长距离依赖关系,以及私有特征h1之间的长距离依赖关系;获取基于依赖关系的私有特征h′1、、基于依赖关系的共有特征s′1

所述分类判断模块,配置为基于私有特征h′1,通过预先构建的任务分类器判断所述待识别语句是否为中文命名实体识别数据,若是则执行步骤s40;

所述标签预测模块,配置为将h′1与s′1进行拼接,获取融合后的中文命名实体识别数据特征h″1;基于私有特征h″1,采用条件随即场对融合之后的特征h″1进行标签预测,输出所述待识别语句的中文命名实体识别结果。

在一些优选实施例中,所述特征提取模块包括第一特征提取网络、第二特征提取网络;所述第一特征提取网络用于提取中文命名实体识别数据和中文分词数据的共有特征;所述第二特征提取网络用于提取中文命名实体识别数据特征;

所述依赖关系计算模块包括第一依赖关系计算网络、第二依赖关系计算网络;所述第一依赖关系计算网络用于计算所述第一特征提取网络输出共有特征的依赖关系;所述第二依赖关系计算网络用于计算所述第二特征提取网络输出私有特征的依赖关系;

所述分类判断模块包括任务分类器,所述任务分类器配置为基于第一依赖关系计算网络的输出判断输入样本语句的类别;所述输入样本语句的类别包括中文命名实体识别数据、中文分词数据。

在一些优选实施例中,所述第一特征提取网络、所述第二特征提取网络、所述第一依赖关系计算网络、所述第二依赖关系计算网络、所述任务分类器通过对所构建的对抗迁移学习模型进行训练后获得;

所述对抗迁移学习模型包括由特征提取网络、依赖关系计算网络、任务分类器;

所述特征提取网络包括第一特征提取网络、第二特征提取网络、第三特征提取网络;所述第三特征提取网络用于提取中文分词数据特征;

所述依赖关系计算网络包括第一依赖关系计算网络、第二依赖关系计算网络、第三依赖关系计算网络;所述第三依赖关系计算网络用于计算所述第三特征提取网络输出私有特征的依赖关系。

本发明的第三方面,提出了一种存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行以实现上述基于自注意力机制的中文命名实体识别方法。

本发明的第四方面,提出了一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述基于自注意力机制的中文命名实体识别方法。

本发明的有益效果:

本发明通过特征提取网络(双向长短期记忆网络)获取共有特征和私有特征,并基于自注意力机制进行依赖关系的计算,得到基于依赖关系的公有特征和私有特征,并通过条件随机场进行标签预测,可以有效地提高中文命名实体识别的准确度;同时,通过构建对抗迁移学习模型,对特征提取网络、依赖关系计算网络、任务分类器、条件随机场进行训练,通过训练后的网络中的一部分进行中文命名实体识别,进一步提高了中文命名实体识别的准确度。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是中文命名实体识别任务和中文分词任务对比示例;

图2本发明一种实施例的基于自注意力机制的中文命名实体识别方法的流程示意图;

图3是本发明一种实施例的对抗迁移学习模型的训练架构示意图;

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

目前关于中文命名实体识别任务已经公开的数据集的规模较小,并且已经提出的方法的性能不是特别高。相比之下,中文分词任务领域的相关数据集较多,并且中文命名实体识别任务和中文分词任务有很多相似之处。

如图1所示,中文命名实体识别任务和中文分词任务有很多相似性,比如对于“希尔顿”和“离开”这两个词,有着相同的边界信息,同时也有各自的特异性,比如中文命名实体识别把“休斯顿机场”看成一个整体,中文分词则将其分成两个单词。另外,如果能显示地捕获到每个单词之间的依赖关系,则将有效地提供命名实体识别的性能。例如,如果只关注“希尔顿”这个词,它可能是一个人物也可能是一个组织机构,但如果能学习到这个词和“离开”这个词之间的依赖关系,就能很容易地预测出它的标签类型。图1中,对于中文命名实体识别的任务,“b”和“i”分别是“begin”和“intermedia”的缩写,表示一个实体的开始或者中间部分;“per”是“person”的缩写,代表人物类别,“loc”是“location”的缩写,代表地点类别;“o”是“other”的缩写,代表该字符不是实体。对于中文分词的任务,“b”、“i”和“e”分别是“begin”、“intermedia”和“end”的缩写,表示一个词语的开始部分、中间部分和结束部分;“s”是“single”的缩写,表示单个字构成一个词。

本发明的一种基于自注意力机制的中文命名实体识别方法,如图2所示,包括:

步骤s10,提取待识别语句的私有特征h1,提取该待识别语句的中文命名实体识别数据和中文分词数据的共有特征s1

步骤s20,基于自注意力机制分别计算共有特征s1之间的长距离依赖关系,以及私有特征h1之间的长距离依赖关系;获取基于依赖关系的私有特征h′1、基于依赖关系的共有特征s′1

步骤s30,基于共有特征s′1,通过预先构建的任务分类器判断所述待识别语句是否为中文命名实体识别数据,若是则执行步骤s40;

步骤s40,将h′1与s′1进行拼接,获取融合后的中文命名实体识别数据特征h″1;基于私有特征h″1,采用条件随机场对融合之后的特征h″1进行标签预测,输出所述待识别语句的中文命名实体识别结果。

本发明方法通过对所构建的对抗迁移学习模型进行训练后,得到的特征提取网络、依赖关系计算网络、任务分类器,分别获取所述私有特征h1、所述共有特征s1、所述私有特征h′1、所述私有特征h″1,以及进行待识别语句是否为中文命名实体识别数据的判断;

所述特征提取网络包括第一特征提取网络、第二特征提取网络、第三特征提取网络;所述第一特征提取网络用于提取中文命名实体识别数据和中文分词数据的共有特征;所述第二特征提取网络用于提取中文命名实体识别数据特征;所述第三特征提取网络用于提取中文分词数据特征;

所述依赖关系计算网络包括第一依赖关系计算网络、第二依赖关系计算网络、第三依赖关系计算网络;所述第一依赖关系计算网络用于计算所述第一特征提取网络输出共有特征的依赖关系;所述第二依赖关系计算网络用于计算所述第二特征提取网络输出私有特征的依赖关系;所述第三依赖关系计算网络用于计算所述第三特征提取网络输出私有特征的依赖关系;

所述任务分类器基于第一依赖关系计算网络的输出判断输入样本语句的类别;所述输入样本语句的类别包括中文命名实体识别数据、中文分词数据。

本发明基于自注意力机制的中文命名实体识别方法可以看作是本发明对抗迁移学习模型中的一部分,即采用的网络架构为中文命名实体识别数据对应部分、共有特征对应部分,方法执行的步骤也和训练过程基本一致,因此下文通过对对抗迁移学习模型的训练来详细展开进行说明。

本发明一种实施例中的对抗迁移学习模型,其训练架构示意图如图3所示,包括特征提取网络、依赖关系计算网络、任务分类器;所述特征提取网络包括第一特征提取网络、第二特征提取网络、第三特征提取网络;所述依赖关系计算网络包括第一依赖关系计算网络、第二依赖关系计算网络、第三依赖关系计算网络。

训练样本包括语句样本、对应的语句种类标签、语句的序列标签;语句样本包括中文命名实体识别数据样本、中文分词数据样本,对应的语句种类标签分别为中文命名实体识别数据、中文分词数据,特征标签包括中文命名实体识别序列标签、中文分词序列标签。

对抗迁移学习模型的训练步骤包括以下四个步骤:

步骤a10,共有特征、私有特征的提取。

首先将所输入的语句样本中的每个字符转化成相应的向量表示。本实施例中每个字符的字向量是用word2vec模型在大规模的百度百科语料上学习得到的,当然也可以通过其他方式获取。

若输入的语句样本为中文命名实体识别数据样本,则通过第一特征提取网络提取共有特征s1、通过第二特征提取网络提取私有特征h1;若输入的语句样本为中文分词数据样本,则通过第一特征提取网络提取共有特征s2、通过第三特征提取网络提取私有特征h2。本实施例中各特征提取网络基于双向长短期记忆网络构建。

本实施例中h1、h2的计算方法一致,对于某个语句样本,其计算公式如公式(1)、(2)所示,其中k为1或2。

其中,表示语句样本中第i个字符的向量表示;上标k表示来自哪个数据集或者任务(中文命名实体识别或者中文分词);分别代表共享和私有的双向长短期记忆网络在第i-1步(对第i-1个字符特征提取步骤)隐层单元的输出;bilstm()代表双向长短期记忆网络;分别代表共享和私有的双向长短期记忆网络在i步(对第i个字符特征提取步骤)隐层单元的输出;θs和θk分别代表共享的和私有的双向长短期记忆网络的参数,语句样本中各字符构成语句样本的共有特征sk,语句样本中各字符的构成语句样本的私有特征hk。本实施例中,可以令k=1表示来自中文命名实体识别数据集或者任务,令k=2表示来自中文分词数据集或者任务。

步骤a20,基于自注意力机制分别计算共有特征之间的长距离依赖关系、私有特征之间的长距离依赖关系。

由于私有特征之间的依赖关系的计算方法和共有特征之间的依赖关系的计算方法相同,因此,仅以共有特征之间的依赖关系的计算方法为例进行说明,其计算如公式(3)、(4)、(5)所示:

其中,q、k和v分别为共有特征中的查询矩阵(querymatrix)、键矩阵(keymatrix)、值矩阵(valuematrix),在这里,q、k和v都为共有特征矩阵sk和wo都是共有特征的提取网络(第一特征提取网络)的参数矩阵,通过训练进行优化;在这里,下标i和o是仅用来区别不同参数矩阵,没有实际表征意义;attention()代表自注意力机制;headi代表第i个自注意力的输出;代表拼接操作;s′k代表来自数据集或者任务k的语句样本自注意力机制基于依赖关系的共有特征。

中文命名实体识别数据特征、中文分词数据特征的依赖关系计算方法均与共有特征的依赖关系计算相同,此处不再重复描述。

步骤a30,基于依赖关系的共有特征,通过任务分类器,对正在被预测的句子(输入的语句样本)进行类型(中文命名实体识别数据和中文分词数据)判断。

该分类器主要是为了优化共享的双向长短期记忆网络(第一特征提取网络)。任务分类器和共享的双向长短期记忆网络存在一种对抗关系:共享的长短期记忆网络用来提取中文命名实体识别任务和中文分词任务共有的特征使得任务分类器无法判定此句子来自于哪个任务,而任务分类器则尽可能正确地预测出任务的类别。本发明使用对抗训练的方式训练任务分类器和共享的长短期记忆网络。任务分类器的计算如公式(6)、(7)、(8)所示:

s″k=maxpooling(s′k)(6)

d(s″k;θd)=softmax(wds″k+bd)(7)

其中,s′k代表获取依赖关系之后的共有特征;maxpooling()代表最大池化操作;s″k代表经过最大池化操作之后的共有特征的表示;wd和bd分别代表参数矩阵和偏置项,随着模型一起训练;θd代表分类器的参数;es代表期望;tk代表第k个任务(中文命名实体识别或者中文分词)中语句样本的数目;k代表任务的数目,此处为2。xk(j)为第k个任务中第j个语句样本。

步骤a40,采用条件随机场对共享特征和私有特征融合之后进行标签预测。

在利用自注意力机制捕获到句子中字符之间的长距离依赖关系之后,将计算依赖关系之后的私有特征和计算依赖关系之后的共有的特征进行融合(将二者直接拼接在一起)得到最终的特征表示,该特征将用于序列标签预测。

本发明使用条件随机场(conditionalrandomfields)进行标签预测。在得到最终的特征表示之后,与条件随机场里面设置的状态转移矩阵t相加,得到相应的预测分数,通过遍历比较候选集中所有可能的标签的分数,选取最大的分数对应的标签最为最终的预测的标签。中文命名实体识别和中文分词的标签预测方法是相同的,在这个方法中,每次只对一个任务的标签进行预测。以中文命名实体识别的任务为例,其标签预测的计算过程如公式(9)、(10)、(11)、(12)所示:

其中,h′k和s′k分别代表计算依赖关系之后的私有特征和共有特征;ws和bs分别代表参数矩阵和偏置项;oi为维度转换之后的表示,为每个字符最后的特征表示,s(x,y)为语句样本x预测为标签序列y的打分,为第i个字符预测为yi的表示;tyi-1,yi为状态转移矩阵中从标签yi-1转到标签yi的概率,yx代表所有可能的标签的候选集,为候选集中打分最高的标签序列。

在本实施例的对抗迁移学习模型采用梯度下降的方法来更新模型的参数,整体模型的优化目标函数l如公式(13)所示:

l=lner·i(x)+lcws·(1-i(x))+λladv(13)

其中,lner和lcws分别代表中文命名实体识别的损失函数和中文分词的损失函数;ladv为任务分类器产生的损失,λ为调节系数,用于调节任务分类器产生的损失的权重;i(x)为指示函数,x为某个待预测标签的语句;dner和dcws分别代表中文命名实体识别的数据集和中文分词的数据集。

通过上述方法对对抗迁移学习模型进行训练,采用训练之后的第一特征提取网络、第二特征提取网络、第一依赖关系计算网络、第二依赖关系计算网络、任务分类器和条件随机场,基于训练模型的架构来实现本发明基于自注意力机制的中文命名实体识别方法。具体过程通过上述训练方法可以很清楚的得到,此处不再展开描述。

本发明一种实施例的基于自注意力机制的中文命名实体识别系统包括特征提取模块、依赖关系计算模块、分类判断模块、标签预测模块。

所述特征提取模块,配置为提取待识别语句的私有特征h1,提取该待识别语句的中文命名实体识别数据和中文分词数据的共有特征s1;在一个实施例中,所述特征提取模块包括第一特征提取网络、第二特征提取网络;所述第一特征提取网络用于提取中文命名实体识别数据和中文分词数据的共有特征;所述第二特征提取网络用于提取中文命名实体识别数据私有特征。

所述依赖关系计算模块,配置为基于自注意力机制分别计算共有特征s1之间的长距离依赖关系,以及私有特征h1之间的长距离依赖关系;获取基于依赖关系的私有特征h′1、基于依赖关系的共有特征s′1;在一个实施例中,所述依赖关系计算模块包括第一依赖关系计算网络、第二依赖关系计算网络;所述第一依赖关系计算网络用于计算所述第一特征提取网络输出共有特征的依赖关系;所述第二依赖关系计算网络用于计算所述第二特征提取网络输出私有特征的依赖关系。

所述分类判断模块,配置为基于共有特征s′1,通过预先构建的任务分类器判断所述待识别语句是否为中文命名实体识别数据,若是则执行步骤s40;在一个实施例中,分类判断模块包括任务分类器,所述任务分类器配置为基于第一依赖关系计算网络的输出判断输入样本语句的类别;所述输入样本语句的类别包括中文命名实体识别数据、中文分词数据。

所述标签预测模块,配置为将h′1与s′1进行拼接,获取融合后的中文命名实体识别数据私有特征h″1;基于私有特征h″1,采用条件随即场对融合之后的特征h″1进行标签预测,输出所述待识别语句的中文命名实体识别结果。

上述各模块的获取通过对所构建的对抗迁移学习模型进行训练后获得。所述对抗迁移学习模型包括由特征提取网络、依赖关系计算网络、任务分类器;所述特征提取网络包括第一特征提取网络、第二特征提取网络、第三提取网络;所述第三特征提取网络用于提取中文分词数据特征;所述依赖关系计算网络包括第一依赖关系计算网络、第二依赖关系计算网络、第三依赖关系计算网络;所述第三依赖关系计算网络用于计算所述第三特征提取网络输出私有特征的依赖关系。

本实施例中,特征提取网络、依赖关系计算网络和特征提取模块、依赖关系计算模块所包含的内容不同,前者为对抗迁移学习模型中相应部分,后者为本实施例的基于自注意力机制的中文命名实体识别系统中的相应部分,其包含的内容前文已明确,此处不再重复。

所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。

需要说明的是,上述实施例提供的基于自注意力机制的中文命名实体识别系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。

本发明第一种实施例的存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行以实现上述基于自注意力机制的中文命名实体识别方法。

本发明一种实施例的处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述基于自注意力机制的中文命名实体识别方法。

所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。

术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

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