融合BERT与词嵌入双重表征的汉越神经机器翻译方法

文档序号:28417521发布日期:2022-01-08 03:29阅读:356来源:国知局
融合BERT与词嵌入双重表征的汉越神经机器翻译方法
融合bert与词嵌入双重表征的汉越神经机器翻译方法
技术领域
1.本发明涉及融合bert与词嵌入双重表征的汉越神经机器翻译方法,属于自然语言处理技术领域。


背景技术:

2.汉语-越南语的机器翻译需求不断增加,神经机器翻译是目前主流的机器翻译方法,但在汉-越这类低资源的机器翻译任务中,由于双语平行语料规模小,神经机器翻译的效果并不理想。考虑到单语语料丰富,海量的单语语料进行自监督学习能够得到包含丰富语言信息的预训练语言模型,将该预训练语言模型融入神经机器翻译系统对低资源的机器翻译具有重要意义,故提出了融合bert与词嵌入双重表征的汉越神经机器翻译方法。
3.目前,bert预训练语言模型在句法分析、文本分类等nlp任务中取得优异成绩,证明该语言模型内包含丰富的语言信息,这些语言信息包含在编码后得到的表征向量中,无法进行直接观察,因此jinhua zhu等人提出bert-fused算法实现把bert预训练语言模型编码输出的隐状态随机融入到transformer模型的编码器和解码器结构中,将bert预训练语言模型输出的隐状态向量和词嵌入层输出隐状态向量通过随机概率加权融合的方式,以此生成包含预训练语言模型内语言信息和词嵌入层语言信息的隐状态,实现将bert预训练语言模型中包含的语言信息用于神经机器翻译,该方法在多项公开数据集的翻译任务上相较于transformer模型取得了较大的提升,证明bert预训练语言模型作为外部知识库融入神经机器翻译模型的可行性。但是jinhua zhu等人的方法依赖于对预训练的机器翻译模型做参数初始化,每一层都需要引入预训练语言模型的知识,而且他们的特征融合方式是简单的拼接,使用交叉注意力机制使预训练语言模型信息受到词嵌入信息,最终特征融合的时候用的是随机权重相加的方式。
4.因此,本发明针对如何在低资源神经机器翻译中有效融入bert预训练语言模型内语言信息方向开展研究工作。


技术实现要素:

