基于Transformer的翻译模型的专业术语词汇对齐替换方法

文档序号:31450042发布日期:2022-09-07 13:01阅读:102来源:国知局
基于Transformer的翻译模型的专业术语词汇对齐替换方法
基于transformer的翻译模型的专业术语词汇对齐替换方法
技术领域
1.本发明属于机器翻译技术领域,更为具体地讲,涉及一种基于transformer的翻译模型的专业术语词汇对齐替换方法。


背景技术:

2.机器翻译是通过计算机将一种源语言转换为另一种目标语言的过程。比如说日常中经常会使用到的翻译软件,将英语翻译成中文,其中的英语就是一种源语言,而中文则是目标语言。人工翻译尽管精度很高,但是费时费力。而机器翻译虽然翻译的译文没有人工翻译的准确,但是其速度却比人工翻译快得多。因此,当需要翻译大量的文本且精度要求不那么高时,比如海量数据的浏览型任务,机器翻译的优势就体现出来了。对于那些使用人工翻译无法完成的事情,使用机器翻译可能只需花费几个小时甚至几分钟就能完成。而翻译对人类起到了重要的作用。一方面,由于语言文字、文化和地理位置的差异性,使得翻译成为一个重要的需求;另一方面,翻译也加速了不同文明的融会贯通,促进了世界的发展。正因为翻译的需求如此巨大,机器翻译一直是最具有研究意义的课题之一。
3.如今,在一些条件下,机器翻译的译文结果已经接近人工翻译的结果。但是,在针对一些特定的领域,比如说医疗领域时,其效果还是不尽如人意。因为医疗领域拥有非常多的专用术语,这些专用术语在现有的公开平行语料数据集中并不常见,并且也难以被模型学习到。而在某些特定的场景下,对于这些专业术语的翻译准确率要求非常高,所以如何利用术语库,对翻译模型得到的译文进行修正与改进是让翻译模型适应一些特定领域需要解决的重要的问题。传统的基于注意力机制的对齐替换算法往往只依赖于模型解码器最后一层计算出的交叉注意力得分。因此,其所得到的对齐结果并不一定准确。而另外一些对齐替换算法是在模型解码的过程中增添约束,有时会影响模型最终翻译的结果。
4.综上,目前让模型充分利用术语库修正和改进译文的方法,存在对齐结果不够准确和可能影响模型生成译文质量的问题,从而影响翻译模型对于特定领域的适应。


技术实现要素:

5.本发明的目的在于克服现有技术的不足,提供一种基于transformer的翻译模型的专业术语词汇对齐替换方法,利用翻译模型中的相关性矩阵实现对输入的源语言文本与翻译模型生成的译文进行精准的对齐,并利用专业术语库对译文进行修正,从而提高译文的准确性。
6.为了实现上述发明目的,本发明基于transformer的翻译模型的专业术语词汇对齐替换方法包括如下步骤:
7.s1:构建基于transformer的翻译模型,包括m个编码层和m个解码层,并采用预先收集的源语言与目标语言的平行语料对该翻译模型进行训练;
8.s2:将待翻译的源语言文本输入至步骤s1训练好的基于transformer的翻译模型,翻译得到目标语言的初始译文,记源语言文本中单词数量为dr,初始译文中目标语言单词
数量为d
t
;在得到初始译文的同时获取翻译模型中m个解码层中交叉注意力机制所计算出的大小为d
t
×dr
的相关性矩阵,每个元素代表相应位置的源语言单词和目标语言单词之间的相关性值;根据需要选取m个解码层中的n个解码层作为参考解码层,对应相关性矩阵作为参考相关性矩阵rn,n=1,2,

,n;
9.s3:对于初始译文中每个目标语言单词,分别确定其在n个参考相关性矩阵rn中相关性值最大的源语言文本中源语言单词作为待定源语言单词w
d,n
,并将其对应的相关性值记为c
d,n
,d=1,2,

