首页> 中国专利> 一种领域适应医学文献神经机器翻译模型的训练方法

一种领域适应医学文献神经机器翻译模型的训练方法

摘要

本发明公开了一种领域适应医学文献神经机器翻译模型的训练方法,包括:1)对域内外数据集进行数据预处理;2)基于域外子词化训练集进行域外子词化神经机器翻译模型进行动态递减训练集训练;3)使用改进的数据选择法,从域外数据集中挑选出与域内平行数据集相似的数据集来增强域内数据集;4)基于高质量的人工纠错的子词化医学数据集,训练小型的分类器或语言模型,获得域内子词化训练集句子对的训练权重,将权重作为训练参数加入到继续训练过程中;5)结合上一步骤处理得到的域内子词化训练集和训练权重文件,基于已训练域外子词化神经机器翻译模型,在域内子词化训练集上继续训练。本发明可节省总体训练时间,提高最终翻译训练效果。

著录项

  • 公开/公告号CN112989848B

    专利类型发明专利

  • 公开/公告日2022.12.16

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN202110332815.X

  • 发明设计人 董守斌;张绍源;胡金龙;袁华;

    申请日2021.03.29

  • 分类号G06F40/58(2020.01);G06F40/44(2020.01);G06F40/56(2020.01);G06F40/289(2020.01);G06F16/35(2019.01);

  • 代理机构广州市华学知识产权代理有限公司 44245;

  • 代理人冯炳辉

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-01-09 21:32:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-12-16

    授权

    发明专利权授予

说明书

技术领域

本发明涉及中英神经机器翻译的技术领域,尤其是指一种领域适应医学文献神经机器翻译模型的训练方法。

背景技术

神经机器翻译因其端到端的简单模型,近些年来逐渐成为主流的机器翻译方法,一些技术领先的神经机器翻译框架不断被提出,不断刷新了机器翻译成绩。然而,高质量的神经机器翻译模型很大程度上依赖于大规模高质量的双语平行训练集,而大规模双语数据集只存在于很少几对的双语语言中,如英语和几个欧洲国家的语言对,中英语言对等;而且每一种语言对在特定领域的数据集规模也很小,如生物医学,法律领域,意味着只有规模很小的训练集用来训练神经机器翻译模型,因此训练出来的模型效果都不甚理想。领域适应技术,就是利用较大规模域外平行数据集和小规模域内平行或单语数据集来解决或缓解特定语言对或特定领域数据集不足的问题。

目前,领域适应的研究从数据增强、训练方式来看,有数据选择法,预训练加微调方法,动态训练方法,混合训练法等。虽然训练方法众多,但训练过程中几个关键因素的选择会对最终训练效果产生很大的影响,如数据选择的方法,子词合并模型操作数大小及学习,应用方式,领域适应的训练方式等,但参数搜索的代价昂贵,本方法通过具体研究和优化域内和域外数据集预处理方式、预训练加微调过程,采用更快速有效的方法来增强域内数据集,这些过程都可以通过不修改神经机器翻译框架来实现,可以进一步提高最终领域适应的效果。

发明内容

本发明的目的在于克服现有技术的缺点与不足,提出了一种领域适应医学文献神经机器翻译模型的训练方法,对常规预训练加微调方式进行了改进,同时,对传统的n-gram语言模型进行数据选择的方法进行了改进,最终进一步提高了领域适应的效果。

为实现上述目的,本发明所提供的技术方案为:一种领域适应医学文献神经机器翻译模型的训练方法,包括以下步骤:

1)对域内和域外平行数据集进行数据预处理,包括:对域内平行数据集的中文部分使用两种以上的分词工具进行分词;对影响最终翻译效果的子词合并操作次数进行参数搜索;只基于域内平行数据集学习域内子词合并模型,并应用到域内和域外平行数据集中,生成域内和域外子词化训练集;从域内和域外子词化训练集中提取域内和域外子词词汇表作为下一步域外预训练模型和域内微调模型训练的翻译词汇表;其中,所述域内平行数据集为生物医学平行数据集,所述域外平行数据集为与生物医学不同领域的平行数据集;

2)基于域外子词化训练集进行域外子词化神经机器翻译模型的训练:使用基于fasttext分类算法或bert预训练模型对基于n-gram语言模型的数据选择法进行改进,具体改进是取代用n-gram语言模型计算句子困惑度方法,替换成训练fasttext或bert领域分类器,训练好fasttext或bert领域分类器后,对域外子词化训练集进行打分和排序,生成域外排序子词化训练集,再对域外排序子词化训练集进行域外预训练模型的训练,训练过程中采用改进的逐步微调方法,该方法是每隔k个epoch训练前设定训练集为域外排序子词化训练集的前百分之N,当训练集数量递减到大于域内子词化训练集的预设数量时,不再递减,继续训练至收敛;

