一种基于任务感知元学习的持续关系抽取方法

文档序号:24724790发布日期:2021-04-16 15:48阅读:110来源:国知局
一种基于任务感知元学习的持续关系抽取方法

1.本发明属于计算机人工智能领域自然语言处理子领域,具体来说,是一种在元学习基础上,结合分类模型交互信息和任务自身语义信息的持续关系抽取方法。


背景技术:

2.信息抽取是指将非结构化文本中所包含的信息自动地提取并转换为结构化数据的过程,关系抽取则是信息抽取过程中的重要子任务。关系抽取的目标是从自然语言句子中判断给定的实体对之间是否存在关系,并判别存在何种关系。在大规模知识图谱构建、自动问答等多个重要的自然语言处理领域,关系抽取都具有广泛的应用场景。
3.传统的监督学习方法在关系抽取任务上获得了广泛关注和研究,并取得了不错的效果。但在大规模知识图谱构建的过程中,会持续不断地出现新的语料和新的关系,这一场景下的关系抽取任务被称为持续关系抽取。持续关系抽取和传统的监督学习关系抽取方法的设定完全不同,这使得基于传统监督学习方法构建的关系抽取系统在应对持续构建的应用场景时,饱受“灾难性遗忘”和“次序敏感”问题的困扰。
4.不同于监督学习范式中模型训练时已知所有关系类型,持续关系抽取的过程中,模型并不知道全部的关系类型,而是随着学习不断获得新的关系类型和训练数据。在学习新的关系类型的同时,由于关键参数的改变,使得模型在习得对新关系的分类效果的同时,对已有关系的分类能力大幅下降,这种现象被称为“灾难性遗忘”。
5.另一个重大挑战是“次序敏感”问题。在持续关系抽取过程中,神经网络在迭代过程中,会持续地处理一系列的任务,由于每个任务包含的关系类别和训练数据不同,最终神经网络对所有出现关系的判别能力不仅受到训练数据划分的影响,还会很大程度上受到训练过程中各个任务的训练顺序的影响。这会使得基于持续关系抽取模型的性能产生波动,从而影响后续知识图谱构建的质量。
6.持续学习是为了解决上述问题而提出的机器学习范式,持续学习的目标是令模型在利用已有知识快速学习新的类别数据的同时,保持对已有数据的记忆。利用持续学习范式,能够较好地克服持续关系抽取任务中存在的“灾难性遗忘”和“次序敏感”问题。


技术实现要素:

7.发明目的:本发明公布了一种能够有效处理持续场景的关系抽取方法。该方法在元学习的基础上,提出了一种结合分类模型交互信息和任务自身语义信息的任务感知策略。该策略能够有效克服现有技术中存在的不足,提升持续场景下的关系抽取效果,较好地解决了持续场景中的“灾难性遗忘”和“次序敏感”问题。
8.技术方案:为实现上述目的,本发明提供了一种基于任务感知元学习的持续关系抽取方法,包括如下步骤:
9.s1:构建基于任务感知元学习的持续关系抽取框架;所述框架包含:关系抽取神经网络分类模型、任务序列、记忆数据仓库、记忆数据选择器、负例标签选择器、元学习网络模
型训练方法和参数更新方法;
10.s2:从任务序列中取出最新的一个任务的数据;
11.s3:使用负例标签选择器为任务中的训练数据生成候选负例标签,所选负例标签为当前已知关系集合中的元素。若当前任务非第一个任务,则需同时为记忆数据仓库中的数据生成候选负例标签;
12.s4:使用s3中已进行候选负例标签生成的训练数据训练关系抽取神经网络分类模型。若当前任务非第一个任务,则需将s3中已进行候选负例标签生成的记忆数据仓库中的数据混入训练批中进行同步训练;
13.s5:重复步骤s3

s4,直到模型能够充分拟合该训练数据,然后将训练充分的模型中的参数取出,使用元学习参数更新公式对关系抽取神经网络分类模型参数进行更新;
14.s6:使用记忆数据选择器从当前任务中挑选出一批记忆数据放入记忆数据仓库中;
15.s7:将更新后的参数载入到关系抽取神经网络模型,并进行性能测试;
16.s8:重复s2

