一种多阶段的无监督域适应因果关系识别方法转让专利

申请号 : CN202111216820.0

文献号 : CN114090770B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李建军周云帆俞杰陆奇李胜炎李新付田万勇赵露露惠国宝唐政

申请人 : 杭州电子科技大学

摘要 :

本发明公开了一种多阶段的无监督域适应因果关系识别方法。本发明步骤包括:(1)数据集划分;(2)利用自适应对比学习进行预训练;(3)结合知识蒸馏进行对抗学习;(4)多级数据过滤得到种子集;(5)单级数据过滤得到伪标签集合;(6)利用k‑means聚类方法获取子类原型;(7)采用特征级别的数据增强引入一致性;(8)利用过滤得到的伪标签进行自训练。本发明通过自适应对比学习获取源域中丰富的因果关系知识,然后利用知识蒸馏和对抗学习的方式将源域知识迁移到目标域,再通过数据过滤获得多级的子类原型和无标签样本的伪标签,利用原型进行特征级别的数据增强从而引入一致性损失,利用伪标签在目标域进行自训练。

权利要求 :

1.一种多阶段的无监督域适应因果关系识别方法,其特征在于该方法包括以下步骤:步骤1、数据集划分:对源域数据进行三次随机划分,再利用得到的三组源域数据集经过步骤2和步骤3得到三组目标域模型;

步骤2、自适应对比学习:自适应对比学习的目的是获取足够的类间距,并保持适当的类内距离以保留其多样性;

2‑1.将输入的自然语言文本划分为tokens,并利用bert编码器模型将文本投影为768维的特征;

2‑2.存储生成的特征向量,聚类得到因果关系和非因果关系的类中心,计算出所有样本到类中心的平均距离;

2‑3.以平均距离将作为对比损失的超参训练模型,直到模型收敛;

步骤3、结合知识蒸馏的对抗学习:

3‑1.使用2‑3训练的模型分别将源域数据和目标域数据编译为特征向量;

3‑2.使用鉴别器鉴别3‑1得到特征向量是否来源于目标域,从而计算出对抗损失;

3‑3.计算目标域的特征向量和源域特征的相似度作为蒸馏损失;

3‑4.使用3‑2的对抗损失和3‑3的蒸馏损失训练模型,直到模型收敛;

步骤4、多级数据过滤:使用以上三步得到的三组目标域模型经过伪标签分配、投票机制、置信度筛选和不确定性筛选,得到一组相对干净的目标域种子集;

步骤5、单级数据过滤:使用置信度阈值筛选出种子集以外置信度高于置信度阈值的样本,并分配伪标签;

步骤6、子类原型获取:对于经多级数据过滤和单级数据过滤得到的数据集,均使用k‑means聚类方法获取因果关系和非因果关系的子类原型;

步骤7、特征级别数据增强和一致性损失:利用得到的原型对输入样本的特征进行特征级别的数据增强,新特征向量和原特征向量的因果类别应该是一致的;

步骤8、自训练:使用上述步骤4和步骤5得到的伪标签以及其置信度经过映射得到的权重对模型进行训练,直到模型收敛。

2.根据权利要求1所述的一种多阶段的无监督域适应因果关系识别方法,其特征在于步骤1中的数据集划分得到的每个源域数据集由60%的训练集、20%的测试集和20%的验证集组成,且三个源域数据集在划分过程中要保证足够的随机性。

3.根据权利要求2所述的多阶段的无监督域适应因果关系识别方法,其特征在于步骤4中的多级数据过滤具体步骤是:

4‑1.不同的源域数据集训练得到的三组模型对目标域数据集分配伪标签,三个模型分配的伪标签相同时该样本才会通过投票机制的筛选;

4‑2.通过Softmax层的输出得到每个样本的置信度,筛选出置信度最高的20%样本进行下一步筛选;

4‑3.在启用dropout层的情况下,模型多次计算同一样本是因果关系的概率,存储下所有输出结果并通过均方差计算出其不确定性,筛选出不确定性小于0.01的样本组成种子集。

4.根据权利要求3所述的多阶段的无监督域适应因果关系识别方法,其特征在于步骤7中的特征级别数据增强和一致性损失具体步骤是:

7‑1.从步骤6获取的子类原型筛选出和输入特征欧式距离最近的原型;

7‑2.计算该原型和输入特征的相似度;