3)使用步骤2)提出的改进的数据选择法,从域外平行数据集中挑选出与域内平行数据集相似的平行数据集来增强域内平行数据集,要注意的是这里的域外平行数据集不是用于训练域外预训练模型的域外平行数据集,而是另外再选择其它同样大规模的域外平行数据集;再对已增强的域内平行数据集进行域内子词合并模型的应用,生成域内子词化训练集;收集并整理出基于专家纠正的高质量中英生物医学子词化数据集,训练小型的fasttext或bert分类器,对域内子词化训练集的每一对句子对打分,得到每一对句子对的权重值并生成训练权重文件,以便将句子对的权重作为训练参数加入到域内微调过程中,最后根据权重值对小于指定阀值的句子对进行滤除;

4)结合上一步骤处理得到的域内子词化训练集和训练权重文件,基于已训练的域外预训练模型,在域内子词化训练集上进行域内微调,在域内微调过程中域内微调模型会对权重高句子对进行更多学习。

在步骤1)中,只从域内平行数据集中学习联合子词模型,应用到域外平行数据集中;对域内平行数据集的中文部分使用两种以上分词工具进行分词,将中文分词结果连接起来,中英文部分都引入子词化dropout方法,进行多次重复子词化dropout,使得英文部分的每个句子拥有多种子词组合,以便与中文部分匹配,来生成域内子词化训练集。

在步骤2)中,基于fasttext分类算法或bert预训练模型对基于n-gram语言模型的数据选择法进行改进,训练高精度的fasttext或bert领域分类器,从域外平行数据集中提取出生物医学领域或与生物医学领域高度相关的句子对,包括以下步骤:

2.1)设定从收集整理的域外大规模数据集中抽取的用于训练领域分类器的域外训练集,规模比用于训练领域分类器的域内训练集规模小一半以上,然后对域内和域外训练集进行领域标注,分别生成中文和英文的域内与域外混合标注分类器训练集;其中,所述域外大规模数据集区别于用于训练域外预训练模型的域外平行数据集,可以是域外平行数据集,也可以是域外单语数据集;

2.2)基于bert预训练模型,在中文和英文的域内与域外混合标注分类器训练集进行微调,以生成bert领域分类器,bert预训练模型加载后,对最大序列长度,训练batch大小,训练epochs数量进行设定,随后基于中文和英文的域内与域外混合标注分类器训练集进行微调,分别生成中、英bert领域分类器;fasttext则是直接基于中文和英文的域内与域外混合标注分类器训练集进行训练,经多次实验不断提高精准率和召回率,学习率范围设置0.8~1.0,epoch范围设置25~50次,词向量维度设置为512,wordNgrams范围设置2~4,最后分别生成中、英fasttext领域分类器;

2.3)基于上一步骤所训练的中、英fasttext或bert领域分类器,分别对域外平行数据集中文和英文部分的句子进行概率预测,得到其中每一句领域内和外的概率值,并生成概率结果文件;根据概率结果文件计算域外平行数据集中的每一对句子对的是域内句子对的可能性;概率结果文件中的两列分别表示域外语句的概率和域内语句的概率;最后计算每一个句子对的领域概率分数DPS:

DPS=(P

式中,P

2.4)根据最终分数对域外平行数据集进行重新排列,将排列靠前的句子对用于增强域内数据。

另外在步骤2)中,从域内和域外子词化训练集中提取的词汇表作为域外预训练和域内微调过程所使用的词汇表,将域外预训练和域内微调过程所使用的开发集设置为使用生物医学领域的平行句子对作为开发集,而非域外平行句子对。

在步骤3)中,收集并生成与域内平行数据集内容不重复的小规模域内中英生物医学数据集,进行分词和子词化处理,在分词阶段和子词化阶段,都对处理结果进行专家修正,形成高质量的域内子词化数据集,并将它用于训练语言模型或分类器,再对域内子词化训练集的每一个句子对进行打分,打分结果作为每一个句子对的权重加入到对域内子词化训练集的微调过程中,并根据打分结果对域内子词化训练集进行过滤,低于设定阈值的句子对将被滤除。

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

1、使用改进的数据选择技术。以传统的基于n-gram语言模型的数据选择方法作为baseline,基于fasttext分类算法或bert预训练模型训练高精度领域分类器;另一种方法引入并改进wmt2019平行数据集过滤任务中结果表现优异的工具laser,只基于生物医学数据集训练编码器架构,将域外句子对都编码成句向量,计算它们相似性并优化阈值,达到该阈值的句子对才被采纳与域内平行数据集高度相关的数据集。

