一种实体边界类别解耦的少样本命名实体识别方法与系统与流程

文档序号:24379744发布日期:2021-03-23 11:14阅读:276来源:国知局
一种实体边界类别解耦的少样本命名实体识别方法与系统与流程

本发明涉及自然语言处理技术领域,尤其涉及一种实体边界类别解耦的少样本命名实体识别方法与系统。



背景技术:

命名实体识别是自然语言处理领域中一个重要的基础任务。其主要目标是抽取文本语句中相应的实体描述并将其分类为对应实体类别比如人名,地名,组织等,这些词可以是独立的单个词也可以是多个词。因此,命名实体识别常被视为序列标注任务,这个任务也用于大量信息抽取框架、基于目标的对话系统的核心组成模块,具有极高的社会经济价值。

当拥有大量标注数据时,命名实体识别任务可以以较高的标注质量完成。现有的用于测试新的命名实体识别模型的基准及比如conll-2003和ontonotes数据集,这两个数据集均包含大量数据来实现在有监督的设定下训练神经网络结构。然而,在实际应用中,特别是一些少资源领域和少资源语言中,这样拥有丰富标注数据量的数据集通常是无法获得的,训练样本需要大量的人工进行标注,这需要耗费时间以及财力。此外即使我们拥有足够的标注数据量,也无法避免数据集中存在一些稀缺实体,由于出现频率过低而无法利用神经网络在文本中准确识别实体。

为了降低模型对大量数据的依赖,近年来有一些基于少样本学习的命名实体识别工作,少样本学习的相关技术可以训练能借鉴源领域的先验知识并利用少量标注样本快速迁移至新领域的模型。现有的方法都是对单个词与边界信息和类别信息耦合在一起的类别表示使用基于相似性度量的少样本学习方法进行分类。但这一类的方法由于单个词的语义松散,歧义性强,又在特征空间中不同类别的类别差异不够明显,导致了实体分类的错误率比较高。



技术实现要素:

为解决现有技术所存在的技术问题,本发明提供一种实体边界类别解耦的少样本命名实体识别方法与系统,通过实体边界检测获取实体块表示,基于原型网络使用支持集少量样本计算类别原型,实现类别分类,实现了获取类别区分能力更强的原型网络类别原型表示,提高了少样本命名实体识别任务的准确率。

本发明方法采用以下技术方案来实现:一种实体边界类别解耦的少样本命名实体识别方法,包括以下步骤:

s1、利用标注出命名实体且切分支持集和查询集的源领域和目标领域数据集,通过共享的词嵌入层,将支持集和查询集中的句子中的单词映射为词嵌入向量;

s2、以句子为单位,分别将支持集和查询集中句子对应的词嵌入向量输入到双向长短期记忆网络中,通过双向长短期记忆网络提取出特征向量表示;

s3、将查询集中双向长短期记忆网络提取得到的特征向量表示输入到由全连接层构成的边界检测模块获取查询集实体边界标签预测结果,并根据实体边界标签预测结果提取出实体块表示;

s4、将支持集中句子通过双向长短期记忆网络提取得到的特征向量表示根据其位置边界标签和类别标签基于原型网络获取各类别的实体块类别原型表示;

s5、将查询集中获取的所有实体块表示和支持集中获取的所有实体块类别原型表示进行度量计算,根据度量结果进行分类,利用欧氏距离作为距离度量函数dist,利用softmax层通过计算实体块表示与嵌入空间中的原型之间的距离获取查询集实体块表示在各类别上的概率分布;

s6、分别计算边界检测分类损失和实体块类别分类损失,联合训练并采用随机梯度下降算法训练模型;

s7、获取训练模型后,输入目标领域支持集和查询集,输出目标领域查询集预测标签,完成目标领域的少样本命名实体识别。

本发明系统采用以下技术方案来实现:一种实体边界类别解耦的少样本命名实体识别系统,包括共享特征抽取器、边界检测模块、原型构造模块以及实体类别分类模块;边界检测模块上设有全连接层分类模块,原型构造模块上设有原型网络模块,实体类别分类模块上设有度量分类模块;其中:

共享特征抽取器利用标注出命名实体且切分支持集和查询集的源领域和目标领域数据集,将支持集和查询集中的句子中的单词映射为词嵌入向量;以句子为单位,分别将支持集和查询集中句子对应的词嵌入向量输入到共享特征抽取器中,通过共享特征抽取器提取出特征向量表示;

全连接层分类模块构成的边界检测模块接收到查询集中共享特征抽取器提取得到的特征向量表示后,获取查询集实体边界标签预测结果,并根据实体边界标签预测结果提取出实体块表示;

原型网络模块利用支持集中句子通过共享特征抽取器提取得到的特征向量表示根据其位置边界标签和类别标签获取各类别的实体块类别原型表示;

