一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于注意力机制的自蒸馏中文分词方法、终端及存储介质

2022-04-25 04:55:18 来源:中国专利 TAG:


1.本发明涉及人工智能领域,尤其涉及的是一种基于注意力机制的自蒸馏中文分词方法、终端及存储介质。


背景技术:

2.现有的中文分词模型,大多沿用序列标注形式进行研究。从输入到最终输出结果,经历了embedding、encoder和decoder三个主要部分:embedding部分(信息嵌入),将输入字符转化为分布式的、计算机能够理解和运算的一串信息;encoder部分(编码器),将embedding信息进行编码,通过特定运算后使计算机能够捕获各个embedding之间的关系;docoder部分(解码器),将编码后的信息解码,然后再还原成人类能够理解的字符信息。
3.然而,现在大多数研究工作都将焦点聚集在丰富输入信息(如n-gram词信息),设计更复杂的模型结构等方法来进一步提升特定任务的效果,鲜少有研究人员设计方法来优化模型本身的参数结构而达到这一目的;此外,现有模型虽然都能获得很高的精确率与召回率(f1值),但模型对未登录词(即没有被收录在分词词表中但必须切分出来的词,包括各类专有名词、缩写词、新增词汇等等)的识别能力尚待提升;
4.例如,需要对“千载难逢天外客”这一语句进行分词处理,“天外客”这一未登录词很难通过现有模型准确分割为“天外”、“客”;或需要对“楼空空锁楼中燕”进行分词处理,“楼中燕”这一未登录词同样很难通过现有模型准确分割为“楼中”、“燕”。
5.因此,现有技术还有待改进。


技术实现要素:

6.本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种基于注意力机制的自蒸馏中文分词方法、终端及存储介质,以解决现有的中文分词模型无法准确处理未登录词的问题。
7.本发明解决技术问题所采用的技术方案如下:
8.第一方面,本发明提供一种基于注意力机制的自蒸馏中文分词方法,基于注意力机制的自蒸馏中文分词方法包括以下步骤:
9.将预处理后的训练集引入预训练模型;
10.通过迭代训练获得教师模型;
11.通过所述教师模型与学生模型获取注意力权重矩阵;
12.将所述注意力权重矩阵引入知识蒸馏过程,对所述学生模型进行有针对性的学习训练;
13.通过验证集对学习训练所获得的整个模型进行验证,得到蒸馏后的中文分词模型。
14.在一种实现方式中,所述将预处理后的训练集引入预训练模型,之前包括:
15.从原训练集中获取中文分词词典;
16.从所述原训练集中随机抽取第一比例的数据作为所述训练集;
17.从所述原训练集中随机抽取第二比例的数据作为所述验证集。
18.在一种实现方式中,所述将预处理后的训练集引入预训练模型,之前还包括:
19.将所述训练集中的字符串转化为字符向量,并将所述字符向量与用于表达字符位置的位置向量结合,得到所述预处理后的训练集。
20.在一种实现方式中,所述通过迭代训练获得教师模型,包括:
21.通过所述验证集对所述学生模型进行验证,判断所述学生模型获得的f1值是否达到历史最高;
22.若为是,则将所述学生模型保存为下一迭代过程中的教师模型。
23.在一种实现方式中,所述通过教师模型与学生模型获取注意力权重矩阵,包括:
24.计算所述学生模型输出的预测分词结果与真实分词结果之间的第一差异信息;
25.计算所述教师模型输出的预测分词结果与真实分词结果之间的第二差异信息;
26.通过所述第一差异信息和所述第二差异信息获得所述注意力权重矩阵。
27.在一种实现方式中,所述将注意力权重矩阵引入知识蒸馏过程,对所述学生模型进行有针对性的学习训练,包括:
28.通过所述注意力权重矩阵计算所述学生模型的整体损失;
29.将所述整体损失反向传播至所述学生模型,以更新所述学生模型中各节点的参数信息。
30.在一种实现方式中,所述通过注意力权重矩阵计算所述学生模型的整体损失,包括:
31.将所述注意力权重矩阵分别与所述学生模型输出的预测分词结果和所述教师模型输出的预测分词结果进行交互,得到交互信息;
32.根据所述交互信息进行知识蒸馏,计算蒸馏损失;
33.通过所述蒸馏损失与常规交叉熵损失计算所述学生模型的整体损失。
34.在一种实现方式中,所述基于注意力机制的自蒸馏中文分词方法,还包括:
35.对迭代训练完成后的整体模型进行中文分词测试。
36.第二方面,本发明提供一种终端,包括:处理器以及存储器,所述存储器存储有基于注意力机制的自蒸馏中文分词程序,所述基于注意力机制的自蒸馏中文分词程序被所述处理器执行时用于实现如第一方面所述的基于注意力机制的自蒸馏中文分词方法。
37.第三方面,本发明提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有基于注意力机制的自蒸馏中文分词程序,所述基于注意力机制的自蒸馏中文分词程序被处理器执行时用于实现如第一方面所述的基于注意力机制的自蒸馏中文分词方法。
38.本发明采用上述技术方案具有以下效果:
39.本发明将注意力机制引入到自蒸馏过程中,首先比较模型已获得的知识与对应样本实际知识之间的差异信息,再通过多种注意力策略转化为具体的注意力值,从而使学生模型有针对性地向教师模型学习知识,进一步优化了学生模型的内部参数结构,同时,将样本的标签信息融入到特定任务的训练过程,从而进一步提高模型的知识表达能力。本发明通过自蒸馏达到优化模型自身结构的目标,且进一步利用注意力机制有侧重点地学习被蒸
馏的知识,提高了模型识别未登录词的能力,较好地解决了现有中文分词模型无法准确处理未登录词的问题。
附图说明
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
41.图1是本发明的一种实现方式中基于注意力机制的自蒸馏中文分词方法的流程图。
42.图2是本发明的一种实现方式中基于注意力机制的自蒸馏中文分词模型的结构示意图。
43.图3是本发明的一种实现方式中字符权重示意图。
44.图4是本发明的一种实现方式中自蒸馏对整个模型知识表达能力的提升效果示意图。
45.图5是本发明的一种实现方式中优化模型结构的效果示意图。
46.图6是本发明的一种实现方式中终端的功能原理图。
47.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
48.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
49.示例性方法
50.发明人经过研究发现,当下自然语言处理技术领域常采用基于深度学习的神经网络来进行完成,因具有强大学习能力神经网络能解决大批量的准确分类问题。中文语句因词与词之间无间隔故较之英语语句要更难实现准确分词,而现有的中文分词模型,大多依赖词信息(n-gram)等额外数据来进一步提升分词效果,鲜少有研究人员设计方法来优化模型本身的参数结构而达到这一目的。此外,现有模型虽然都能获得很高的精确率与召回率(f1值),但模型对未登录词(即没有被收录在分词词表中但必须切分出来的词,包括各类专有名词、缩写词、新增词汇等等)的识别能力尚待提升;
51.例如,需要对“千载难逢天外客”这一语句进行分词处理,“天外客”这一未登录词很难通过现有模型准确分割为“天外”、“客”;或需要对“楼空空锁楼中燕”进行分词处理,“楼中燕”这一未登录词同样很难通过现有模型准确分割为“楼中”、“燕”。
52.为了解决上述问题,在本技术实施例中,将注意力机制引入到自蒸馏过程中,首先比较模型已获得的知识与对应样本实际知识之间的差异信息,再通过多种注意力策略转化为具体的注意力值,从而使学生模型有针对性地向教师模型学习知识,进一步优化了学生模型的内部参数结构,同时,将样本的标签信息融入到特定任务的训练过程,从而进一步提高模型的知识表达能力。
53.如图1所示,本发明实施例提供一种基于注意力机制的自蒸馏中文分词方法,基于注意力机制的自蒸馏中文分词方法包括以下步骤:
54.步骤s100,将预处理后的训练集引入预训练分词模型。
55.具体地,从原训练集中获取中文分词词典,用于评估与标记未登录词,同时,所述训练集取自原训练集,从原训练集中随机抽取第一比例(例如,第一比例为90%)的数据作为本模型训练所使用的训练集,并随机抽取第二比例(第二比例为100%减去第一比例,例如,第二比例为10%)的数据作为验证集,值得注意的是,所述训练集与所述验证集没有重合部分。在神经网络的深度学习过程中,训练集作为用于模型拟合的数据样本,故可将训练集看作学习的“课本”;验证集是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估,故可将验证集看做阶段学习完成后的“作业”。
56.即在本实施例的一种实现方式中,步骤s100之前包括以下步骤:
57.步骤001,从原训练集获取用于评估未登录词的中文分词词典;
58.步骤s002,从原训练集中随机抽取第一比例的数据作为所述训练集;
59.步骤s003,从所述原训练集中随机抽取第二比例的数据作为所述验证集。
60.在获得训练集后,还需要对训练集进行预处理,在本实施例的一种实施方式中,将训练集中的字符串转化为字符向量,而对于语句中的字符来说,其所处的位置也关系到其语义的判断,故将字符向量与表达字符位置的位置向量结合,从而得到预处理后的训练集。
61.即在本实施例的一种实现方式中,步骤s100之前还包括以下步骤:
62.步骤s003,将所述训练集中的字符串转化为字符向量,并将所述字符向量与用于表达字符位置的位置向量结合,得到所述预处理后的训练集。
63.如图2所示,在本实施例的一种实现方式中,需要将预处理后的训练集引入预训练模型,所述预训练模型采用bert模型,bert的全称为bidirectional encoder representation from transformers,是一个预训练的语言表征模型,它强调了不再像以往一样采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接的方法进行预训练,而是采用新的masked language model(mlm),以致能生成深度的双向语言表征,做到了融合左右上下文信息,因此被广泛应用于自然语言处理领域中。
64.通过将预处理后的训练集引入经过预训练的中文分词模型,可利用经过预训练的中文分词模型和预处理后的训练集进行迭代训练,从而得到需要的教师模型。
65.如图1所示,在本发明实施例的一种实现方式中,基于注意力机制的自蒸馏中文分词方法还包括以下步骤:
66.步骤s200,通过迭代训练获得教师模型。
67.在本实施例中,知识蒸馏目前被广泛应用于深度学习领域,采用一个教师模型指导学生模型进行学习,可以使学生模型学习到单纯从训练数据中无法学习到的“暗知识”,以提高模型的准确率;例如,将一张内容为猫的图片输入进分类模型中,设输入图片的分类概率为p,模型输出的分类概率为q,若仅只是常规的学习过程,则模型学习任务则是将q相对于p的损失进行最小化;在引入知识蒸馏后,图片输入进一个教师模型,设教师模型输出的分类概率为q1,若q1显示出来的概率分布为“该图片很大概率是猫”,经过知识蒸馏过程后,概率分布变得平滑(q2),即“该图片除了像猫外,还有点像狗”;而图片输入学生模型所
得是分类概率仍为q,计算q与q2两个概率分布之间的差值(loss soft),同时,计算p与q两个概率分布之间的差值(loss hard),综合loss soft与loss hard为总的loss,并将其最小化,即可在迭代训练的同时使学生模型不断向教师模型学习,一定程度上降低了模型过度拟合(学生死记硬背)的风险。
68.现有技术中的知识蒸馏分为三种:自蒸馏、离线蒸馏与在线蒸馏。本技术中采用的是自蒸馏,即教师模型与学生模型为同一个模型。
69.在本实施例中,在第一个完整迭代过程时,因是自蒸馏学习,故没有教师模型,所以训练过程和常规训练没有区别。在本实施例的一种实现方式中,在之后每个完整迭代过程结束后,通过判断条件可以决定当前学生模型是否可以被存留并作为教师模型:只有当前迭代过程的学生模型在验证集上的表现超过历史最佳记录,即f1值达到历史最高,才保存为下一阶段的教师模型,直到出现更好的学生模型后,才会再次更新教师模型;值得注意的是,如当前f1值与历史最优f1值之差《0.0001,则不会被保存,即不被视为模型效果有提升,从而防止频繁更新教师模型。
70.在本实施例的另一种实现方式中,在决定当前学生模型是否保存为下阶段教师模型时,不管当前迭代过程的学生模型在验证集上表现如何,都将其保存为下个迭代过程的教师模型。
71.即在本实施例的一种实现方式中,步骤s200具体包括以下步骤:
72.步骤s201,通过所述验证集对所述学生模型进行验证,判断所述学生模型获得的f1值是否达到历史最高;
73.步骤s202,若为是,则将所述学生模型保存为下一迭代过程中的教师模型。
74.如图1所示,在本发明实施例的一种实现方式中,基于注意力机制的自蒸馏中文分词方法还包括以下步骤:
75.步骤s300,通过所述教师模型与学生模型获取注意力权重矩阵。
76.在本实施例中,深度学习需要依托大量的训练数据进行学习,在输入的训练数据中,有对问题有帮助的有用信息,也有对问题无帮助的信息,对问题无帮助的信息被称作“噪声”。在当前的计算机资源的限制下,为了使模型的学习提高效率,注意力机制是提高效率的一种有效手段。注意力机制的核心目标是从众多信息中选择出对当前任务目标更关键的信息,将注意力放在这上面。
77.对于本技术的方案中所应用的知识蒸馏,其中,学生模型不一定要全盘接受教师传授的知识,有可能教师模型教授的内容也不是正确的。因此,需要有区别地对待来自教师模型的知识,故在知识蒸馏的过程引入注意力机制进一步细化知识的重要程度,让学生模型有针对性地学习。
78.通过下列计算方式计算学生模型输出的预测分词结果、教师模型输出的预测分词结果,它们各自与真实分词之间的差异信息,并通过一阶跃函数实现归一化,其中,t为教师模型,s为学生模型:
79.ηm=|y
m-y|,m=t,s;
80.81.ηm=1-f(ηm)。
82.在本实施例的一种实现方式中,基于“越容易学习的知识越重要,越难学习的知识更没这么重要”的知识重要程度认知,故注意力权重可由以下方式进行计算:
[0083][0084]
在本实施例的另一种实现方式中,基于“越容易学习的知识越重要,越难学习的知识更没这么重要,且教师模型掌握的知识比学生模型掌握的知识更重要”的知识重要程度认知,故注意力权重可由以下方式进行计算:
[0085][0086]
在本实施例的另一种实现方式中,基于“越容易学习的知识越重要,越难学习的知识更没这么重要,且认为学生模型掌握的知识比教师模型掌握的知识更重要”的知识重要程度认知,故注意力权重可由以下方式进行计算:
[0087][0088]
在本实施例的另一种实现方式中,基于“认为教师模型掌握了但学生模型没掌握的知识最重要,同时学生模型掌握了但教师模型没掌握的知识最不重要”的知识重要程度认知,故注意力权重可由以下方式进行计算:
[0089][0090]
即基于四种不同的知识重要程度认知有四种不同的注意力权重计算方法,一个字符(设为k)的所有可能权重值如图3所示。
[0091]
即在本实施例的一种实现方式中,步骤s300具体包括以下步骤:
[0092]
步骤s301,计算所述学生模型输出的预测分词结果与真实分词结果之间的第一差异信息;
[0093]
步骤s302,计算所述教师模型输出的预测分词结果与真实分词结果之间的第二差异信息;
[0094]
步骤s303,通过所述第一差异信息和所述第二差异信息获得所述注意力权重矩阵。
[0095]
通过计算得到学生模型预测的伪标签和真实标签之间的差异信息,以及教师模型预测的伪标签和真实标签之间的差异信息,可使得学生模型和教师模型充分交流,并得到最终权重向量。
[0096]
如图1所示,在本发明实施例的一种实现方式中,基于注意力机制的自蒸馏中文分词方法还包括以下步骤:
[0097]
步骤s400,将所述注意力权重矩阵引入知识蒸馏过程,对所述学生模型进行有针对性的学习训练。
[0098]
在本实施例中,将学生模型与教师模型输出的预测信息与得到的注意力权重矩阵进行交互,并计算蒸馏损失(相当于上述举例中的loss soft),具体通过如下公式计算:
[0099]
[0100]
其中,z
(t)
为教师模型输出的预测分词结果,z
(s)
为学生模型输出的预测分词结果。
[0101]
即在本实施例的一种实现方式中,步骤s400具体包括以下步骤:
[0102]
步骤s401,通过所述注意力权重矩阵计算所述学生模型的整体损失;
[0103]
步骤s402,将所述整体损失反向传播至所述学生模型,以更新所述学生模型中各节点的参数信息。
[0104]
如上述举例中所述,知识蒸馏过程中的主要任务是将整体损失loss进行最小化,loss为loss soft(即上述蒸馏损失)与输入数据没有通过教师模型情况下的常规损失loss hard的结合,在本实施例中的一种实现方式中,整体损失(l
kd
)具体通过如下公式计算:
[0105]
l
kd
=(1-α)
·
l
ce
α
·
l
distill