7‑3.以7‑2获得的相似度作为权重,将原型叠加到输入特征,最后经过全连接层的映射得到增强后的特征向量;

7‑4.以增强的特征向量和输入特征向量类别的一致性计算出对应的一致性损失。

5.根据权利要求4所述的多阶段的无监督域适应因果关系识别方法,其特征在于步骤8中的自训练具体步骤是:

8‑1.从Softmax层获得当前模型对当前样本的置信度;

8‑2.以多级数据过滤和单级数据过滤得到的伪标签为目标,以步骤8‑1得到的置信度为权重计算出交叉熵损失;

8‑3.使用交叉熵损失和7‑4的一致性损失训练模型,直到模型收敛。

说明书 :

一种多阶段的无监督域适应因果关系识别方法

技术领域

[0001] 本发明属于自然语言处理领域,涉及自然语言中的自适应对比学习、结合知识蒸馏的对抗迁移学习、基于特征级别数据增强和一致性损失的自训练策略的无监督域适应因果关系识别方法。

背景技术

[0002] 因果关系识别是推理和决策的基础。自然语言中因果关系的特征投影使机器能够更好地理解周围的环境,为逻辑推理、问答系统等下游任务提供关键线索。由于传统因果关系识别方法缺乏背景知识、难以理解上下文以及缺少逻辑推理能力,随着人类社会进入一个信息大爆炸时代,传统方法越发不能满足人们对智能化推理和决策的需要。识别因果关系需要模型具备背景知识和理解上下文的能力,现有的有监督因果关系识别方法都严重依赖于带注释训练数据的数量和质量,然而实际情况是未标注的数据远多于标注数据,特别是一些特殊领域的文本数据,其标注难度大、数据规模小。因此人们开始关注如何在数据有限的情况下提高其识别能力和泛化能力。而无监督域适应因果关系识别任务旨在通过学习有标签的源域数据,将其中的知识迁移至无标签的目标域中来获得在目标域数据上更好的识别效果。目前,关于因果关系的无监督域适应问题的相关研究还很少,并且现有的方法存在以下弊端:(a)通过拉进源域特征和目标域特征距离的一般无监督域适应方法会产生遗忘灾难和模糊分类边界,即在迁移过程中模型会失去对于该任务的分类能力;(b)现有的方法不具备学习目标域知识的能力,极大地限制了模型能力的提升,当源域知识和数据规模不能满足需求时其识别效果将大幅下降;(c)现有的伪标签方法容易引入噪声,从而极大地影响模型的识别能力。
[0003] 通过研究发现,因果关系内部存在着丰富的多样性,其具体表现为因果关系在特征空间中可以细分为更多的子类原型,利用这种多样性可以有效地提高模型的识别能力和泛化能力。从因果关系的定义来看,因果关系可以被继续细分,例如时间层面的因果关系、条件因果关系等。因此,这些子类原型是具有实体意义的。我们利用这一事实进行特征级别的数据增强,进而引入一致性和自训练方法,可以让模型主动学习目标域的知识并进一步明确分类边界。

发明内容