度量分类模块利用全连接层分类模块中获取的实体块表示和原型网络模块中获取的所有实体块类别原型表示进行度量计算,根据度量结果进行分类,使用欧氏距离作为距离度量函数dist,使用softmax层通过计算实体块表示与嵌入空间中的原型之间的距离获取查询集实体块表示在各类别上的分布概率,分别计算边界检测分类损失和实体块类别分类损失,联合训练并采用随机梯度下降算法训练模型,获取训练模型后,输入目标领域支持集和查询集,输出目标领域查询集预测标签,完成目标领域的少样本命名实体识别。

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

1、本发明通过实体边界检测获取实体块表示,基于原型网络使用支持集少量样本计算类别原型,实现类别分类,实现了获取类别区分能力更强的原型网络类别原型表示,提高了少样本命名实体识别任务的准确率。

2、本发明基于迁移学习中少样本学习的理论设计,迁移至多个目标领域仍能保持良好的鲁棒性,降低模型对大量数据的依赖,只需要少量标注样本便可获得较高的命名实体识别准确率,极大的节省了人力物力。

附图说明

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

图2是本发明系统的结构示意图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

如图1所示,本发明实体边界类别解耦的少样本命名实体识别方法,包括以下步骤:

s1、利用已标注出命名实体且已切分支持集和查询集的源领域和目标领域数据集,通过共享的词嵌入层,将支持集和查询集中的句子中的单词映射为词嵌入向量;

s2、当源领域进行训练时,以句子为单位,分别将支持集和查询集中句子对应的词嵌入向量输入到双向长短期记忆网络bi-lstm中,通过双向长短期记忆网络bi-lstm提取出特征向量表示,特征向量表示包含单词之间的上下文关系;

s3、将查询集中双向长短期记忆网络bi-lstm提取得到的特征向量表示输入到由全连接层构成的边界检测模块获取查询集实体边界标签预测结果,并根据实体边界标签预测结果提取出所有的实体块表示;

s4、将支持集中句子通过双向长短期记忆网络bi-lstm提取得到的特征向量表示根据其位置边界标签和类别标签基于原型网络获取各类别的实体块类别原型表示;

s5、将查询集中获取的所有实体块表示和支持集中获取的所有实体块类别原型表示进行度量计算,根据度量结果进行分类,使用欧氏距离作为距离度量函数dist,使用softmax层通过计算在嵌入空间中,实体块表示与体块类别原型表示之间的距离获取查询集实体块表示在各类别上的概率分布;

s6、分别计算边界检测分类损失和实体块类别分类损失,联合训练并采用随机梯度下降算法训练模型;

s7、获取最终训练模型后,输入目标领域支持集和查询集,输出目标领域查询集预测标签,完成目标领域的少样本命名实体识别。

本实施例中,步骤s1中获取词嵌入向量的具体步骤如下:

s11、切分支持集和查询集的源领域和目标领域数据集:分别构造n类别1样本和n类别5样本的批训练数据,n类别1样本即支持集中包含n种类别的命名实体,且每个类别至少有一个以上支持实例;

s12、将支持集和查询集中的句子x=(x1,x2,…,xn)中的所有单词映射得到的词嵌入向量表示为:

其中,x1为第i个单词在词库中对应的索引,即单词从0开始排序的位置;ew为词级别的特征编码器encoder;ew(xi)为将单词映射到对应预训练的词嵌入向量;ec为字符级别的特征编码器encoder;ec(xi)为将单词内的所有字符映射到对应的字符嵌入向量;lstm(ec(xi))为将获取的字符嵌入向量通过长短期记忆网络进行循环操作得到该单词字符级别的向量表示;代表向量拼接,通过获取单词级别的词嵌入向量和字符级别的向量表示,再通过拼接操作,得到每个单词对应的词嵌入向量;其中,预训练的词嵌入向量采用的是glove预训练的词向量;字符嵌入向量采用了随机初始化的方法,字符嵌入向量中的每个元素的值均满足正态分布中。

本实施例中,步骤s2中获取特征向量表示的具体步骤如下:

s21、通过双向长短期记忆网络提取句子的特征向量表示:

其中,vi为第i个单词的词嵌入向量;单向的长短期记忆网络只对过去的序列信息进行编码,而忽略了未来时间步提取出来的序列信息,因此采用了双向长短期记忆网络bi-lstm提取信息;为向前双向长短期记忆网络bi-lstm提取出来的特征向量表示;为后向双向长短期记忆网络bi-lstm提取出来的特征向量表示;为前向双向长短期记忆网络第i-1个隐藏状态;为后向双向长短期记忆网络第i+1个隐藏状态;hi为双向长短期记忆网络第i个隐藏状态;代表向量拼接;

s22、分别获取支持集和查询集中句子级别的特征隐向量,其表示为:

h={h1,h2,…,ht}