[0106]
其中,l
ce
为交叉熵,用于衡量所述学生模型输出的预测分词结果(即一概率分布)与真实分词结果(即另一概率分布)之间的差异,α为平衡因子。
[0107]
即在本实施例的一种实现方式中,步骤s401具体包括以下步骤:
[0108]
步骤s401a,将所述注意力权重矩阵分别与所述学生模型输出的预测分词结果和所述教师模型输出的预测分词结果进行交互,得到交互信息;
[0109]
步骤s401b,根据所述交互信息进行知识蒸馏,计算蒸馏损失;
[0110]
步骤s401c,通过所述蒸馏损失与常规损失计算所述学生模型的整体损失。
[0111]
具体地,将一次迭代训练所得的学生模型经所述验证集进行验证,根据验证结果决定是否保留,如上述步骤s201所述,至此完成一次完整的迭代过程。
[0112]
最终,需要对训练好的模型进行测试,在应用本实施例中所述方案进行实验时,申请人预先设置好了一些参数:平衡因子α为0.3,迭代次数为50,批量尺寸为16,学习率为0.00002,同时,将patient epochs参数设置为3,即,若是当前已迭代次数距离上次保存最优学生模型的已迭代次数之差大于或等于3,那么会提前终止模型训练过程。
[0113]
在本发明实施例的一种实现方式中,基于注意力机制的自蒸馏中文分词方法还包括以下步骤:
[0114]
步骤s500,对迭代训练完成后的整体模型进行中文分词测试。
[0115]
如图4所示,图4是基于上述参数设置所训练得到的模型在测试时的取得的效果,可见基于“认为教师模型掌握了但学生模型没掌握的知识最重要,同时学生模型掌握了但教师模型没掌握的知识最不重要”的知识重要程度认知的模型表现效果较好,且从整体上说,采用“学生模型在验证集上的效果达到历史最优才保存为下一迭代的教师模型”的方法所取得的效果要优于采用“不论学生模型在验证集上表现效果如何均保存为下一迭代的教师模型”的方法所取得的效果。
[0116]
如图5所示,图5为采用本方法所训练的模型与进近些年相关先进技术的效果比较结果,可见,本方法只靠优化模型自身结构,却能取得与近些年的先进技术接近甚至更优的结果,故在本方法的基础上,加入额外的分词辅助信息与其他研究人员设计的具有针对性的分词预训练模型,应能获得更优异的效果。
[0117]
本实施例将注意力机制引入到自蒸馏过程中,首先比较模型已获得的知识与对应样本实际知识之间的差异信息,再通过多种注意力策略转化为具体的注意力值,从而使学生模型有针对性地向教师模型学习知识,进一步优化了学生模型的内部参数结构,同时,将样本的标签信息融入到特定任务的训练过程,从而进一步提高模型的知识表达能力。本实
施例通过自蒸馏达到优化模型自身结构的目标,且进一步利用注意力机制有侧重点地学习被蒸馏的知识,提高了模型识别未登录词的能力,较好地解决了现有中文分词模型无法准确处理未登录词的问题。
[0118]
示例性设备
[0119]
基于上述实施例,本发明还提供一种终端,其原理框图可以如图6所示。
[0120]
该终端包括:通过系统总线连接的处理器、存储器、接口、显示屏以及通讯模块;其中,该终端的处理器用于提供计算和控制能力;该终端的存储器包括存储介质以及内存储器;该存储介质存储有操作系统和计算机程序;该内存储器为存储介质中的操作系统和计算机程序的运行提供环境;该接口用于连接外部终端设备,例如,移动终端以及计算机等设备;该显示屏用于显示相应的基于注意力机制的自蒸馏中文分词信息;该通讯模块用于与云端服务器或移动终端进行通讯。
[0121]
该计算机程序被处理器执行时用以实现一种基于注意力机制的自蒸馏中文分词方法。
[0122]
本领域技术人员可以理解的是,图6中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0123]
在一个实施例中,提供了一种终端,其中,包括:处理器和存储器,存储器存储有基于注意力机制的自蒸馏中文分词程序,基于注意力机制的自蒸馏中文分词程序被处理器执行时用于实现如上的基于注意力机制的自蒸馏中文分词方法。
[0124]
在一个实施例中,提供了一种存储介质,其中,该存储介质为计算机可读存储介质,该存储介质存储有基于注意力机制的自蒸馏中文分词程序,基于注意力机制的自蒸馏中文分词程序被处理器执行时用于实现如上的基于注意力机制的自蒸馏中文分词方法。
[0125]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。
[0126]
综上,本发明提供了一种基于注意力机制的自蒸馏中文分词方法、终端及存储介质,其中,方法包括:将预处理后的训练集引入经过预训练的中文分词模型;通过迭代训练获得教师模型;通过所述教师模型与学生模型获取注意力权重矩阵;将所述注意力权重矩阵引入知识蒸馏过程,对所述学生模型进行有针对性的学习训练;通过验证集对学习训练所获得的整个模型进行验证,得到蒸馏后的中文分词模型。本发明通过自蒸馏可以达到优化模型自身结构的目标,且进一步利用注意力机制有侧重点地学习被蒸馏的知识,提高了模型识别未登录词的能力,从而较好地解决了现有中文分词模型无法准确处理未登录词的问题。
[0127]
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献