[0004] 根据上述现有方法缺陷描述,本发明提出了一种多阶段融合的无监督域适应因果关系识别方法;其中预训练阶段学习源域数据的知识,对抗阶段将源域知识迁移至目标域,一致性调整阶段结合数据过滤、数据增强和一致性等方法主动学习目标域数据中的特有知识。
[0005] 为实现上述目的,本发明是通过以下技术方案来实现的:
[0006] 步骤1、数据集划分:对源域数据进行三次随机划分,再利用得到的三组源域数据集经过预训练阶段和对抗阶段得到三组目标域模型;
[0007] 步骤2、自适应对比学习:自适应对比学习的目的是在预训练阶段获取足够的类间距,并保持适当的类内距离以保留其多样性;
[0008] 步骤3、结合知识蒸馏的对抗学习:在基于对抗的一般迁移学习基础上增加知识蒸馏,通过保留模型对于源域数据的分类能力,避免出现遗忘灾难;
[0009] 步骤4、多级数据过滤:使用以上三步得到的三组目标域模型经过伪标签分配、投票机制、置信度筛选和不确定性筛选,得到一组相对干净的目标域种子集;
[0010] 步骤5、单级数据过滤:在一致性调整阶段每轮训练结束后,使用置信度阈值筛选出种子集以外置信度高于置信度阈值的样本,并分配伪标签;
[0011] 步骤6、子类原型获取:对于经多级数据过滤和单级数据过滤得到的数据集,均使用k‑means聚类方法获取因果关系和非因果关系的子类原型;
[0012] 步骤7、特征级别数据增强和一致性损失:利用得到的原型对输入样本的特征进行特征级别的数据增强,新特征向量和原特征向量的因果类别应该是一致的;
[0013] 步骤8、自训练:使用上述步骤4和步骤5得到的伪标签以及其置信度经过映射得到的权重对模型进行训练,直到模型收敛。
[0014] 进一步的,所述的步骤1中的数据集划分得到的每个源域数据集由60%的训练集、20%的测试集和20%的验证集组成,且三个源域数据集在划分过程中要保证足够的随机性。
[0015] 进一步的,所述的步骤2具体实现如下:
[0016] 2‑1.将输入的自然语言文本划分为tokens,并利用bert编码器模型将文本投影为768维的特征;
[0017] 2‑2.存储生成的特征向量,聚类得到因果关系和非因果关系的类中心,计算出所有样本到类中心的平均距离;
[0018] 2‑3.以平均距离将作为对比损失的超参训练模型,直到模型收敛。进一步的,所述的步骤3中的结合知识蒸馏的对抗学习具体步骤是:
[0019] 3‑1.使用2‑3训练的模型分别将源域数据和目标域数据编译为特征向量;
[0020] 3‑2.使用鉴别器鉴别3‑1得到特征向量是否来源于目标域,从而计算出对抗损失;
[0021] 3‑3.计算目标域的特征向量和源域特征的相似度作为蒸馏损失;
[0022] 3‑3.使用3‑2的对抗损失和3‑3的蒸馏损失训练模型,直到模型收敛。
[0023] 进一步的,所述的步骤4中的多级数据过滤具体步骤是:
[0024] 4‑1.不同的源域数据集训练得到的三组模型对目标域数据集分配伪标签,三个模型分配的伪标签相同时该样本才会通过投票机制的筛选;
[0025] 4‑2.通过Softmax层的输出得到每个样本的置信度,筛选出置信度最高的20%样本进行下一步筛选;
[0026] 4‑3.在启用dropout层的情况下,模型多次计算同一样本是因果关系的概率,存储下所有输出结果并通过均方差计算出其不确定性,筛选出不确定性小于0.01的样本组成种子集。
[0027] 进一步的,所述的步骤7中的特征级别数据增强和一致性损失具体实现如下:
[0028] 7‑1.从步骤6获取子类原型筛选出和输入特征欧式距离最近的原型;
[0029] 7‑2.计算该原型和输入特征的相似度;
[0030] 7‑3.以7‑2获得的相似度作为权重,将原型叠加到输入特征,最后经过全连接层的映射得到增强后的特征向量;
[0031] 7‑4.以增强的特征向量和输入特征向量类别的一致性计算出对应的一致性损失。
[0032] 进一步的,所述的步骤8中的自训练具体步骤实现如下:
[0033] 8‑1.从Softmax层获得当前模型对当前样本的置信度;
[0034] 8‑2.以多级数据过滤和单级数据过滤得到的伪标签为目标,以步骤8‑1得到的置信度为权重计算出交叉熵损失;
[0035] 8‑3.使用交叉熵损失和7‑4的一致性损失训练模型,直到模型收敛。
[0036] 经过测试,本发明具有的有益效果是:
[0037] 1.使用自适应对比学习可以有效增加源域和目标域上的类间距,有助于获得更清晰的分类边界,同时可以有效保留文本的多样性。
[0038] 2.结合知识蒸馏的对抗学习可以有效避免遗忘灾难,从而减少对抗过程对分类边界的损害。
[0039] 3.利用因果关系和非因果关系内部存在多个子类的事实,进行特征级别的数据增强,充分利用了自然语言的多样性并引入了一致性。一致性通过填补特征空间的空白部分可以进一步明确分类边界。
[0040] 4.通过基于伪标签的自训练策略主动学习目标域的知识,单级和多级过滤方式相结合可以大大减少噪声。

附图说明

[0041] 图1本发明的无监督域适应因果关系识别方法流程图。
[0042] 图2本发明的多级数据过滤流程图。

具体实施方式