其中,t为支持集和查询集中句子中的单词数量;h为句子的隐藏状态集合;ht为句子第t个单词所对应的隐藏状态,

本实例中,步骤s3中的获取查询集实体边界标签预测结果及提取实体快的具体步骤如下:

s31、将特征向量表示输入全连接层分类器,利用一个softmax层获取每个单词的位置边界标签的概率分布,计算公式表示为:

其中,hi为特征向量表示,

yb={y1,y2,…,yn}

其中,yb为位置边界标签集合;n为句子中单词数量;yn为第n个单词所预测标签值;

mlp层为线性全连接层分类器,包含参数矩阵通过线性全连接层分类器之后获取位置边界标签概率分布,并取位置边界标签概率分布最大值获取单词位置边界标签:

其中,为概率分布最大值所对应标签类别;

s32、根据查询集预测获取的位置边界标签,获取所有实体块的实体块表示,根据单词位置边界标签利用注意力机制计算实体块表示计算公式如下:

αt=softmax(wbounhi:j)

其中,为可学习的参数矩阵;i为实体块表示起始位置索引值,j为实体块表示结束位置索引值;hi:j为实体块表示起始到结束全部隐藏状态集合;αt为各个词的注意力权重值;其中,为实体块类型标签集合;其中m为当前批训练数据实体类别数量,ym为第m种实体块类型标签。

本实施例中,步骤s4中原型网络根据支持集中所有实体块表示计算m种类别的实体块类别原型表示任何类别的实体块类别原型表示为支持集中该类别所有实体块表示的特征向量表示平均值,实体块类别原型表示ck的计算公式如下:

其中,sk为第k种实体类别在支持集中所有实例。

本实施例中,步骤s5中欧式距离计算公式如下:

其中,x为r维空间中第一个点;y为r维空间中第二个点;dist(x,y)为r维空间中x,y两点之间的欧式距离;r为空间维数;i为维度索引值,xi为x在第i维空间值;yi为y在第i维空间值;

实体块表示在各类别上的概率分布为:

其中,y为实体块预测类别标签;k为实体块类别标签集合类别索引值;dist为距离度量函数(欧式距离);ck为第k种实体块原型;为实体块类别标签集合;

取实体块表示在各类别上的概率分布最大值获取单词位置边界标签:

其中,为预测所得实体块标签类别。

本实施例中,步骤s6中边界检测损失计算公式如下:

其中,lb为边界检测损失;n为句子序列长度;为第i个单词位置类别标签索引值;为第i个单词在各位置类别标签上的概率分布;

实体块表示类别分类损失计算公式如下:

其中,为实体块类别分类损失;

通过联合训练边界检测任务和实体块类别分类任务,获取最佳的模型参数,联合训练的损失函数表示如下:

其中,lall为全部损失和;λ1为边界检测任务的损失函数权重;λ2为实体块类别分类任务的损失函数权重。

如图2所示,相应地,本发明的一种实体边界类别解耦的少样本命名实体识别系统,包括:共享特征抽取器bi-lstm、边界检测模块、原型构造模块以及实体类别分类模块;边界检测模块上设有全连接层分类模块,原型构造模块上设有原型网络模块,实体类别分类模块上设有度量分类模块;其中:

共享特征抽取器bi-lstm利用已标注出命名实体且已切分支持集和查询集的源领域和目标领域数据集,将支持集和查询集中的句子中的单词映射为词嵌入向量;当源领域进行训练时,以句子为单位,分别将支持集和查询集中句子对应的词嵌入向量输入到共享特征抽取器bi-lstm中,通过共享特征抽取器bi-lstm提取出特征向量表示,特征向量表示包含单词之间的上下文关系;

全连接层分类模块构成的边界检测模块接收到查询集中共享特征抽取器bi-lstm提取得到的特征向量表示后,获取查询集实体边界标签预测结果,并根据实体边界标签预测结果提取出所有的实体块表示;

原型网络模块利用支持集中句子通过共享特征抽取器bi-lstm提取得到的特征向量表示根据其位置边界标签和类别标签获取各类别的实体块类别原型表示;

度量分类模块利用全连接层分类模块中获取的所有实体块表示和原型网络模块中获取的所有实体块类别原型表示进行度量计算,根据度量结果进行分类,使用欧氏距离作为距离度量函数dist,使用softmax层通过计算实体块表示与嵌入空间中的原型之间的距离获取查询集实体块表示在各类别上的概率分布,分别计算边界检测分类损失和实体块类别分类损失,联合训练并采用随机梯度下降算法训练模型,获取最终训练模型后,输入目标领域支持集和查询集,输出目标领域查询集预测标签,完成目标领域的少样本命名实体识别。

其中,词嵌入向量的预训练采用的是glove预训练的词向量。

上述实施例为本发明专利较佳的实施例,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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