5.本发明针对汉语-越南语神经机器翻译因双语平行句对数据不足限制翻译性能的问题,提出了融合bert与词嵌入双重表征的汉越神经机器翻译方法。该方法对源语言序列分别进行bert预训练语言模型表征和词嵌入表征,再利用注意力机制实现双重表征的自适应动态融合,增强源语言的表示学习能力,并在汉语-越南语、英语-越南语翻译任务上进行了多组实验,结果表明,使用bert预训练模型表征与词嵌入表征的自适应动态融合,能够有效将bert预训练语言模型内的语言信息融入神经机器翻译模型中,有效提升了汉语-越南语神经机器翻译模型性能。
6.本发明的技术方案是:基于融合bert与词嵌入双重表征的汉越神经机器翻译方法,所述基于融合bert与词嵌入双重表征的汉越神经机器翻译方法的具体步骤如下:
7.step1、收集用于训练平行句对抽取模型的汉越平行语料;
8.step2、收集已经预训练的中文bert预训练语言模型参数以及词典;
9.step3、对源语言序列分别进行bert预训练语言模型预训练表征与词嵌入表征;
10.step4、使用交叉注意力机制使经过bert预训练语言模型预训练的源语言序列表征受到词嵌入表征的约束,将经过bert预训练语言模型训练后的源语言序列表征和词嵌入表征进行拼接融合得到融合表征作为编码器的输入;
11.step5、使用编码器使得融合表征中两种不同来源的表征达到深层动态交互融合;
12.step6、利用bert预训练语言模型与词嵌入双重表征进行神经机器翻译模型的训练。
13.作为本发明的进一步方案,所述step1中,运用爬虫技术在互联网收集了汉越双语平行句对,将收集后得到的数据进行了清洗以及tokenize处理,构建成了汉越双语平行句对的数据集,把该数据集作为实验训练、测试、验证数据。
14.作为本发明的进一步方案,所述step2中,收集google发布的中文bert预训练语言模型参数以及词典,在pytorch框架下将模型参数和词典实例化为bert预训练语言模型。
15.作为本发明的进一步方案,所述step3的具体步骤为:
16.step3.1、对汉越单语语料根据bert预训练语言模型词典以及训练语料词典进行分词;得到输入序列的两种id序列;
17.step3.2、将两种分词后得到的本文id分别输入词嵌入以及bert预训练语言模型进行表征。
18.作为本发明的进一步方案,所述step4的具体步骤为:
19.step4.1、使用bert预训练语言模型表征和词嵌入表征进行交叉注意力机制计算,使用词嵌入表征作为查询条件,通过bert预训练语言模型表征计算得到注意力权重,之后用该权重和bert预训练语言模型表征进行计算,使bert预训练语言模型表征受到词嵌入表征约束;
20.step4.2、将词嵌入表征进行自注意力机制计算,加强该表征内部联系;
21.step4.3、将step4.1和step4.2得到的表征进行拼接得到融合表征;
22.作为本发明的进一步方案,所述step5中,编码器设计自注意力机制使得融合表征中两种不同来源的表征进行深层动态交互融合。
23.作为本发明的进一步方案,所述step6中,经过step5自注意力机制后得到的表征参与transformer模型的训练,实现将bert预训练语言模型与经过transformer语言模型训练的词嵌入部分的融合。
24.本发明提出融合bert与词嵌入双重表征的汉越南语神经机器翻译方法。相较于jinhua zhu等人提出的方法,本发明提出的方法仅使用一次预训练语言模型,模型结构更为简单,解决了jinhua zhu等人的方法依赖于对预训练的机器翻译模型做参数初始化,本发明不需要预先训练机器翻译模型,在信息融合方面使用自适应融合的方式替代了随机加权融合的方式,在汉越神经机器翻译任务上实现获得了更大的性能提升。而且他们的特征融合方式是简单的拼接,本发明方法虽然使用了jinhua zhu等人提出的使用交叉注意力机制使预训练语言模型信息受到词嵌入信息的约束,但是jinhua zhu等人最终特征融合的时候用的是随机权重相加的方式,而本发明将两个特征向量拼接后,由自注意力机制对融合后的向量进行内部信息的交互融合。相比于之前的工作,本发明既降低了模型复杂程度,又
提升了性能。
25.本发明的有益效果是:
26.1、本发明使用融合bert与词嵌入双重表征的汉越神经机器翻译方法,其效果明显优于基于transformer的模型,提高了整体机器翻译模型的性能。
27.2、本发明采用多组注意力机制实现两种不同来源表征的融合,实验证明该融合方式相较于bert-fused算法提出的融合方式在bleu指标上获得较大提升;
28.3、本发明既降低了模型复杂程度,又提升了性能;
29.4、本发明方法对源语言序列分别进行bert预训练语言模型表征和词嵌入表征,再利用注意力机制实现双重表征的自适应动态融合,增强源语言的表示学习能力,并在汉语-越南语、英语-越南语翻译任务上进行了多组实验,结果表明,使用bert预训练模型表征与词嵌入表征的自适应动态融合,能够有效将bert预训练语言模型内的语言信息融入到神经机器翻译模型中,有效提升了汉语-越南语神经机器翻译模型性能,解决了因为越南语是低资源语言而导致汉语与越南语的神经机器翻译的性能并不理想的问题。
附图说明
30.图1为本发明提出的融合bert与词嵌入双重表征的汉越神经机器翻译方法流程图。
具体实施方式
31.实施例1:如图1所示,融合bert与词嵌入双重表征的汉越神经机器翻译方法,
32.所述基于融合bert与词嵌入双重表征的汉越神经机器翻译方法的具体步骤如下:
33.step1、收集用于训练平行句对抽取模型的汉越平行语料;
34.step2、收集已经预训练的中文bert预训练语言模型参数以及词典;
35.step3、对源语言序列分别进行bert预训练语言模型预训练表征与词嵌入表征;
36.step4、使用交叉注意力机制使经过bert预训练语言模型预训练的源语言序列表征受到词嵌入表征的约束,将经过bert预训练语言模型训练后的源语言序列表征和词嵌入表征进行拼接融合得到融合表征作为编码器的输入;
37.step5、使用编码器使得融合表征中两种不同来源的表征达到深层动态交互融合;
38.step6、利用bert预训练语言模型与词嵌入双重表征进行神经机器翻译模型的训练。
39.作为本发明的进一步方案,所述step1中,运用爬虫技术在互联网收集了汉越双语平行句对,将收集后得到的数据进行了清洗以及tokenize处理,构建成了汉越双语平行句对的数据集,把该数据集作为实验训练、测试、验证数据。
40.作为本发明的进一步方案,所述step2中,收集google发布的中文bert预训练语言模型参数以及词典,在pytorch框架下将模型参数和词典实例化为bert预训练语言模型。
41.作为本发明的进一步方案,所述step3的具体步骤为:
42.step3.1、对汉越单语语料根据bert预训练语言模型词典以及训练语料词典进行分词;得到输入序列的两种id序列;
43.step3.2、将两种分词后得到的本文id分别输入词嵌入以及bert预训练语言模型
进行表征。
44.作为本发明的进一步方案,所述step4的具体步骤为:
45.step4.1、使用bert预训练语言模型表征和词嵌入表征进行交叉注意力机制计算,使用词嵌入表征作为查询条件,通过bert预训练语言模型表征计算得到注意力权重,之后用该权重和bert预训练语言模型表征进行计算,使bert预训练语言模型表征受到词嵌入表征约束;
46.step4.2、将词嵌入表征进行自注意力机制计算,加强该表征内部联系;
47.step4.3、将step4.1和step4.2得到的表征进行拼接得到融合表征;
48.作为本发明的进一步方案,所述step5中,编码器设计自注意力机制使得融合表征中两种不同来源的表征进行深层动态交互融合。
49.作为本发明的进一步方案,所述step6中,经过step5自注意力机制后得到的表征参与transformer模型的训练,实现将bert预训练语言模型与经过transformer语言模型训练的词嵌入部分的融合。
50.为验证上述实施例中融合bert与词嵌入双重表征的汉越神经机器翻译的有效性,进行如下5个汉越神经机器翻译方法在翻译性能上的比较实验:
51.⑴
rnnsearch:基于循环神经网络结构的神经机器翻译方法。
52.⑵
cnn:基于卷积神经网络结构的神经机器翻译方法。
53.⑶
transformer:基于transformer网络结构的神经机器翻译方法。
54.⑷
bert-fused:在transformer编码器以及解码器融入bert预训练语言模型的神经机器翻译方法。
55.⑸
ours:融合bert与词嵌入双重表征的神经机器翻译方法。
56.以上方法在实验中使用相同的训练集、测试集以及验证集,其中bert-fused与ours方法使用相同预训练语言模型,实验结果见表1。
57.表1中越神经机器翻译对比实验结果
[0058][0059]
从表1实验结果中可见,本发明将源语言序列进行bert预训练语言模型预训练与词嵌入双重表征融合后相较于transformer模型在中越数据上获得了1.99个bleu值的性能提升,说明使用bert预训练语言模型能够补充低资源场景下神经机器翻译模型语言信息捕捉能力,达到提升中越神经机器翻译模型性能的目的。本发明相较于bert-fused方法有在中越数据集上获得了1.26个bleu值的提升,说明本发明在低资源的中越神经机器翻译任务中相较于bert-fused方法能够更加有效的利用到bert预训练语言模型中的语言信息。
[0060]
为验证本文发明在不同数据量低资源神经机器翻译的效果,设计了3组不同数据量下ours方法相对于transformer方法的bleu值提升幅度的对比实验:
[0061]

