本发明属于自然语言处理,具体涉及一种跨领域的少样本命名实体抽取方法。
背景技术:
1、抽取文本中的命名实体是自然语言处理中的一项基本任务,其目的是从非结构化文本中检测出命名实体片段的范围,并将其分类到预定义的实体类型中。目前,基于深度学习的方法利用数量充足的标注数据来训练模型,达到了较好的性能表现。然而,由于领域多样性,在实际应用中获得特定领域上的大规模标注数据是非常困难且昂贵的。因此,针对性利用少量标注数据进行高效训练和推理具备跨领域能力的的少样本命名实体抽取方法引起了广泛关注。
2、少样本命名实体抽取旨在从少量标注示例中进行学习,并在之前从未学习过的类型里实现跨领域推理,降低了对标注数据的依赖程度,使得命名实体抽取在一些标注数据严重不足的领域也能具有较好的效果,大大提升了跨领域推理中的性能。目前,主流的少样本命名实体抽取方法分为两类:一阶段方法和两阶段方法。一阶段方法使用一个模型同时学习实体的边界信息和类型信息,但由于在需要跨领域推理的场景下通常只有极少的标注数据支持,当领域之间的跨度较大时,模型难以同时捕捉到实体边界和实体类型组成的复杂信息,因此这类模型的泛化性能通常较差。
3、最近,基于问题分解的两阶段方法成为了解决跨领域的少样本命名实体抽取问题的有效途径。wang等提出将问题分解为跨度检测和实体类型分类,以更好地利用类型描述。他们利用传统的基于跨度的分类器来检测实体跨度,并利用类描述来学习每个实体类的表示,当需要调整模型到新的领域时,他们直接用新领域的少量支持数据来微调模型以进行领域适应。此外,对比学习在命名实体抽取问题的研究中也展示出了令人印象深刻的作用。das等和huang等将对比学习应用到跨领域的少样本命名实体抽取任务当中,在字符之间构造对比损失。ma等提出了一种基于分解的元学习方法来处理跨领域场景下的跨度检测和实体分类问题,他们使用过滤策略来提升跨度检测的准确性,并使用类型感知对比学习来优化实体分类,取得了一定的效果。
4、然而,虽然这些两阶段方法取得了一定的进步,但仍然存在一些问题:(1)缺乏对实体表示的专门优化。先前的研究普遍将重点放在二阶段的实体分类上,而忽略了在一阶段跨度检测时对实体片段表示的专门优化的优化。两阶段方法的两个阶段之间存在一定的依赖,实体类型分类是以跨度检测结果为基础进行的,而缺乏对实体表示的专门优化必然会影响到命名实体抽取的性能。(2)实体类型标签的语义信息利用不充分。先前的基于原型网络的方法没有充分利用实体类型标签的语义。实体类型标签包含丰富的语义信息,尤其是在需要跨领域推理的场景下构建原型表示时,实体类型标签可以作为支持样本之外的补充信息指导原型构建,使原型更加稳定并提升其在跨领域场景下的性能表现。
技术实现思路
1、针对现有实体抽取方法缺乏对实体表示的专门优化、实体类型标签的语义信息利用不充分的问题,本发明结合实际应用场景的需求,提供了一种跨领域的少样本命名实体抽取方法,沿着基于原型网络的两阶段方法进行进一步探索,采用多粒度、双感知对比学习的手段来解决目前已有的方法中存在的缺乏对实体表示的专门优化和实体类型标签的语义信息利用不充分的问题,来提升跨领域的命名实体抽取性能。
2、为了达到上述目的,本发明采用了下列技术方案:
3、一种跨领域的少样本命名实体抽取方法,所述方法包括以下两个步骤:
4、步骤1:实体跨度检测多粒度对比学习;
5、步骤2:实体分类的双重感知对比学习;
6、其中步骤1:实体跨度检测多粒度对比学习包括以下步骤:
7、步骤1.1,输入序列编码:给定输入序列,通过深度上下文化编码器获得每一个字符的上下文化的文本向量表示;
8、进一步地,步骤1.1的具体操作为:
9、给定输入序列x={x1,x2,…,xl},使用带有参数θ1的预训练语言模型作为编码器为x中的每个字符生成上下文化表示:
10、
11、其中,是输入序列x的上下文化表示,d是预训练语言模型编码器的隐状态向量维度,l表示输入序列的长度;
12、随后,与以往直接将表示送入分类层的方法不同,本发明提出了一种多粒度对比学习策略来提高跨度检测的性能;作为准备工作,复制并拼接h,并对其进行dropout操作,得到h′:
13、
14、其中表示拼接后的向量,表示连接操作,h′i表示输入序列中第i个字符经过dropout后的向量表示,i={1,2,...,l,...,2l}。
15、步骤1.2,粗粒度对比学习:将每一个字符的上下文化的文本向量表示看作一个整体,构造对比学习的正负例来优化字符级表示整体的语义信息;
16、进一步地,步骤1.2的具体操作为:
17、将文本向量表示视为一个整体,使用粗粒度对比单元优化dropout后的文本向量表示h′i的整体语义信息;特别地,由于步骤1.1将h复制并施加了dropout,因此任意一个字符xi在h′中都有两个对应的表示:hi和hl+i,但二者受到了不同的dropout扰动;正例定义如下:当xj与xk具有相同的实体类型标签且其均不为o,则hj与hl+k之间构成正例,且将hl+k记做在此前提下,计算粗粒度对比损失对文本表示整体进行优化:
18、
19、式中,h′j表示第j个字符经过dropout后的向量表示,表示与第i个字符互为正例的字符经过dropout后的向量表示,sim(·)是一个点积相似度计算函数。
20、步骤1.3,细粒度对比学习:深入文本向量表示内部,构造对比学习的正负例来优化文本向量表示内部各个维度上的语义信息;
21、进一步地,步骤1.3的具体操作为:
22、使用以sigmoid作为激活函数的线性层,将h′i中的每个维度映射到[0,1]区间作为权重分数,将重新加权的h′i记为:
23、
24、其中,σ表示sigmoid激活函数,是一个可训练的参数,是偏差;表示重新加权后的输入序列中的第i个字符的表示向量,的每个维度都在h′i的基础上重新加权,从向量内部的各个维度中提取细粒度语义信息;h′weighted表示重新加权后的向量表示矩阵,使用“io”标签构建正样本和负样本,计算细粒度对比损失优化上述重新加权过程:
25、
26、其中,表示重新加权后的与输入序列中的第i个字符互为正例的字符表示向量,表示重新加权后的与输入序列中的第,个字符互为负例的字符表示向量,表示重新加权后的输入序列中的第i个字符的表示向量,表示重新加权后的输入序列中的第,个字符的表示向量,表示重新加权后的输入序列中的第n个字符的表示向量,表示重新加权后的输入序列中的第m个字符的表示向量,xi与具有相同标签的字符之间构成正样本,与具有不同标签的字符之间构成负样本;特别地,标记为o的字符之间不构成正样本;sim(·)是点积相似度计算函数:
27、
28、其中ha与hb分别为任意两个相同维度的文本表示向量,t表示转置操作。
29、步骤1.4,联合优化:计算分类过程中的交叉熵损失,并与粗、细粒度对比学习中的计算出的损失进行联合优化;
30、进一步地,步骤1.4的具体操作为:
31、将重加权后的文本表示送入由dropout和全连接层组成的分类层中,并使用softmax映射到概率分布当中:
32、
33、其中的是可训练的参数,是偏差;随后,使用crossentropy计算属于每一类型标签的概率p(xi)与其真实类型标签yi之间的损失
34、其中,yj表示字符xj的类型标签,yi表示字符xi的真实类型标签,当xi的标签为“o”时yi=0,否则yi=1;综上,将跨度检测阶段的总体损失定义为:
35、
36、步骤2:实体分类的双重感知对比学习包括以下步骤:
37、步骤2.1,实体片段及类型标签编码:给定输入的实体片段及实体类型标签,通过深度上下文编码器获得其向量表示;
38、进一步地,步骤2.1的具体操作为:
39、给定一个输入序列x,序列中包含的实体片段集合各个片段对应的实体类型集合类型标签集合其中,实体片段ei对应的实体类型ti的真实类型标签为yi;使用另一个参数为θ2的预训练语言模型作为编码器分别获取每一个实体片段ei和对应真实类型标签yi的上下文化表示和
40、
41、步骤2.2,标签感知对比学习:将实体表示与类型标签表示向量联合,构造对比学习的正负例来充分利用类型标签的语义信息;
42、进一步地,步骤2.2的具体操作为:
43、将实体片段表示与类型标签表示联合,构建标签感知的对比学习,使用类型标签的语义信息指导实体片段表示的优化过程;使用“实体片段-类型标签”和“类型标签-实体片段”两种顺序将实体片段表示和类型标签表示进行拼接:
44、
45、其中,表示按照“实体片段-类型标签”顺序拼接后的表示向量,表示按照“类型标签-实体片段”顺序拼接后的表示向量,为第i个实体片段的表示向量,为第i个实体片段对应的真实类型标签的表示向量;拼接顺序不同的表示之间构造正负例,具有相同类型标签但拼接顺序不同的任意二者之间构成正例,类型标签不同的任意二者之间构成负例,基于此计算标签感知对比损失
46、
47、其中m是一个批处理中的实体字符的数量,pi是具有相同真实类型标签yi的正样本集合,表示实体片段p按照“类型标签-实体片段”顺序拼接后的表示向量,表示第j个实体片段按照“类型标签-实体片段”顺序拼接后的表示向量,表示第i个实体片段按照“实体片段-类型标签”顺序拼接后的表示向量,sim(·)是一个点积相似度计算函数(同式6)。
48、步骤2.3,原型感知对比学习:将实体表示与各类型的原型表示向量联合,构造对比学习的正负例来优化原型表示;
49、进一步地,步骤2.3的具体操作为:
50、对具有相同实体类型ti的实体片段表示进行平均池化,获得各个类型的原型表示
51、
52、在此基础上,构建原型感知的对比学习,将实体片段表示与原型表示联合,利用带有标签语义的实体片段表示与原型表示进行交互来优化原型;使用“实体片段-类型原型”和“类型原型-实体片段”两种顺序拼接其表示向量:
53、
54、其中,表示按照“实体片段-类型原型”顺序进行拼接后的表示向量,表示按照“类型原型-实体片段”顺序进行拼接后的表示向量,为第i个实体片段的表示向量,为第i个实体片段对应的真实类型的原型表示向量,随后计算原型感知的对比损失
55、
56、其中,表示实体片段p按照“类型原型-实体片段”顺序拼接后的表示向量,表示第j个实体片段按照“类型原型-实体片段”顺序拼接后的表示向量,表示第i个实体片段按照“实体片段-类型原型”顺序拼接后的表示向量。
57、步骤2.4,联合优化:联合标签感知与原型感知的对比损失,对模型参数进行优化;
58、进一步地,步骤2.4的具体操作为:
59、联合标签感知对比损失和原型感知的对比损失计算实体分类阶段的总损失
60、
61、随后通过更新模型参数θ2以使最小化。
62、与现有技术相比本发明具有以下优点:
63、(1)本发明的多粒度对比学习从向量的整体和局部两个不同的粒度入手,强化文本的向量表示中更利于区分其是否为实体跨度的特征,使其更易分类,提升模型检测实体跨度的能力,缓解了现有方法中缺乏对实体表示的专门优化的问题。
64、(2)本发明的双重感知对比学习使类型标签表示分别与实体表示和原型表示进行联合,构造双重感知的正负例来进行对比学习,充分利用类型标签的语义信息来指导原型的构建过程,获得更加稳定的原型表示,提升原型网络的实体分类能力,缓解了现有方法中实体类型标签的语义信息利用不充分的问题。
65、(3)在基准数据集few-nerd上进行了大量的实验,本发明提出的方法在两种不同难度的跨领域设定下的f1得分均优于9个目前最先进的方法,证明了本方法能够提升跨领域的少样本命名实体抽取任务性能,并有效的解决了现存方法中存在的不足,提供了更好的性能表现,具有一定的应用价值。
1.一种跨领域的少样本命名实体抽取方法,其特征在于,所述方法包括以下两个步骤:
2.根据权利要求1所述的一种跨领域的少样本命名实体抽取方法,其特征在于,所述实体跨度检测多粒度对比学习的步骤1.1的具体操作为:
3.根据权利要求1所述的一种跨领域的少样本命名实体抽取方法,其特征在于,所述实体跨度检测多粒度对比学习的步骤1.2的具体操作为:
4.根据权利要求1所述的一种跨领域的少样本命名实体抽取方法,其特征在于,所述实体跨度检测多粒度对比学习的步骤1.3的具体操作为:
5.根据权利要求1所述的一种跨领域的少样本命名实体抽取方法,其特征在于,所述实体跨度检测多粒度对比学习的步骤1.4的具体操作为:
6.根据权利要求1所述的一种跨领域的少样本命名实体抽取方法,其特征在于,所述实体分类的双重感知对比学习的步骤2.1的具体操作为:
7.根据权利要求1所述的一种跨领域的少样本命名实体抽取方法,其特征在于,所述实体分类的双重感知对比学习的步骤2.2的具体操作为:
8.根据权利要求1所述的一种跨领域的少样本命名实体抽取方法,其特征在于,所述实体分类的双重感知对比学习的步骤2.3的具体操作为:
9.根据权利要求1所述的一种跨领域的少样本命名实体抽取方法,其特征在于,所述实体分类的双重感知对比学习的步骤2.4的具体操作为:
