(School of Computer Science and Technology,Soochow University,Suzhou 215006,China)
DOI: 10.6043/j.issn.0438-0479.201908023
备注
为了将统计机器翻译技术中的规则信息引入到端到端的神经网络模型中,提出了一种将规则信息转化为近似等价的序列信息的方法.在此基础上,提出了两种融入规则信息的神经机器翻译模型,并在基于注意力机制的循环神经网络(RNN)模型上进行了验证.相对于未融入规则信息的基准模型在美国国家标准与技术研究院(NIST)评测集上的评测结果,上述两种模型的双语互译评估(BLEU)值均有所提高.实验表明,将规则等外部知识融入到神经机器翻译系统中是提升模型翻译质量的一种有效途径.
Neural machine translation is currently the most popular research method in the field of machine translation.Introduction of external knowledge into the neural machine translation system has become a research hotspot in this field.To introduce the rule information in statistical machine translation technology into the end-to-end neural network model,we have developed a method to convert the rule information into approximately equivalent sequence information.On this basis,we propose two neural machine translation model frameworks that incorporate rule information,and validate these methods on the attention-based RNN model and find that these methods can achieve a better BLEU point on the NIST evaluation set.Experimental results show that integrating external knowledge such as rules into the neural machine translation system is an effective way to improve the quality of model translation.
引言
机器翻译旨在依赖计算机强大的计算能力,通过设计相应的算法,从而实现从一种自然语言到另一种自然语言的翻译[1].20世纪70年代,自Chomsky提出转换生成文法后,基于规则的机器翻译开始兴起[2].进入20世纪90年代,IBM的研究人员另辟蹊径,提出了统计机器翻译(SMT)技术.
近几年来,神经机器翻译(NMT)技术经过不断发展,已经成为机器翻译的主流技术.2014年,Sutskever等[3]提出一种基于编码器-解码器框架的翻译模型,当时该模型的翻译性能还没有超过传统基于短语的SMT[4].Bahdanau等[5]于2015年在基于编码器-解码器的模型基础上,将注意力机制引入到NMT模型中,使其翻译性能在多个主流评测任务上都超过了传统的SMT模型.Vaswani等[6]在2017年提出了全新的NMT模型框架——Transformer,并进一步提升了NMT的性能.
NMT技术与SMT技术相比,虽然在翻译性能上得到了提升,但其可解释性却远低于SMT技术.这是因为NMT没有利用可以解释的外部知识,只是依赖于大量平行语料简单地训练一个大型的神经网络对输入句子生成一个最可能的假设翻译.因此将知识融于NMT中一直是该领域的一个研究热点.尤其是外部知识的引入不仅可以带来翻译性能的提升,也可以增加NMT的可解释性.到目前为止,国内外学者在此方向上提出了很多值得借鉴的方法与工作.例如,在融入外部的统计信息方面,Sennrich等[7]在2016年把词性、词形、依存句法标签等外部知识以特征向量的形式融入到NMT当中,并取得了翻译性能的提升.2017年,Li等[8]从数据和模型两个角度切入,分别提出了3种融合源端句法信息的NMT模型.同年,Wang等[9]提出了基于SMT推荐的NMT模型.在改善模型结构以更合理地利用NMT模型内部的隐含知识方面,Kuang等[10]在2018年提出了桥接源端和目标端嵌入(embedding)的NMT模型; Dou等[11]在2019年提出了对Transformer模型中的层信息进行动态融合的方法.
汉语除了常用的词性、词形、句法标签等通用的语言知识外,把包含丰富的语义、语音等知识的汉字结构信息融合到汉语的翻译系统中也是目前的一个研究热点.Kuang等[12]在2018年将汉字的偏旁部首信息以与词向量相互结合的方式引入到NMT模型中.2019年,Wu等[13]提出了一种田字格-卷积神经网络(Tianzige-CNN)架构以专门学习中文的字形向量,并且在包括中英机器翻译的13个任务上取得了当前的最好评分.
参考之前的相关工作,要将规则这类具有层次结构的信息融入到NMT模型中,只有两个方法:1)将原有的端到端模型改为具有层次结构的模型以利用这些层次化的信息,2)把这些层次化的信息转化为序列信息.因为端到端模型的性能已经得到了普遍验证,而且修改模型的方法往往不具有普适性,效果可能也十分有限.所以,本文采用了第2种方法,将融入规则信息的序列引入NMT模型,提出了一种将SMT中的规则信息融入到NMT系统中的方法,并在基于注意力机制的循环神经网络(RNN)模型上进行了验证.
1 基线模型
本研究采用的基线模型为基于注意力机制的RNN模型,其模型结构如图1所示.
基于注意力机制的RNN模型的编码器由一个前向RNN和一个后向RNN组成,并对源句子的单词序列x=(x1,x2,…,xT)从两个方向分别编码,然后再对得到的中间向量hj→和hj←进行拼接得到hj,进而得到源句子的隐藏层表示h=(h1,h2,…,hT).
解码器每生成一个单词目标端yt前,首先注意力机制会计算出每个源端单词对当前生成单词的贡献度αtj.
αtj=(exp(etj))/(∑Tk=1exp(etk)),(1)
etj=f(st-1,hj),(2)
其中,f(·)是非线性函数,st-1是前一时刻的隐藏层状态.
然后对注意力权重αtj和源端隐藏层表示hj之积线性求和,可计算得到生成当前单词所需的文本向量ct,即
ct=∑Tj=1αtjhj.(3)
最终,当前单词的隐藏层状态st可由st-1、yt-1和ct计算得出,从而得到生成当前单词yt所需的概率分布p,即
st=g(st-1,yt-1,ct),(4)
p(yt-1|y<t,x)=softmax(Ø(st,yt-1,ct)).(5)
其中,g为非线性函数,Ø表示前馈网络的变换函数.整个模型使用最大似然函数来训练所有的参数集合θ,得到:
θ ∧=arg maxθ1/N∑Nn=1log p(yn|xn,θ),(6)
其中,(xn,yn)表示语料中的平行句对,N表示训练语料的大小.
2 融入规则信息的方法
本文融入规则的方法是将层次化的规则信息首先转化为序列化信息,然后以特征向量的形式将规则信息融入到基线中.
2.1 规则信息的获取与转化本文采用开源的基于层次短语的SMT系统CDEC[14]来抽取训练语料中的规则,即将源端句子输入到基于层次短语的SMT系统中进行解码,以获取在构建推导树的过程所用到的形如X→〈α,β,~〉的规则以及当前的翻译状态〈α',β',~〉.其中,X表示非终结符,α、α'、β和β'均表示非终结符和终结符的混合序列,~表示非终结符之间的一一对应关系.
将SMT中的规则信息转化为对应的序列信息时,需要同时考虑当前使用规则以及当前的翻译状态.在转化过程中,将源端的单词打上X、T及O的标签,其中,X表示当前使用规则的非终结符部分,T表示终结符部分,O表示未被当前使用规则覆盖的部分.为了用尽可能少的标签序列表示整个推导过程,本文在转化过程中作了以下限制:
1)如果在当前翻译状态或使用规则中包含连续的非终结符,则不做转化;
2)如果上一个标签序列非空且当前使用规则包含多个非终结符,则只考虑规则中最左端的非终结符部分;
3)如果上一个标签序列中不含X,则转化结束.
为了更清晰地说明转化过程,以下面的句对为例:
犬类是与人类有感情的少数物种之一.
Canine is one of the few species that has relationship with humans.
其具体的SMT过程和相应的转化序列如图2所示,规则r1到r4因为当前翻译状态或使用规则中包含连续的非终结符,则不做转化得到对应的转化序列“NULL”(其中花括号中的左序列表示当前翻译状态,右序列表示当前步的标签序列); r8中包含2个非终结符而上一个标签序列非空,所以只考虑规则中的最左端的非终结符X1,另一个非终结符X2对应部分被打上标签O; 使用规则r9后得到的标签序列不含X,转化结束.
{S1,NULL}〖FY(1〗r1〖FY)〗{S2X3,NULL}
〖FY(1〗r2〖FY)〗{S4X5X3,NULLL}
〖FY(1〗r3〖FY)〗{X6X5X3,NULL}
〖FY(1〗r4〖FY)〗{犬类X5X3,NULL}
〖FY(1〗r5〖FY)〗{犬类是X3,O T X X X X X X X X}
〖FY(1〗r6〖FY)〗{犬类是X7之一,O O X X X X X X X T}
〖FY(1〗r7〖FY)〗{犬类是X8的X9之一,O O X X X X T X X O}
〖FY(1〗r8〖FY)〗{犬类是与X1有X2的X9之一,O O T X T X O O O O}
〖FY(1〗r9〖FY)〗{犬类是与人类有X2的X9之一,O O O T O O O O O O}
r1:S1→〈S2X3,S2X3〉 r6:X3→〈X7之一,one of X7〉
r2:S2→〈S4X5,S4X5〉r7:X7→〈X8的X9,the X9 that X8〉
r3:S4→〈X6,X6〉r8:X8→〈与X1有X2,have X2 with X1〉
r4:X6→〈犬类,Canine〉r9:X1→〈人类,humans〉
r5:X5→〈是,is〉
图2 基于层次短语的SMT及其序列转化过程示例
Fig.2 Examples of SMT based on hierarchical phrase and its sequence conversions因为每个句子解码用的规则数不一致,所以最终得到的转化序列数也不一致,而且每个转化序列对应的规则质量也有高有低,比如在上一例子中,质量较高的3条规则分别是:
<与X1有X2, have X2 with X1>,
<X1的X2, the X2 that X1>,
<X1之一, one of X1>.
因为这些规则在SMT解码过程中不仅给出了合适的翻译骨架,还可以完成对翻译单元的调序,所以尽可能使用这些规则的标签序列有利于提高翻译质量.在解码过程中,考虑到一开始大多使用胶水规则,而解码结束阶段采用的规则大多只表示单词之间的简单映射关系,如图2中的规则r9.因此本文在所有转化序列的中间开了一个大小为5的窗口,用于选择融入到NMT系统中的规则标签序列.对于那些转化序列不足5个的句子,用与之等长的全O序列补足至5个,后面在NMT模型里用掩码进行掩盖.
需要注意的是,尽管在训练集上获取这些规则的转化序列过程中,可以直接参考到目标端句子,但是在开发集与测试集上不允许直接参考目标端句子; 因此在获得相应的规则信息时,本文并不采用强制解码.此外,由于解码过程中的修剪等操作,即使采用强制解码也不一定能获得与参考答案一致的译文; 所以本文直接在训练集上抽取规则集,然后在这些规则集上进行解码,虽然最终得到的译文不一定准确,但是源端所用到的规则信息一定是准确的,所以本文涉及的工作暂时只将源端的规则信息融入到NMT模型当中.
2.2 转化方法的有效性2.1节中具体介绍了规则信息的抽取与转化方法,本节将说明这一方法的有效性.依然考虑图2中的例子,根据其解码过程中使用的规则可以生成翻译推导树,而根据相应的转化标签序列可以还原出翻译推导树的近似树(以下简称还原树),具体可见图3.
得到还原树的主要步骤如下:
1)根节点S根据第一个转化标签序列进行生长,标签序列中为O标签的单词直接生长为叶节点; T标签生长为子节点,其对应单词继续生长为叶节点; X标签生长为子节点;
2)上一层的“X”子节点根据当前层的转化序列继续生长,生长规则同1);
3)转化序列用完,还原树生长结束.
比较翻译推导树和还原树之间的大致结构,可以发现两者之间近似,主要区别是由转化过程制定的限制带来的.2.1节中限制1)主要用来剔除解码过程中一开始使用的胶水规则,如推导树与还原树左上角部
分有所区别; 限制2)主要只考虑大多非终结规则中的最左非终结部分,所以最终的还原树部分非终结部分会比推导树高一层,例如图3中的“少数物种”部分.但是两者之间是近似相等的,尤其是诸如“<与X1有X2, have X2 with X1>”这类高质量规则涵盖的树结构的基本等同,进一步说明了根据2.1节的转化方法得到的规则标签序列基本保留了解码过程中用的规则信息,2.1节所述转化方法具有有效性.
2.3 模型结构本小节主要介绍两种融入规则信息的NMT模型——单端融合模型和双端融合模型.
单端融合模型与第1节的基线模型(图1)基本一致,只是编码器除了读入源句子的单词序列x=(x1,x2,…,xT)外,还读入与之对应的标签序列ri=(ri1,ri2,…,riT),其中i表示第i个规则标签,本文中共5个标签.即对于单端融合模型,图1中的输入为xj与rj的嵌入表示,而不是xj.在嵌入层中,xj与rj被拼接起来成为最终的嵌入层表示[xj; rj],其中rj=[r1j; r2j; …; r5j].如图所示,[xj; rj]经过编码层,得到包含规则信息的源端句子的隐藏层表示h=(h1,h2,…,hT).解码器部分与基线模型保持一致.这种方法,虽然没有直接用规则的序列信息去干预解码,但是规则的序列信息与源句子的序列信息通过嵌入拼接相结合的方法,一定程度上赋予了源句子中每个单词在使用规则进行解码的过程所扮演的角色.
单端融合模型只涉及了编码端,而且采用进行拼接的源端嵌入方法属于比较浅层的融合方式.而双端融合模型更深层地把规则信息融合到NMT模型两端,其具体结构如图4.
尽管本文中只融合了源端句子的规则信息,但是可以做如下假设.对于某一具体规则标签序列,源端句子中某一单词ws与目标端单词wt相对应,则wt的规则标签应该与ws保持一致,即wt与ws在该标签序列对应的规则中的地位是等同的.例如,对于规则<与X1有X2, have X2 with X1>,可以将源端句子中的“与”和“有”这两个单词打成T标签即终结符,那么对应的目标端句子的“have”和“with”的标签也应该是T.但是因为没有把目标端的规则标签序列直接引入NMT中,所以本文通过引入一个辅助目标优化函数,如式(7)所示,引导模型中表示两端规则标签的嵌入信息靠近,进而达到深层引入规则信息的目的.相比于SMT中显式地利用这些两端规则的对应关系即“硬规则”去完成翻译任务,这种引导模型自己学习两端规则的对应关系的方法,可以称之为“软规则”指导下的机器翻译.
L(θ)=-1/(Ty)∑Tyt=1[log p(yt|y<t, θ)-
‖Wrxt-ryt‖2].(7)
其中:ryt=ytrt=[ytr1t; ytr2t; …; ytr5t]表示当前生成单词目标端yt的规则标签表征; rxt=rt=[r1t; r2t…; r5t]表示标签窗口中与yt对齐概率最大的源端单词xt的规则标签表征; W为转化矩阵,‖Wrxt-ryt‖2用来度量两端规则表征的相似度; log p(yt|y<t,θ)为基准模型中的原目标函数即翻译损失,与Mi等[15]在2016年的工作一致,本文等同对待两个损失.
3 实 验
3.1 实验设置本文使用的中英语料是从LDC语料库中抽取的125万平行句对.其中,大约包含2 800万个中文单词,3 500万个英文单词.本文选择美国国家标准与技术研究院(NIST)06数据集作为开发集,NIST02、NIST03、NIST04、NIST05、NIST08数据集作为测试集.本文选用不区分大小写的4元(4-gram)双语互译评估(BLEU)值作为实验的评价标准.
预处理方面,本文采用了Sennrich等[16]在2016年提出的字节对编码,迭代次数设置为3×104,最终字典的大小设置为3×104.需要注意的是,采用了字节对编码以后,源端句子长度和相应的规则标签序列长度不一致.为了解决这个问题,本文对规则标签序列进行扩展.假设源端句子中的单词w被分割为n个子词,则w所对应的标签重复扩展n次,即所有子词的标签保留原单词的标签.
本文采用本课题组开发的基于注意力机制的RNN翻译系统作为基线模型.其中,词向量的维度设置为500,使用GRU[17]学习隐藏层表示,采用Adam[18]方法对参数进行梯度更新,训练中数据批(batch)的大小设置为100,失活率(dropout)[19]设置为0.3,束搜索(beam search)大小设置为6.融合规则信息的翻译模型的标签向量的维度设置为50,其他配置与基准模型保持一致.
3.2 实验结果如表1所示,在基线模型的基础上,两种融入规则信息的NMT模型的BLEU值[20]均超过了基线模型.其中,单端融合模型的平均BLEU值比基线模型高出0.74个百分点,双端融合模型的平均BLEU值比基准模型高出1.12个百分点.
4 分 析
本节对比了基线模型与两种融入规则信息的NMT模型的翻译性能,并验证了两种融入规则信息的NMT模型对改善模型译文的准确性和完整性的有效性.
4.1 泛化部分的翻译质量比较为了比较在引入规则信息后,句子泛化部分的翻译质量,本文把测试集和开发集中的句子按照相应的标签序列抽取出部分被泛化符覆盖的成分.评测结果如图5所示,两种融合规则信息的NMT模型的BLEU值均超过了基线模型.表明融合了规则信息后,模型能够获得源端句子每个单词在规则解码中的成分信息,进而可以帮助模型更好地翻译句子的泛化部分.
4.2 不同句长的翻译质量比较规则信息的引入,有利于翻译模型对句子整体骨干信息的捕获.因此,融入规则信息的NMT模型应该比基线模型在不同句长设置下性能均有提升.为了验证这一点,本文把测试集按照不同句长重新划分,重新测试BLEU值.
如图6所示,融入规则信息的翻译模型在不同的句长设置下,其性能基本都超过了基线模型,而且长句的翻译效果提升更为明显.主要原因有两点:一是短句可以利用的规则数量相比于长句更少,二是规则信息所蕴含的信息更适合用于指导长句翻译.
4.3 示例分析表2展示了基线模型与两种融合规则信息的NMT模型的翻译示例.与基线模型进行对比,单端融合模型与双端融合模型在把<X1又X2>等源端规则引入到模型后,除了使得源端句子中的泛化部分翻译得更加准确外,也使得模型可以捕获到句子的主干信息,进而改善句子的翻译完整性.
5 结 论
- [1] 冯志伟.自然语言机器翻译新论[M].北京:语文出版社, 1994:1-259.
- [2] 刘群.机器翻译研究新进展[J].当代语言学, 2009, 11(2):147-158.
- [3] SUTSKEVER I,VINYALS O,LE Q V.Sequence to sequence learning with neural networks[C]∥Advances in Neural Information Processing Systems 27.Montreal:NIPS Press,2014:3104-3112.
- [4] CHIANG D.Hierarchical phrase-based translation[J].Computational Linguistics,2007,33(2):201-228.
- [5] BAHDANAU D,CHO K,BENGIO Y.Neural machine translation by jointly learning to align and translate[EB/OL].[2019-08-01].https:∥arxiv.org/pdf/1409.0473.pdf.
- [6] VASWANI A,SHAZEER N,PARMAR N,et al.Attention is all you need[C]∥Advances in Neural Information Processing Systems 30.Long Beach:NIPS,2017:5998-6008.
- [7] SENNRICH R,HADDOW B.Linguistic input features improve neural machine translation[C]∥Proceedings of the First Conference on Machine Translation WMT 2016 colocated with ACL 2016.Berlin:ACL,2016:83-91.
- [8] LI J,XIONG D,TU Z,et al.Modeling source syntax for neural machine translation[C]∥Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics.Vancouver:ACL,2017:688-697.
- [9] WANG X,LU Z,TU Z,et al.Neural machine translation advised by statistical machine translation[C]∥Thirty-First AAAI Conference on Artificial Intelligence.San Francisco:AAAI,2017:3330-3336.
- [10] KUANG S,LI J,BRANCO A,et al.Attention focusing for neural machine translation by bridging source and target embeddings[C]∥Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics.Melbourne:ACL,2018:1767-1776.
- [11] DOU Z Y,TU Z,WANG X,et al.Exploiting deep representations for neural machine translation[C]∥Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing.Brussels:ACL,2018:4253-4262.
- [12] KUANG S,HAN L.Apply Chinese radicals into neural machine translation:deeper than character level[EB/OL].[2019-08-01].https:∥arxiv.org/pdf/1805.01565.pdf.
- [13] WU W,MENG Y,HAN Q,et al.Glyce:glyph-vectors for Chinese character representations[EB/OL].[2019-08-01].https:∥arxiv.org/pdf/1901.10125.pdf.
- [14] DYER C,WEESE J,SETIAWAN H,et al.CDEC:a decoder,alignment,and learning framework for finite-state and context-free translation models[C]∥Proceedings of the ACL 2010 System Demonstrations.Uppsala:ACL,2010:7-12.
- [15] MI H,WANG Z,ITTYCHERIAH A.Supervised attentions for neural machine translation[C]∥Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing.Texas:ACL,2016:2283-2288.
- [16] SENNRICH R,HADDOW B,BIRCH A.Neural machine translation of rare words with subword units[C]∥Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics.Berlin:ACL,2016:1715-1725.
- [17] CHUNG J,GULCEHRE C,CHO K H,et al.Empirical evaluation of gated recurrent neural networks on sequence modeling[EB/OL].[2019-08-01].https:∥arxiv.org/pdf/1412.3555.pdf.
- [18] KINGMA D P,BA J.Adam:a method for stochastic optimization[C]∥3rd International Conference on Learning Representations.San Diego:ICLR,2015:1-13.
- [19] SRIVASTAVA N,HINTON G,KRIZHEVSKY A,et al.Dropout:a simple way to prevent neural networks from overfitting[J].The Journal of Machine Learning Research,2014,15(1):1929-1958.
- [20] PAPINENI K,ROUKOS S,WARD T,et al.BLEU:a method for automatic evaluation of machine translation[C]∥Proceedings of the 40th Annual Meeting on Association for Computational Linguistics.Philadelphia:ACL,2002:311-318.