127.4k汉越数据作为训练数据,对比两种方法间的bleu值变化幅度。
[0062]

随机抽取100k汉越数据作为训练数据,对比两种方法间的bleu值变化幅度。
[0063]

随机抽取70k汉越数据作为训练数据,对比两种方法间的bleu值变化幅度。
[0064]
三组实验中使用相同验证集以及测试集、模型超参数以及同一个中文bert预训练语言模型,实验结果见表2。
[0065]
表2中越不同数据量对比实验结果
[0066][0067]
从表2实验结果中可见,在70k、100k、127.4k中越数据实验中,本发明相对于transformer的bleu值提升幅度分别为4.34、2.12、1.99,呈现逐步下降趋势。该变化趋势说明本发明相对于transformer模型在bleu值上的提升随着训练数据的增大提升幅度不断下降。证明本发明在训练数据越少时bert预训练语言模型对神经机器翻译模型补充作用越大,在数据量仅为几万规模低资源神经机器翻译任务中能够取得较好表现。
[0068]
为探究在使用本发明提出的表征融合方式在编码器中引入预训练语言模型对翻译模型的影响,设计了以下3组消融实验:
[0069]

仅融合bert预训练语言模型与词嵌入双重表征做为编码器第一层的输入。
[0070]

在编码器前三层的输入中融入bert预训练语言模型。
[0071]