s7,直到没有新的任务需要进行处理。
17.进一步地,所述步骤s3中所使用的负例标签选择器由两个子选择器构成,详述如下:
18.1)标签语义选择器。标签语义选择器首先使用关系抽取神经网络模型中的标签编码器生成所有已知关系标签的语义表示向量,然后根据下述公式计算正例关系标签与其他负例标签之间的相似度;
19.similarity
i
={similarity
i,1
,similarity
i,2
,

,similarity
i,n
},其中
20.similarity
i,j
=cosine(r
i
,r
j
)
21.再根据下述公式计算出各负例标签的选择概率:
[0022][0023]
上述公式求出的概率为标签语义选择器根据训练关系和已知关系的语义距离选择候选负例关系标签的概率。
[0024]
2)标签混淆选择器。标签混淆选择器的选择策略依赖于训练过程中验证集上的错误分类分布,详细来说,当一条实例被模型误判关系类型时,标签混淆选择器先记录下所有概率高于正例标签的负例标签。在下一次做标签选择时,利用下述公式计算混淆选择器的选择概率:
[0025][0026]
上述公式中表示在训练关系i时j关系被误判的次数。此公式使得标签混淆选择器可以根据历史训练过程中的错误调整负例关系采样的概率,使得错得越多的关系越容易被采样。
[0027]
3)负例标签选择器整合。整个负例标签选择器由所述1)和2)两个部分构成,整体采样概率由下面的公式确定:
[0028][0029]
其中α为0

1之间的实数,用于调节模型按语义选择或混淆选择的概率比例。
[0030]
进一步地,所述步骤s4中关系抽取神经网络分类模型的训练过程为:
[0031]
任务序列中的每个任务包含若干关系类别,每个关系类别包含训练集,验证集和测试集三个部分。在经所述步骤s3处理后,任务中的训练数据均包含由负例标签选择器生成的负例标签。将训练数据划分为大小为n
batch
的训练批;
[0032]
对于第一个任务task0,循环取出每一个训练批,训练关系抽取神经网络;
[0033]
对于非第一个任务task
i
,循环取出每一个训练批,并从记忆数据仓库中取出一组大小为n
memo
的记忆数据批,使用记忆数据批先训练一次关系抽取神经网络模型,再使用训练批训练关系抽取神经网络;
[0034]
进一步地,所述步骤s5中,使用早停止法来保证模型充分拟合训练数据,具体方法为:
[0035]
当模型在验证集上连续轮未达到更优性能,则停止训练并将先前最优一轮的参数取出作为模型的最佳参数。
[0036]
进一步地,所述步骤s5中,使用元学习参数更新公式更新模型参数,具体方法为:
[0037]
对于任一任务task
i
,当训练早停后,保存当前任务下的最优网络参数为然后使用下述公式更新全局模型参数:
[0038][0039]
进一步地,所述步骤s6中,记忆数据选择器的选择方法具体如下:
[0040]
1)从关系抽取神经网络分类模型的隐藏层中,获得所有训练数据中的实例的自然语言句子的向量表示;
[0041]
2)使用k