,d
t
;将每个目标语言单词对应的n个待定源语言单词w
d,n
构成该目标语言单词的待定源语言单词集合φd,记待定源语言单词集合φd中待定源语言单词数量为k,对于第k个待定源语言单词,统计其出现的频率f
k,n
和相关性值的均值加权得到该待定源语言单词的评分α、β表示预设的权值且α+β=1;最后在每个目标语言单词的k个待定源语言单词中,选取评分s
k,n
最大的待定源语言单词作为该目标语言单词的对齐源语言单词,从而得到对齐单词对;
10.s4:根据预先设置的源语言和目标语言的专业术语库,查询其中的每一个源语言术语是否存在于输入的源语言文本中,如果不存在,则不作任何操作,如果存在,则利用步骤s3确定的源语言单词与初始译文中目标语言单词的对齐关系,找到初始译文中与该源语言术语对齐的目标语言单词集合,将初始译文中与该源语言术语对齐的目标语言单词替换为源语言术语对应的专业术语目标语言译文,从而得到最终译文。
11.本发明基于transformer的翻译模型的专业术语词汇对齐替换方法,构建并训练基于transformer的翻译模型,将待翻译的源语言文本输入至训练好的翻译模型,翻译得到目标语言的初始译文,同时获取源语言单词和目标语言单词的多个参考相关性矩阵,根据参考相关性矩阵对源语言单词和目标语言单词进行对齐,得到对齐单词对,查找源语言句子中是否存在预先设置的专业术语库中的源语言术语,如果存在则查询初始译文中与该源语言术语对齐的单词集合,将初始译文中与该源语言术语对齐的目标语言单词替换为专业术语译文,从而得到最终译文。
12.本发明具有以下有益效果:
13.1)本发明借鉴了模型集成的思想,不再仅仅使用翻译模型中解码器最后一层所产生的相关性矩阵,而是联合使用多层的相关性矩阵来实现单词的对齐,增强了单词对齐的准确性和鲁棒性;
14.2)本发明中专业术语的对齐替换与翻译模型译文的生成是独立分割的,即在翻译模型产生了译文之后,才会对译文中的某些单词进行替换和修正,这就保证翻译模型在解码过程中没有受到外界的干扰,不会影响模型本身的翻译性能;
15.3)本发明还可以引入启发式的方法,判断是否要进行专业术语的替换,过滤掉部分错误的对齐结果,从而进一步保证了最终译文的翻译质量。
16.综上所述,本发明能够在不影响翻译模型本身性能的前提下,充分地利用基于transformer的翻译模型的性质,对输入的源语言文本和模型所产生的译文进行准确地对齐,再利用专业术语库对译文中的一些专业术语的翻译进行修正,从而提高翻译模型对于特定领域文本的翻译准确率。
附图说明
17.图1是本发明基于transformer的翻译模型的专业术语词汇对齐替换方法的具体实施方式流程图;
18.图2是本实施例中基于transformer的翻译模型的结构图。
具体实施方式
19.下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
20.实施例
21.图1是本发明基于transformer的翻译模型的专业术语词汇对齐替换方法的具体实施方式流程图。如图1所示,本发明基于transformer的翻译模型的专业术语词汇对齐替换方法的具体步骤包括:
22.s101:构建并训练基于transformer的翻译模型:
23.transformer是论文“vaswani a,shazeer n,parmar n,et al.attention is all you need[j].arxiv,2017.”中所提出的一种结构,该结构抛弃了常见的rnn,lstm等结构,只使用attention机制,提高了对于长句子的处理能力,从而广泛应用于nlp领域,例如机器翻译、问答系统、文本摘要和语音识别等等方向。因此,本发明构建基于transformer的翻译模型,包括m个编码层和m个解码层,并采用预先收集的源语言与目标语言的平行语料对该翻译模型进行训练。
[0024]
图2是本实施例中基于transformer的翻译模型的结构图。如图2所示,本实施例中基于transformer的翻译模型采用6层编码层(encoder)和6层解码层(decoder)。编码器encoder中的每一层都包含两个模块,一个自注意力self-attention模块和一个前馈神经网络模块,自注意力self-attention机制能帮助当前节点关注到输入句子全局的信息,从而获取到上下文的语义。解码器decoder的每一层也包含编码层提到的两个模块,但是在这两个模块中间还有一个交叉注意力机制cross-attention模块。该模块能够帮助当前节点获取到源语言句子中需要关注的重点内容。因此,可以利用cross-attention计算出的相关性矩阵,包含着源语言句子和模型预测译文单词之间的对齐信息。
[0025]
s102:翻译得到译文并获取参考相关性矩阵:
[0026]
将待翻译的源语言文本输入至步骤s101训练好的基于transformer的翻译模型,翻译得到目标语言的初始译文,记源语言文本中单词数量为dr,初始译文中目标语言单词数量为d
t
。在得到初始译文的同时获取翻译模型中m个解码层中交叉注意力机制所计算出的大小为d
t
×dr
的相关性矩阵,其中每个元素代表相应位置的源语言单词和目标语言单词之间的相关性值。根据需要选取m个解码层中的n个解码层作为参考解码层,对应相关性矩阵作为参考相关性矩阵rn,n=1,2,