在编码器全部层的输入中融入bert预训练语言模型。
[0072]
三组实验中使用相同的127.4k汉越数据做为训练集,使用的验证集、测试集、模型超参数以及中文bert预训练语言模型相同,实验结果见表3。
[0073]
表3多层融入预训练语言模型消融实验结果
[0074][0075]
从该实验结果中可见,本发明中融合bert与词嵌入双重表征的结果做为编码器第一层的输入能够达到最佳性能,将编码器前三层和全部层的输入融入bert预训练语言模型对神经机器翻译模型性能提升并不大,bert预训练语言模型对神经机器翻译模型有着较好的补充能力,说明本发明提出的表征融合方法在浅层网络中即可充分利用到预训练语言模型的语言知识,达到提升神经机器翻译模型性能的目的。
[0076]
为探究使用本发明在解码阶段融入预训练语言模型信息对翻译模型性能的影响,
我们设计了以下消融实验:
[0077]

bert预训练语言模型仅与编码器输出隐状态向量融合做为解码器输入。
[0078]

bert预训练语言模型仅与词嵌入融合做为编码器输入。
[0079]

bert预训练语言模型与词嵌入融合做为编码器输入,编码阶段结束后将bert预训练语言模型与编码器输出的隐状态向量融合做为解码器输入。
[0080]
三组实验中使用相同的127.4k汉越数据做为训练集,使用的验证集、测试集、模型超参数以及中文bert预训练语言模型相同,实验结果见表4。
[0081]
表4解码阶段融入预训练语言模型消融实验结果
[0082][0083]
从该实验结果中可见,使用本发明在解码阶段融入bert预训练语言模型对神经机器翻译模型性能造成了负影响。仅在解码阶段融入bert预训练语言模型,导致神经机器翻译性能低于基准模型transformer,在编码阶段和解码阶段同时融入bert预训练语言模型表现也低于仅在编码阶段融入bert预训练语言模型。证明在解码阶段使用本发明提出的表征融合方法融入bert预训练语言模型对神经机器翻译模型性能没有提升作用。
[0084]
为验证本发明在其它语种翻译任务上有效性,还在iwslt15英越翻译数据集上进行了实验,该数据集数据规模如表5所示。
[0085]
表5英越数据集
[0086][0087]
在此数据集上进行rnnsearch、cnn、transformer、bert-fused方法和ours方法的对比实验,实验结果见表6。
[0088]
表6英越神经机器翻译对比实验结果
[0089][0090]
从表6实验结果中可见,本发明提出的融合bert与词嵌入双重表征的汉越神经机器翻译方法相较于transformer模型在英越数据上获得了1.56个bleu值的性能提升,相较于bert-fused方法获得了0.41个bleu值的提升,说明该方法不仅适用于中越神经机器翻
译,在其他低资源神经机器翻译任务中使用源语言的预训练语言模型和词嵌入层进行双重表征同样能够提升神经机器翻译模型性能。
[0091]
实施例2:如图1所示,融合bert与词嵌入双重表征的汉越神经机器翻译方法,具体步骤如下:
[0092]
step1、首先运用爬虫技术在互联网上收集了大量汉越平行句对,将收集后得到的数据进行清洗以及tokenize处理,这样就构建成了汉越双语平行句对的数据集,把该数据集作为实验训练、测试、验证数据;
[0093]
step2、对处理后的数据集进行词嵌入,该部分不做额外设计,将输入文本根据词嵌入词典分词后输入词嵌入模块,得到输入文本的词嵌入表征e
embedding