means聚类算法将所有向量表示聚类成所需记忆数量个类别,每个类别中会有至少一个实例的句子的向量表示;对于只有一个实例的类别,取该类别的实例作为一条记忆;对于多于一个实例的类别,计算该类别下所有实例句子的向量表示的算术平均作为该类别所有实例句子的向量中心,并取实例句子向量离该向量中心欧几里得距离最近的实例作为记忆实例。
[0042]
进一步得,所述步骤s7中的性能测试包含模型在之前所有任务的测试数据上的平均准确率、整体准确率和反向传输特性;
[0043]
进一步地,所述步骤s7中平均准确率的计算公式如下:
[0044][0045]
其中acc
i
为在task
i
的测试集上的准确率;
[0046]
整体准确率公式如下:
[0047][0048]
其中,为在全体测试数据上的准确率;
[0049]
反向传播特性公式如下:
[0050][0051]
其中表示模型在经过了task
j
的训练后,在task
i
的测试集上的准确率;
[0052]
进一步地,所述步骤s7中性能指标的误差范围的计算方式为:重新划分任务或打乱任务顺序,测得在其他任务划分下或任务顺序下的性能表现,统计多种任务划分和顺序下的平均准确率和整体准确率,根据下式计算性能指标的误差范围:
[0053][0054]
其中,表示置信度为α时的置信系数,δ表示统计样本上的标准差,n为统计样本的个数。
[0055]
本发明中所述持续关系抽取面向的是持续知识图谱构建等实用领域的系抽取范式。在持续关系抽取中,在系统启动时,系统中不存在全体关系的类别信息,这要求抽取方法可以适应关系的增加。我们将数据按任务进行组织,每个任务包含不同于其他任务的关系类别,每个关系类别均包含训练集、验证集和测试集三个部分。每个部分由若干实例构成,每条实例由一个自然语言句子s、句中包含的实体对(h,t)、由句子s表示的实体对(h,t)之间存在的关系标签r以及若干实体间不存在的错误关系标签[r1,r2,

,r
s
]组成。持续关系抽取方法按任务顺序逐一处理各个任务,进行训练、验证和参数更新等流程,直到没有新任务存在。
[0056]
对于持续关系抽取,采用整体准确率、平均准确率、反向传播特性和误差范围等指标进行综合衡量。整体准确率是指方法在所有已训练过的关系的测试集上取得的准确率,反映了方法的性能水平;平均准确率是指在所有已处理过的任务的测试集上所能取得的准确率的算术平均,反向传播特性反应了模型在过往任务上的性能下降趋势,反应了方法抗“灾难性遗忘”的能力;误差范围则体现了方法对多组不同数据划分和顺序构成的任务序列所取得的整体准确率和平均准确率的随机波动大小,反映了方法的抗“次序敏感”的能力。
[0057]
有益效果:本方法与现有技术相比,考虑了任务自身所包含的信息,结合任务与分类模型交互过程中的信息和任务自身语义信息,从而有效解决了持续学习中存在的“灾难性遗忘”和“次序敏感”问题。本方法在主流数据集上,在平均准确率、整体准确率、反向传播特性和误差范围等多个指标上取得了现有方法中最佳的效果。
附图说明
[0058]
图1是本方法的总体框架图。
[0059]
图2是本发明中负例标签选择器示意图。
[0060]
图3是本发明实施例中的关系抽取神经网络分类模型的结构。
[0061]
图4是本发明方法与现有方法的性能对比图。
具体实施方式
[0062]
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明
本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0063]
本实施例中基于持续关系抽取数据集lifelong fewrel,采用matchnet结构作为关系抽取模型的结构,其中,采用bilstm模型为关系标签和自然语言句子进行编码,其结构如图3所示,并使用glove词嵌入向量作为预训练词向量对句子中的词进行编码。
[0064]
本实施例中应用本发明提供的一种基于任务感知元学习的持续关系抽取方法,其总体框架如图1所示,其具体包括如下步骤:
[0065]
步骤1)对数据集按任务进行划分。
[0066]
读取lifelong fewrel数据集,使用分词工具将关系列表[r1,r2,

,r
n
]中的所有关系进行分词,并使用glove词嵌入向量对关系中的各个词进行编码,逐个关系对其所属的分词求平均值,得到关系的向量表示列表[e1,e2,

,e
n
]。使用k

means算法将关系的向量列表聚类成10个不同簇,这样可将所有关系划分为10个不同的簇。
[0067]
按上述的划分,将数据集中的训练数据、验证数据和测试数据分别按其正例关系所在簇进行划分。
[0068]
初始化作为关系抽取神经网络分类模型的参数θ0。
[0069]
初始化一个空列表作为记忆数据仓库memorydata用于存放每个任务训练后筛选出来的记忆实例组。
[0070]
初始化一个空的列表seenrelations存放所有经过训练的实例中包含的正确关系标签。
[0071]
步骤2)使用负例标签选择器进行负例标签选择。
[0072]
当任务列表不为空时,取出列表中最新的一个任务task的所有训练数据d
train
,d
train
中包含k个关系类别[r1,r2,

,r
k
],将[r1,r2,

,r
k
]加入到seenrelations中。
[0073]
对于首个任务的首轮训练,仅需考虑标签语义选择器给出的标签采样概率,具体方式如下:
[0074]
使用分词工具将已知关系列表[r1,r2,

,r
k
]中的所有关系进行分词,并使用glove词嵌入向量对关系中的各个词进行编码,得到一个k
×
m
×
n的矩阵a,其中m为关系包含的分词个数,n为glove词嵌入向量的维度。
[0075]
将矩阵a通过给关系编码的bilstm模型,得到k
×
h的矩阵b,其中h表示bilstm模型的隐藏层的大小;对矩阵b求内积,并将对角线元素置零,得到k
×
k的矩阵c;将矩阵c逐行进行softmax计算,得到矩阵d。矩阵d中的元素d
ij
表示当取r
i
为目标关系时,标签语义选择器选择r
j
作为负例关系的概率,即
[0076]
对于非首个任务或首个任务的非首轮训练,则还需结合标签混淆选择器给出的标签采样概率,具体方法如下:
[0077]
初始化全局字典errorcounter,用于统计模型判定错误的数据;
[0078]
在任意任务的训练流程中,每当一个任务的训练数据被完整训练一次后,使用验证数据进行模型性能验证,验证过程中,若模型判别错误,则记录下当前正例关系类别和判别过程中输出概率高于正例的所有负例信息。
[0079]
每次启动标签混淆选择器时,根据当前训练的正例关系类别r
i
,取出对应的判别错误统计信息,将所有错判负例的错判次数统计于向量ec
i
=[ec1,ec2,

,ec
k
],k为所有已
知关系的数量,若关系r
i
未被错判则记为0;对ec
i
进行softmax计算,得到向量其中元素表示当取r
i
为目标关系时,标签混淆选择器选择r
j
作为负例关系的概率
[0080]
按下述公式对标签语义选择器和标签混淆选择器给出的概率进行计算,并得出最终进行负例标签选择的概率:
[0081][0082]
在本实施例中,取α=0.6。
[0083]
根据负例标签选择器给出的概率,为每一条训练数据选择若干负例。
[0084]
步骤3)在一个任务上训练关系抽取神经网络分类模型。
[0085]
将训练数据划分大小为50的训练批。对于第一个任务task0,循环取出每一个训练批,对于一个训练批里的训练实例,使用分词工具将句子进行分词,并使用glove词向量编码句子。将编码后的句子与训练实例中的正确关系类别标签作为一组训练正例,将编码后的句子与训练实例中的错误关系标签逐一构成训练负例。将处理好的句子编码作为关系抽取神经网络分类模型中句子编码器bilstm模型的输入,将正例标签或负例标签作为模型的标签,通过标签编码器bilstm模型获得标签输入,使用marginloss作为模型损失函数,使用adam算法对模型进行反向传播优化。
[0086]
对于非第一个任务task
i
,除上述训练流程外,还需从记忆数据仓库中循环取出一个任务的记忆实例组m
j
按与训练批相同的流程进行混合训练。
[0087]
对于任一任务task
i
,每完整循环一轮训练数据列表后,使用验证集评估当前任务的网络训练情况并保存性能最好的一轮网络的参数θ
i
,当网络在当前任务上连续多轮没有取得更好的效果后,本实施例中使用如下的公式更新当前任务上的参数
[0088][0089]
其中,表示上一个任务完成后模型的参数,∈为固定常数,n为总任务数。
[0090]
步骤4)从当前完成训练的任务task
i
的训练集中,按下述方法选择50个实例作为当前任务的记忆实例组。
[0091]
从关系抽取神经网络bilstm模型中,获得所有训练集中的实例的自然语言句子s的向量表示,该句子向量可从句子编码bilstm模型的最后一个隐藏层的输出获得,使用k