,n。
[0027]
可见,本发明使用了多个解码层的相关性矩阵,而不是单单只依赖于最后一层的相关性矩阵进行对齐。因为在训练的过程中,训练集中的数据往往会带有噪声,从而导致相关性矩阵的计算偶尔会出现偏差,只采用最后一层相关性矩阵所得到的对齐结果鲁棒性较差,在某些情况下会出现明显的错误。而通过利用多层参考解码器的相关性矩阵,可以消除
一定噪声的影响,增强对齐算法的鲁棒性。
[0028]
由于翻译模型的各层解码层之间可能实现的功能存在着差异,所以它们所对应的相关性矩阵也存在着一定的区别。本发明发现,并不是简单地融合所有解码层的相关性矩阵,就可以得到更加准确的对齐结果。于是,为了使选取的相关性矩阵更加准确,本发明通过设置实验的方式,来寻找最优的解码层相关性矩阵的组合,具体方法如下:
[0029]
使用外部对齐工具(例如giza++等),获取源语言和目标语言的对齐结果作为其真实的标签,然后将源语言和目标语言输入至翻译模型,获取翻译模型m个解码层中交叉注意力机制所计算出的相关性矩阵,分别基于每个相关性矩阵进行对齐抽取,将抽取出的对齐结果与真实的标签进行对比,统计对齐结果的对齐错误率(alignment error rate,aer),将对齐错误率小于预设阈值的相关性矩阵对应的解码层作为参考解码层。
[0030]
以图2所示翻译模型为例,经实验发现6个解码层中后三层所产生的对齐错误率低于预设阈值,而前三层由于是解码器的浅层,可能与后三层所要完成的任务不同,所以产生的对齐结果与后三层较为不同,导致其对齐错误率较高。因此本实施例中只使用了后三层的相关性矩阵作为对齐的参考依据。
[0031]
s103:基于参考相关性矩阵进行单词对齐:
[0032]
由于注意力机制的原理,在翻译过程中,训练好的翻译模型所产生的相关性矩阵天然就反映出了源语言文本中每一个单词的表示对于生成译文中的每一个单词所作的贡献。贡献的比例越高,相关性矩阵中对应的相关性的值越大,那么该源语言单词和目标语言单词对齐的概率就越大。因此本发明基于步骤s102中n个参考相关性矩阵来确定对齐结果,具体方法如下:
[0033]
对于初始译文中每个目标语言单词,分别确定其在n个参考相关性矩阵rn中相关性值最大的源语言文本中源语言单词作为待定源语言单词w
d,n
,并将其对应的相关性值记为c
d,n
,d=1,2,