[0094]
step3、将输入文本根据bert预训练语言模型词典分词后得到输入序列x=(x1,...,xn),将输入序列输入到bert预训练语言模型后,在该模型的每一层都将输出一个隐状态向量,本方法使用最后一层输出的隐状态向量h6做为该部分的输出e
bert-out

[0095]
step4、使用e
bert-out
和词嵌入表征e
embedding
进行交叉注意力机制计算,将词嵌入部分输出e
embedding
做为query、e
bert-out
作为key计算注意力权重,将e
bert-out
做为value和注意力权重相乘,使经过bert预训练语言模型预训练的源语言序列表征受到词嵌入表征的约束,计算过程如式(1)(2)(3)(4)所示,运用交叉注意力机制后使e
bert-out
受到e
embedding
约束后,得到新的表征的e'
bert-out

[0096]
query=e
embedding
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0097]
value=key=e
bert-out
ꢀꢀꢀꢀꢀꢀ
(2)
[0098][0099]
e'
bert-out
=attention(query,key,value)
ꢀꢀꢀ
(4)
[0100]
step5、对e
embedding
进行自注意力机制计算进行表征加强,计算过程如式(5)(6)所示,得到e'
embedding

[0101]
query=value=key=e
embedding
ꢀꢀ
(5)
[0102]
e'
embedding
=attention(query,key,value)
ꢀꢀ
(6)
[0103]
step6、将e'
bert-out
和e'
embedding
进行拼接后经过线性变换维度后得到新的文本序列隐状态向量e
bert-embedding
,计算过程如式(7)(8)所示。
[0104]econtact
=contact(e'
bert-out
,e'
embedding
)
ꢀꢀ
(7)
[0105]ebert-embedding
=linear(e
contact
)
ꢀꢀ
(8)
[0106]
step7、bert预训练语言模型表征与词嵌入表征融合模块得到包含e'
bert-out
和e'
embedding
信息的表征向量e
bert-embedding
,两部分信息未建立联系,当e
bert-embedding
进入编码器第一层后进行一次自注意力机制计算,使得两部分原本独立的部分建立起联系,得到e'
bert-embedding
,计算过程如式(9)(10)所示。
[0107]
query=value=key=e
bert-embedding
ꢀꢀꢀ
(9)
[0108]
e'
bert-embedding
=attention(query,key,value)
ꢀꢀ
(10)
[0109]
step8、经过自注意机制计算后的得到了e'
bert-embedding
,实现了e
bert-out
与e
embedding
的动态融合,e'
bert-embedding
经过前馈神经网络得到编码器第一层的输出h1,再经过多层编码层后最终得到编码器最终输出,计算过程如式(11)(12)(13)所示。
[0110]
h1=fnn(e'
bert-embedding
)
ꢀꢀꢀꢀꢀꢀ
(11)
[0111]ht
=attention(h
t-1
,h
t-1
,h
t-1
),t>1
ꢀꢀꢀ
(12)
[0112]ht
=fnn(h
t
),t>1
ꢀꢀꢀꢀꢀꢀ
(13)
[0113]
step9、为验证审计机器翻译性能,使用bleu值做为评价指标,bleu计算方式如式(14)所示。
[0114][0115]
上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1