2、将域内平行数据集中文部分采用多种中文方式进行分词,英文部分则进行子词化dropout,将这两种产生多元子词组合的方式相融合,并应用到领域适应训练过程中;具体来说,对于域内平行数据集的中文部分,使用两种以上的中文分词方式,平行训练集的英文部分也进行对应次数的子词化dropout,形成中英句子的子词组合都多元的域内子词化训练集,提高分词错误的鲁棒性,进而提高最终效果。

3、子词化合并操作次数和子词化dropout的概率p和重复次数n对最终翻译效果影响很大,但参数搜索代价昂贵,通过收集高质量的中英生物医学平行数据集,在分词阶段和子词化阶段进行专家人工修正,生成高质量中英域内数据集上训练fasttext或bert分类器,对域内子词化训练集中的每一对句子对进行打分,根据打分结果设置每一句子对的权重,生成权重结果文件,将权重参数加入到域内微调过程中,进一步提高了最终翻译效果。

4、在领域适应中采用域内子词化训练集过滤方法,对域内平行数据集子词化后的结果进行过滤,可以在一定程度上解决一些随机dropout后的子词组合造成大量噪音的问题,提高域内微调效果,与其他复杂的子词化方式相比,基于子词化dropout进行平行数据集过滤的方法简单便捷,也能收到很好的效果。

附图说明

图1为本发明领域适应医学文献神经机器翻译模型训练流程示意图。

图2为基于分类器的数据选择流程示意图。

图3为域内子词化训练集生成流程示意图。

图4为域内子词化训练集加权流程示意图。

具体实施方式

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

如图1至图4所示,本实施例所提供的领域适应医学文献神经机器翻译模型的训练方法,其具体情况如下:

1)将子词化dropout,中文多种分词融合方法应用到预训练加微调的过程中,具体如下:

对域内和域外平行数据集进行数据预处理,包括:域外平行数据集中文和英文部分都采用常规的分词方式进行分词;对域内平行数据集的中文部分使用两种以上分词工具进行分词,将中文分词结果连接起来,英文部分则引入子词化dropout方法,进行多次重复子词化dropout,使得每个句子拥有多种子词组合,以便与中文部分匹配,来生成域内子词化训练集;其中子词化dropout过程所使用的子词模型为只从域内平行数据集中学习到的联合子词合并模型;由于医学文献中文部分有很多直接引用的英文术语或符号,所以选择学习中英联合子词合并模型,域内和域外平行数据集中的中文和英文部分中相同的符号串和单词,都会被同样子词化处理。在联合子词合并模型的学习中,合并操作次数范围为4k~8k,学习得到中英联合子词合并模型后,将其用于域外平行数据集进行常规子词化,用于域内平行数据集则进行子词化dropout。子词化dropout具体过程为:

a、将单词按字符切开成逐个字符的组合;

b、根据联合子词合并模型,将该单词所有可能的合并操作都移入合并队列;

c、按概率值p将一些合并操作移除出合并队列;

d、根据合并队列对切开单词进行合并操作。

单词子词化dropout也只能生成一种句子的子词组合方式,还是要配合多次子词化dropout,才能得到句子对的多元子词组合方式,在中英生物医学翻译数据集中,dropout的次数设为20~30之间效果较优。从域内和域外子词化训练集中提取域内和域外子词词汇表作为下一步域外预训练模型和域内微调模型训练的翻译词汇表;其中,所述域内平行数据集为生物医学平行数据集,所述域外平行数据集为与生物医学不同领域的平行数据集;

2)基于bert预训练模型或fasttext分类方法对传统的基于n-gram语言模型的数据选择法进行改进(主要是取代用n-gram语言模型计算句子对困惑度方法,替换成训练fasttext或bert领域分类器),训练出高精度的bert或fasttext领域分类器,进而提取出质量更高的伪域内平行数据集,包括以下步骤:

步骤1、首先设定从收集整理的域外大规模数据集(区别于用于训练域外预训练模型的域外平行数据集,可以是域外单语数据集)中抽取的用于训练领域分类器的域外训练集,规模比用于训练领域分类器的域内训练集规模小一半以上,目的在于更多学习域内训练集的特征。基于bert方法的训练数据,域外句子对在尾部添加,域内生物医学句子对在尾部添加;基于fasttext方法的训练数据,域外句子对在头部添加__label__0,域内生物医学句子对在尾部添加__label__1;将中英域外子平行数据集拆开,中文和英文部分别与中英域内生物医学平行数据集的中文和英文部分相混合,再进行随机打乱,生成中文和英文的域内与域外混合标注分类器训练集;