means聚类算法将所有向量表示聚类成50个类别。每个类别中会有至少一个实例的句子的向量表示。
[0092]
对于只有一个实例的类别,取该类别的实例作为一条记忆;对于多于一个实例的类别,计算该类别下所有实例句子的向量表示的算术平均,并取实例句子向量表示离该平均欧几里得距离最近的实例作为记忆,每个任务将会取50个记忆实例,并加入到记忆数据仓库中。
[0093]
步骤5)将更新后的网络参数载入关系抽取网络神经网络分类模型中,测试模型在之前所有任务的测试数据上的平均准确率和整体准确率。
[0094]
平均准确率的计算公式如下:
[0095][0096]
其中,acc
i
为在task
i
的测试实例集上的准确率。
[0097]
整体准确率的计算公式如下:
[0098][0099]
其中,为在所有测试数据上的准确率。
[0100]
反向传播特性公式如下:
[0101][0102]
步骤6)重复步骤3)到步骤5)直到没有新的任务需要进行处理。测得在当前任务划分下的平均准确率、整体准确率和反向传播特性。
[0103]
重新划分任务或打乱任务顺序,然后重复步骤2)到步骤5)。测得在其他任务划分下或任务顺序下的性能表现。统计多种任务划分和顺序下的平均准确率和整体准确率,进一步计算性能指标的误差范围,计算公式如下:
[0104][0105]
其中,表示置信度为α时的置信系数,δ表示统计样本上的标准差,n为统计样本的个数。
[0106]
为了验证本发明方法的效果,本实施例将本发明方法与传统监督学习方法以及其他增量关系抽取方法进行性能对比,对比结果如图4所示,可见,本发明方法在增量关系抽取数据集:lifelong fewrel及lifelong simplequestion上的平均准确率和整体准确率普遍优于传统方法与其他增量关系抽取方法,并且具有更小的误差范围;在lifelong fewrel数据集上有着更好的反向传播特性。这表明本发明所提出的方法能够有效缓解增量学习中的“灾难性遗忘”,并具有更好的稳定性。
[0107]
综上所述,本发明方法基于基于任务感知和元学习思想,提出了一种结合分类模型交互信息和任务自身语义信息的持续关系抽取方法。该方法在持续更新和迭代的关系抽取场景中具有良好的准确性和稳定性,并在lifelong fewrel及lifelongsimplequestion数据集上取得了目前最好的性能效果。基于该方法,可以开发出能够处理大规模数据,并具有持续处理能力的关系抽取系统,这在自然语言处理领域及信息抽取领域均有着广泛的应用前景。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1