[0043] 以下结合附图对本发明的具体实施方案做作进一步说明。
[0044] 本发明用于无监督域适应的因果关系识别。图1为本发明的无监督域适应因果关系识别方法流程图。参见图1,本发明提供的无监督域适应因果关系识别方法具体包括:
[0045] 步骤1:划分源域数据集。对源域数据集进行三次随机划分得到三组源域数据集,每次划分使用60:20:20的概率将原数据集划分为训练集、测试集和验证集。对这三组源域数据集重复下述步骤2和步骤3,就可以得到三组目标域的模型。
[0046] 步骤2:进行基于对比学习的预训练。使用源域数据集训练源域模型,在训练过程中鼓励不同类别的样本具有足够的特征距离以获得更清晰的分类边界,鼓励相同类别的样本保持恰当特征距离以保留自然语言文本的多样性,此类内距离为该类别样本到其聚类中心的平均距离。基于自适应对比学习的预训练,先是将输入的自然语言文本划分为tokens,并利用源域模型中的bert编码器模型将文本投影为768维的特征向量;再存储生成的特征向量,聚类得到因果关系和非因果关系的类中心,计算出所有样本到类中心的平均距离;最后以平均距离作为对比损失的超参计算对比损失,以源域标签作为目标计算有监督的交叉熵损失,使用对比损失和交叉熵损失训练源域模型,直到源域模型收敛。
[0047] 步骤3:进行结合知识蒸馏的对抗学习。使用上述步骤2得到的模型作为特征提取网络和判别网络进行对抗,判别网络判别输入的特征向量是否来源于目标域,从而计算出对抗损失。计算目标域的特征向量和源域特征的相似度作为蒸馏损失。为了防止模型在对抗过程中失去对因果关系的识别能力,以及减少对抗对于模型分类边界的影响,在对抗学习的基础上增加知识蒸馏损失,以知识蒸馏的方式保留模型对于源域数据的分类能力。使用对抗损失和蒸馏损失训练模型,直到模型收敛;
[0048] 步骤4:进行多级数据过滤。图2为本发明的多级数据过滤流程图。如图2所示,多级数据过滤按顺序进行伪标签分配、投票机制筛选、置信度筛选和不确定性筛选,目的是得到一组相对干净的目标域种子集。具体而言,通过步骤1到步骤3得到的三组目标域模型分别对目标域数据分配伪标签,只有三个模型对同一样本分配相同伪标签时该样本才会通过投票机制筛选。然后,再从筛选出的样本中筛选出置信度最高的20%样本进行不确定性筛选。不确定性筛选即为在测试过程中启用dropout层,重复测试10次,计算10次输出的均方差,均方差越大该样本的不确定性越高,去除不确定性高于0.01的样本,就得到最终的种子集,每个种子集对应有固定伪标签;
[0049] 步骤5:进行单级数据过滤。对不包含在种子集的其他目标域数据使用置信度阈值的方式分配伪标签,并且此伪标签不同于种子集的固定伪标签,需要每轮训练重新分配。为了防止伪标签引入过多的噪声,在训练过程中需要引入额外置信度权重。
[0050] 步骤6:获取子类原型。对步骤4得到的种子集和步骤5得到的伪标签数据集,均使用k‑means聚类方法获取因果关系和非因果关系的子类原型,伪标签数据集的子类原型需要随着伪标签数据集的更新而不断更新。
[0051] 步骤7:进行特征级别数据增强。使用得到的子类原型对于输入样本的特征进行特征级别的数据增强,即使用Softmax的方式计算出输入特征和其特征距离最近的子类原型的相似度,子类原型中心以相似度加权到输入特征。经过数据增强的输入特征和原输入特征应具有相同的因果类别,以此一致性引入一致性损失进一步训练模型。
[0052] 步骤8:使用一致性和伪标签进行自训练。使用上述步骤4和步骤5得到的目标域伪标签和额外置信度权重对目标域数据进行自训练。自训练包括:从Softmax层获得当前模型对当前样本的额外置信度权重;以多级数据过滤和单级数据过滤得到的伪标签为目标,以所得到的置信度为额外置信度权重计算出交叉熵损失;使用交叉熵损失和前述的一致性损失训练模型,直到模型收敛。
[0053] 我们的结果实验表明,本发明提出的无监督域适应方法在句子级因果关系识别任务上f1平均提高了5.5%,在事件级因果关系识别任务上f1平均提高了9.5%。f1为精准率和召回率的调和平均数,在本发明中用以表征因果关系的识别能力。