步骤2、使用bert预训练模型,在中文和英文的域内与域外混合标注分类器训练集上进行进一步微调,训练bert分类器。首先是bert预训练模型的选择,中小规模的深度学习服务器可以采用bert_base模型,中文预训练模型使用12层transformer,768个隐藏单元,12个多头,总参数量为110m的bert_base模型,英文预训练模型使用12层transformer,768个隐藏单元,12个多头,总参数量为110m的bert_base模型,其次对模型进行加载,以及最大序列长度,训练batch大小,训练epochs数量的设定,经过多次实验结果,最大序列长度设定范围为80~120,batch大小设定范围为32~64,训练epochs设定范围为10~20;最后分别基于中英域内和域外混合标注数据集进行微调,分别生成中、英bert领域分类器;使用fastext文本分类算法进行fasttext领域分类器的训练,经多次实验不断提高精准率和召回率,学习率范围可设置0.8~1.0,epoch范围可设置25~50次,词向量维度设置为512,wordNgrams范围可设置2~4,最后分别基于中文和英文的域内和域外混合标注分类器训练集进行微调,分别生成中、英fasttext领域分类器;

步骤3、基于中文bert或fasttext领域分类器,对域外平行数据集中文部分每一条句子进行概率预测;同样使用英文bert或fasttext领域分类器对域外平行数据集英文部分每一条句子进行概率预测,分别生成概率结果文件;

步骤4、根据概率结果文件计算域外平行数据集(该平行数据集是用于域外预训练模型训练,还未子词化的域外平行数据集)中的每一个句子对的是域内句子对的可能性。概率结果文件中的两列分别表示域外语句的概率和域内语句的概率。计算每一个句子对的领域概率分数DPS(domain probability score):

DPS=(P

其中,P

步骤5、根据每一个句子对的最终分数对域外平行数据集进行重新排列,将排列靠前的句子对用于增强域内平行数据集。

3)采用预训练加微调的方法进行医学文献神经机器翻译模型的训练,包括以下步骤:

步骤1、基于域外子词化训练集,训练域外预训练模型,训练采用的架构为transformer,翻译模型的训练架构为以transformer为基础的编码器-解码器架构,输入层词向量维度为512维,最长句子长度设置为200,编码器层数为6层,前馈神经网络维度为2048维,训练过程采用adam优化算法,初始学习率设为0.0003,学习率预热启动epoch为16000,验证过程采用平均单词交叉熵得分(ce-mean-words)、困惑度(perplexity)、翻译结果得分(translation)三种验证方式基于生物医学开发集进行验证,early stopping设置为6,如果在6个连续的验证步骤中翻译结果没有改善则训练将结束,beam-size设置为12。预训练过程使用改进的逐步微调方法,首先使用上述改进的数据选择法对域外子词化训练集进行排序,训练过程中采用改进的逐步微调方法,该方法是每隔k个epoch训练前设定训练集为域外排序子词化训练集的前百分之N,当训练集数量递减到大于域内子词化训练集的预设数量时,不再递减,继续训练至收敛;

步骤2、基于已训练好的域外预训练模型,对域内子词化训练集进行域内微调模型的训练。训练好的域内微调模型后,对测试集进行翻译并检查效果。

4)在子词化dropout的基础上,额外采集与机器翻译所用的域内训练集不重复的小规模域内生物医学数据集,进行分词和子词化处理,在分词阶段和子词化阶段,都对处理结果进行人工专家修正,生成高质量中英域内数据集,并基于该数据集训练fasttext或bert分类器,对域内子词化训练集中的每一对句子对进行打分,根据打分结果设置每一句子对的权重,生成权重结果文件,将权重参数加入到域内微调过程中,进一步提高了最终翻译效果。

另外,本发明采用平行数据集过滤技术,对dropout后的数据集进行过滤,可以在一定程度上解决一些子词化dropout后的随机子词组合造成大量噪音的问题,提高域内微调效果,与其它复杂的子词化方式相比,基于子词化dropout进行平行数据集过滤的方法简单便捷,也能收到很好的效果。具体如下:

步骤1、基于已训练好的预训练模型,将dropout后的生物医学平行数据集的中英句子都编码成固定长度的句向量;

步骤2、计算每一对句子对中英句向量的相似分数,使用改进的基于边际的cosine相似度打分方法来对句子对进行打分:

其中,NNk(x)表示源句x在目标端的k个候选句子,NNk(y)表示目标句y在源端的k个候选句子。

步骤3、将分数偏低的句子对去除,该过滤方法可以将中英部分被切的非常零碎或者不合理的句子对去除,而保留大部分子词化dropout的句子对。

综上所述,在采用以上方案后,本发明为医学文献神经机器翻译模型的训练提供了新的方法,将数据预处理和训练过程的改进作为领域适应神经机器翻译的一种有效手段,能够有效提高只基于小规模专业领域数据集进行神经机器翻译模型训练的效果。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号