,d
t
。将每个目标语言单词对应的n个待定源语言单词w
d,n
构成该目标语言单词的待定源语言单词集合φd,记待定源语言单词集合φd中待定源语言单词数量为k,对于第k个待定源语言单词,统计其出现的频率f
k,n
(即在n个待定源语言单词w
d,n
的出现次数和n的比值)和相关性值的均值加权得到该待定源语言单词的评分α、β表示预设的权值且α+β=1。最后在每个目标语言单词的k个待定源语言单词中,选取评分s
k,n
最大的待定源语言单词作为该目标语言单词的对齐源语言单词,从而得到对齐单词对。
[0034]
本实施例中,设置源语言是英文,目标语言是中文,源语言文本为“covid-19is an infectious disease”,得到的译文为“肺炎是一种传染病”。如前所述,本实施例中采用的是最后3个解码层得到的相关性矩阵作为参考相关性矩阵。表1是本实施例中第1个参考相关性矩阵。
[0035] covid-19isaninfectiousdisease肺炎0.630.120.080.040.13是0.210.450.120.060.23一种0.110.180.280.220.21传染病0.020.220.070.330.36
[0036]
表1
[0037]
表2是本实施例中第2个参考相关性矩阵。
[0038] covid-19isaninfectiousdisease肺炎0.330.130.080.340.12是0.240.350.180.160.07一种0.160.110.350.220.21传染病0.030.120.170.320.36
[0039]
表2
[0040]
表3是本实施例中第3个参考相关性矩阵。
[0041] covid-19isaninfectiousdisease肺炎0.460.180.090.130.14是0.260.350.130.140.12一种0.200.330.240.100.13传染病0.170.140.010.370.31
[0042]
表3
[0043]
首先筛选每个目标语言单词在每个参考相关性矩阵中相关性最大的源语言单词作为待定源语言单词。表4是本实施例中各个源语言单词的待定目标语言单词及其评分列表。
[0044] r1r2r3肺炎0(0.63)3(0.34)0(0.46)是1(0.45)1(0.35)1(0.35)一种2(0.28)2(0.35)1(0.33)传染病4(0.36)4(0.36)3(0.37)
[0045]
表4
[0046]
表4中以列号来代替源语言单词,括号内为对应相关性值。以目标语言单词“肺炎”为例,其待定源语言单词包括:“covid-19”,出现频率为2/3,相关性均值为0.545;“infectious”,出现频率为1/3,相关性均值为0.34。本实施例中设置权值α、β均为0.5,则两个待定源语言单词对应的评分分别为0.61、0.34,因此其对齐结果为“covid-19”。同理可得“是”的对齐结果为“is”,“一种”的对齐结果为“an”,“传染病”的对齐结果为“infectious”。
[0047]
s104:专业术语查询和替换:
[0048]
根据预先设置的源语言和目标语言的专业术语库,查询其中的每一个源语言术语是否存在于输入的源语言文本中,如果不存在,则不作任何操作,如果存在,则利用步骤s103确定的源语言单词与初始译文中目标语言单词的对齐关系,找到初始译文中与该源语言术语对齐的目标语言单词集合,将初始译文中与该源语言术语对齐的目标语言单词替换为源语言术语对应的专业术语目标语言译文,从而得到最终译文。
[0049]
一个源语言术语中有可能包含多个单词,对于源语言句子中存在的源语言术语,其可能对齐到初始译文中的多个单词。因此可以根据该情况对源语言文本中的源语言术语使用启发式方法判断是否要对源语言文本存在的该源语言术语执行替换操作,具体方法如
下:
[0050]
将待替换的源语言术语中包含的单词个数记为l1,将初始译文中与该待替换源语言术语对齐的单词个数记为l2,如果v
×
l1<l2<u
×
l1,则执行替换操作,即将初始译文中与源语言术语对应的部分替换为术语库中对应的术语译文,否则不执行替换操作,其中v和u是根据源语言和目标语言间的翻译习惯所预设的系数。
[0051]
采用以上方法,可以保证最终的译文不会受到这些错误对齐结果的影响。
[0052]
表5是本实施例中术语库示例。
[0053]
covid-19etoposidecisplatinmometasonesars-cov-2新冠肺炎依托泊苷顺铂莫米松新型冠状病毒
[0054]
表5
[0055]
在本实施例中,首先发现只有术语“covid-19”存在于源语言的句子中,且它的对齐结果为[“covid-19”:“肺炎”]。
[0056]
对于启发式的算法,设置的系数u=2、v=0.5,而对于术语“covid-19”的对齐结果[“covid-19”:“肺炎”],其中源语言术语的长度l1=1,与其对应的单词集合“肺炎”的长度l2=1,未超出所设置的范围,因此可以为术语“covid-19”执行替换操作。
[0057]
于是,将“肺炎”替换为术语库中的术语译文“新冠肺炎”。因此源语言文本“covid-19is an infectious disease”所得到的最终译文为“新冠肺炎是一种传染病”。可见,采用本发明处理后的译文和初始译文相比更加准确。
[0058]
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1