导航:首页 > 源码编译 > 机器翻译模型源码

机器翻译模型源码

发布时间:2022-04-14 02:26:35

‘壹’ 统计机器翻译的介绍

统计机器翻译(英语:c,简写为SMT)是机器翻译的一种,也是目前非限定领域机器翻译中性能较佳的一种方法。统计机器翻译的基本思想是通过对大量的平行语料进行统计分析,构建统计翻译模型,进而使用此模型进行翻译。从早期基于词的机器翻译已经过渡到基于短语的翻译,并正在融合句法信息,以进一步提高翻译的精确性。

‘贰’ 机器翻译的基于人工神经网络

2013年来,随着深度学习的研究取得较大进展,基于人工神经网络的机器翻译( Neural Machine Translation )逐渐兴起。其技术核心是一个拥有海量结点(神经元)的深度神经网络,可以自动的从语料库中学习翻译知识。一种语言的句子被向量化之后,在网络中层层传递,转化为计算机可以“理解”的表示形式,再经过多层复杂的传导运算,生成另一种语言的译文。实现了 “理解语言,生成译文”的翻译方式。这种翻译方法最大的优势在于译文流畅,更加符合语法规范,容易理解。相比之前的翻译技术,质量有“跃进式”的提升。
目前,广泛应用于机器翻译的是长短时记忆(LSTM,Long Short-Term Memory)循环神经网络(RNN,Recurrent Neural Network)。该模型擅长对自然语言建模,把任意长度的句子转化为特定维度的浮点数向量,同时“记住”句子中比较重要的单词,让“记忆”保存比较长的时间。该模型很好地解决了自然语言句子向量化的难题,对利用计算机来处理自然语言来说具有非常重要的意义,使得计算机对语言的处理不再停留在简单的字面匹配层面,而是进一步深入到语义理解的层面。
代表性的研究机构和公司包括,加拿大蒙特利尔大学的机器学习实验室,发布了开源的基于神经网络的机器翻译系统GroundHog。2015年,网络发布了融合统计和深度学习方法的在线翻译系统,Google也在此方面开展了深入研究。

‘叁’ 机器翻译的流程是怎么样的

着作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:王biubiu
链接:http://www.hu.com/question/24588198/answer/38342825
来源:知乎

目前最重要的两种机器翻译方式:规则法和统计法
1. 规则法(rule based machine translation, RBMT),依据语言规则对文本进行分析,再借助计算机程序进行翻译。多数商用机器翻译系统采用规则法。
规则法机器翻译系统的运作通过三个连续的阶段实现:分析,转换,生成,根据三个阶段的复杂性分为三级。
- 直接翻译:简单的词到词的翻译。
- 转换翻译:翻译过程要参考并兼顾到原文的词法、句法和语义信息。因为信息来源范围过于宽泛,语法规则过多且相互之间存在矛盾和冲突,转换翻译较为复杂且易出错。【别说转换了,光是根据各种语法规则,对源语言进行分析都会崩溃好吗!
- 国际语翻译:迄今为止,还只是设想。大概是想凭借通用的完全不依赖语言的形式,实现对语言信息的解码。【国际语本身就是人工语言啊,还怎么做到不依赖语言形式。这个想法最早出现在13世纪orz
着作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:王biubiu
链接:http://www.hu.com/question/24588198/answer/38342825
来源:知乎

Bernard Vauquois' pyramid

2. 统计法 (statistical machine translation, SMT),通过对大量的平行语料进行统计分析,构建统计翻译模型(词汇、比对或是语言模式),进而使用此模型进行翻译,一般会选取统计中出现概率最高的词条作为翻译,概率算法依据贝叶斯定理。假设要把一个英语句子A翻译成汉语,所有汉语句子B,都是A的可能或是非可能的潜在翻译。Pr(A)是类似A表达出现的概率,Pr(B|A)是A翻译成B出现的概率。找到两个参数的最大值,就能缩小句子及其对应翻译检索的范围,从而找出最合适的翻译。
SMT根据文本分析程度级别的不同分为两种:基于词的SMT和基于短语的SMT,后一个是目前普遍使用的,Google用的就是这种。翻译文本被自动分为固定长度的词语序列,再对各词语序列在语料库里进行统计分析,以查找到出现对应概率最高的翻译。【所以,不要嫌弃谷歌翻译啦,如果不是依托于它自己强大的搜索引擎,能获取相对数量的语料库,翻译的质量可能更糟,可以对比必应和网络。非在线的开源机器翻译也有做得很棒的,多也是使用的统计法模式。
着作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:王biubiu
链接:http://www.hu.com/question/24588198/answer/38342825
来源:知乎

其他方式还有如范例法(example based machine translation, EBMT),类似统计法原理,不同的点在于比对对象是相对小型的语料库,从中找到对应的翻译片段的类似范例,再用片段组成相应的翻译;上下文法(context based machine translation, CBMT);知识法(knowledge based machine translation, KBMT)和混合法,但是不及前面两种使用率高。

刚好这两天在看Daniel Stein写的MT概述"Maschinelle Übersetzung – ein Überblick",有提到机器翻译的不同类型和原理,以上。

‘肆’ 统计机器翻译的历史

早在1949年,瓦伦·韦弗就基于香农的信息论提出了统计机器翻译的基本思想。而最早提出可行的统计机器翻译模型的是IBM研究院的研究人员。他们在着名的文章《统计机器翻译的数学理论:参数估计》中提出了由简及繁的五种词到词的统计模型,分别被称为IBM Model 1到IBM Model 5。这五种模型均为噪声信道模型,而其中所提出的参数估计算法均基于最大似然估计。然而由于计算条件的限制和平行语料库的缺乏,尚无法实现基于大规模数据的计算。其后,由Stephan Vogel提出了基于隐马尔科夫模型的统计模型也受到重视,被认为可以较好的替代IBM Model 2.
在此文发表后6年,即1999年,约翰·霍普金斯大学夏季讨论班集中了一批研究人员实现了GIZA软件包,实现了IBM Model 1到IBM Model 5。Franz-Joseph Och在随后对GIZA进行了优化,加快了训练速度,特别是IBM Model 3到5的训练。同时他还提出了更加复杂的Model 6。Och发布的软件包被命名为GIZA++,直到现在,该软件包还是绝大部分机器翻译系统的基石。目前,针对大规模语料的训练,已有GIZA++的若干并行化版本存在。
基于词的统计机器翻译虽然开辟了统计机器翻译这条道路,其性能却由于建模单元过小而受到极大限制。同时,产生性(generative)模型使得模型适应性较差。因此,许多研究者开始转向基于短语的翻译方法。Franz-Josef Och再次凭借其出色的研究,推动了统计机器翻译技术的发展,他提出的基于最大熵模型的区分性训练方法使得统计机器翻译的性能极大提高并在此后数年间远远超过其他方法。更进一步的,Och又提出修改最大熵方法的优化准则,直接针对客观评价标准进行优化,从而产生了今天广泛采用的最小错误训练方法(Minimum Error Rate Training)。
另一件促进SMT进一步发展的重要发明是翻译结果自动评价方法的出现,这些方法翻译结果提供了客观的评价标准,从而避免了人工评价的繁琐与昂贵。这其中最为重要的评价是BLEU评价指标。虽然许多研究者抱怨BLEU与人工评价相差甚远,并且对于一些小的错误极其敏感,绝大部分研究者仍然使用BLEU作为评价其研究结果的首要(如果不是唯一)的标准。
Moses是目前维护较好的开源机器翻译软件,由爱丁堡大学研究人员组织开发。其发布使得以往繁琐复杂的处理简单化。

‘伍’ 怎么把词向量引入到神经机器翻译模型

神经机器翻译(Neural Machine Translation)是指直接采用神经网络以端到端方式进行翻译建模的机器翻译方法。区别于利用深度学习技术完善传统统计机器翻译中某个模块的方法,神经机器翻译采用一种简单直观的方法完成翻译工作:首先使用一个称为编码器(Encoder)的神经网络将源语言句子编码为一个稠密向量,然后使用一个称为解码器(Decoder)的神经网络从该向量中解码出目标语言句子。上述神经网络模型一般称之为“编码器-解码器”(Encoder-Decoder)结构

‘陆’ 机器翻译的基于统计

一般的基于语料库(Corpus-Based)的机译系统就是基于统计的机器翻译,因为这一领域异军突起,统计就是统计平行语料,由此衍生出许多不同的统计模型。
不同于基于规则的机译系统由词典和语法规则库构成翻译知识库,基于语料库的机译系统是以语料的应用为核心,由经过划分并具有标注的语料库构成知识库。基于语料库的方法可以分为基于统计(Statistics-based)的方法和基于实例(Example-based)的方法。 基于统计的机器翻译 基于统计的机器翻译方法把机器翻译看成是一个信息传输的过程,用一种信道模型对机器翻译进行解释。这种思想认为,源语言句子到目标语言句子的翻译是一个概率问题,任何一个目标语言句子都有可能是任何一个源语言句子的译文,只是概率不同,机器翻译的任务就是找到概率最大的句子。具体方法是将翻译看做对原文通过模型转换为译文的解码过程。因此统计机器翻译又可以分为以下几个问题:模型问题、训练问题、解码问题。所谓模型问题,就是为机器翻译建立概率模型,也就是要定义源语言句子到目标语言句子的翻译概率的计算方法。而训练问题,是要利用语料库来得到这个模型的所有参数。所谓解码问题,则是在已知模型和参数的基础上,对于任何一个输入的源语言句子,去查找概率最大的译文。
实际上, 用统计学方法解决机器翻译问题的想法并非是 20 世纪 90 年代的全新思想,1949 年W. Weaver 在那个机器翻译备忘录就已经提出使用这种方法,只是由于乔姆斯基(N.Chomsky) 等人对计的批判,这种方法很快就被放弃了。批判的理由主要是一点:语言是无限的,基于经验主义的统计描述无法满足语言的实际要求。
另外,限于当时的计算机速度,统计的价值也无从谈起。计算机不论从速度还是从容量方面都有了大幅度的提高,昔日大型计算机才能完成的工作,今日小型工作站或个人计算机就可以完成了。此外,统计方法在语音识别、文字识别、词典编纂等领域的成功应用也表明这一方法在语言自动处理领域还是很有成效的。
统计机器翻译方法的数学模型是由国际商业机器公司 (IBM) 的研究人员提出的。在着名的文章《机器翻译的数学理论》中提出了由五种词到词的统计模型,称为 IBM 模型 1 到 IBM 模型 5。这五种模型均源自信源-信道模型,采用最大似然法估计参数。由于当时(1993年)计算条件的限制,无法实现基于大规模数据训练。其后,由Stephan Vogel提出了基于隐马尔科夫模型的统计模型也受到重视,该模型被用来替代IBM Model 2。在这时的研究中,统计模型只考虑了词与词之间的线性关系,没有考虑句子的结构。这在两种语言的语序相差较大时效果可能不会太好。如果在考虑语言模型和翻译模型时将句法结构或语义结构考虑进来,应该会得到更好的结果。
在此文发表后6年,一批研究人员在约翰·霍普金斯大学的机器翻译夏令营上实现了GIZA软件包。Franz Joseph Och 在随后对该软件进行了优化,加快训练速度。特别是IBM Model 3 到 5的训练。同时他提出了更加复杂的Model 6。Och发布的软件包被命名为GIZA++,直到现在,GIZA++还是绝大部分统计机器翻译系统的基石。针对大规模语料的训练,已有GIZA++的若干并行化版本存在。
基于词的统计机器翻译的性能却由于建模单元过小而受到限制。因此,许多研究者开始转向基于短语的翻译方法。Franz-Josef Och提出的基于最大熵模型的区分性训练方法使统计机器翻译的性能极大提高,在此后数年,该方法的性能远远领先于其他方法。一年后Och又修改最大熵方法的优化准则,直接针对客观评价标准进行优化,从而诞生了今天广泛采用的最小错误训练方法(Minimum Error Rate Training)。
另一件促进统计机器翻译进一步发展的重要发明是自动客观评价方法的出现,为翻译结果提供了自动评价的途径,从而避免了繁琐与昂贵的人工评价。最为重要的评价是BLEU评价指标。绝大部分研究者仍然使用BLEU作为评价其研究结果的首要的标准。
Moses 是维护较好的开源机器翻译软件,由爱丁堡大学研究人员组织开发。其发布使得以往繁琐复杂的处理简单化。
Google 的在线翻译已为人熟知,其背后的技术即为基于统计的机器翻译方法,基本运行原理是通过搜索大量的双语网页内容,将其作为语料库,然后由计算机自动选取最为常见的词与词的对应关系,最后给出翻译结果。不可否认,Google 采用的技术是先进的,但它还是经常闹出各种“翻译笑话” 。其原因在于:基于统计的方法需要大规模双语语料,翻译模型、语言模型参数的准确性直接依赖于语料的多少,而翻译质量的高低主要取决于概率模型的好坏和语料库的覆盖能力。基于统计的方法虽然不需要依赖大量知识,直接靠统计结果进行歧义消解处理和译文选择,避开了语言理解的诸多难题,但语料的选择和处理工程量巨大。因此通用领域的机器翻译系统很少以统计方法为主。 基于实例的机器翻译 与统计方法相同,基于实例的机器翻译方法也是一种基于语料库的方法,其基本思想由日本着名的机器翻译专家长尾真提出,他研究了外语初学者的基本模式,发现初学外语的人总是先记住最基本的英语句子和对应的日语句子,而后做替换练习。参照这个学习过程,他提出了基于实例的机器翻译思想,即不经过深层分析,仅仅通过已有的经验知识,通过类比原理进行翻译。其翻译过程是首先将源语言正确分解为句子,再分解为短语碎片,接着通过类比的方法把这些短语碎片译成目标语言短语,最后把这些短语合并成长句。对于实例方法的系统而言,其主要知识源就是双语对照的实例库,不需要什么字典、语法规则库之类的东西,核心的问题就是通过最大限度的统计,得出双语对照实例库。
基于实例的机器翻译对于相同或相似文本的翻译有非常显着的效果,随着例句库规模的增加,其作用也越来越显着。对于实例库中的已有文本,可以直接获得高质量的翻译结果。对与实例库中存在的实例十分相似的文本,可以通过类比推理,并对翻译结果进行少量的修改,构造出近似的翻译结果。
这种方法在初推之时,得到了很多人的推崇。但一段时期后,问题出现了。由于该方法需要一个很大的语料库作为支撑,语言的实际需求量非常庞大。但受限于语料库规模,基于实例的机器翻译很难达到较高的匹配率,往往只有限定在比较窄的或者专业的领域时,翻译效果才能达到使用要求。因而到目前为止,还很少有机器翻译系统采用纯粹的基于实例的方法,一般都是把基于实例的机器翻译方法作为多翻译引擎中的一个,以提高翻译的正确率。

‘柒’ 英语翻译软件的原理

机器翻译基本工作原理和基本分类

机器翻译(Machine Translation,MT)是建立在多学科基础上的综合学科,现代理论语言学的发展,计算机科学的进步,信息学和概率统计学的应用,对机器翻译的发展和演变产生了重要影响。机器翻译的基本思想是利用计算机对自然语言进行翻译,而各种机器翻译系统采用的技术和理念不尽相同;面对各种各样的机器翻译系统,文献上有各种分类方式。本文根据所应用的基本工作原理对机器翻译系统分类作一综述。
1. 基本类型的机器翻译系统:现有的机器翻译系统按照其基本工作原理,可以分为基于规则的(Rule-Based)机器翻译,基于实例的(Example-Based)机器翻译和统计型的(Statistical)机器翻译这三种基本类型。
1.1. 基于规则的机器翻译系统(Rule-Based Machine Translation, RBMT):其基本工作原理基于一个假设,即语言无限的句子可以由有限的规则推导出来。基于这个假设的机器翻译方法又可以分为三类:直接翻译法(Direct Translation),中间语言法(Interlingual Approach),和转换法(Transfer Approach)。它们都需要用到大规模的双语词典,需要用到源语言推导规则,语言转换规则和目标语言生成规则;其不同点在于对语言进行的分析深度不同。如直译法几乎不需要进行语言分析,中间语言法和转换法需要对源语言和目标语言进行某种程度的语言分析。
1.1.1直接翻译法(Direct Translation):这种翻译方法直接对源文字中的字词进行逐个翻译,译后文字顺序按照原文顺序进行排列。这是基于规则的机器翻译的最早的工作方法。这种译法简单、直观,其弊端也是明显的:由这种方法得到的翻译结果质量很不令人满意。人们已经逐渐不再使用这种直接翻译法。
1.1.2中间语言法(Interlingual Approach):这种翻译方法对源语言文字进行透彻的语言分析,将其转化为一种中间语言表达形式,进而由这种中间语言(Interlingua)进一步生成和输出符合目标语言语法规则的文字。这种中间语言是一种非自然语言,即不是任何国家地区人们使用的语言;而且它是一种没有歧义的表达方式。此外,中间语言不是唯一的,不同的系统采用不同的中间语言。任意一种语言经由中间语言译为其它任意一种语言,理论上这种中间语言法是最有效率的一种翻译方式。假定世界上总共有n种自然语言,使用中间语言法,只需2n个模块就可以解决所有自然语言之间的互译问题。不使用中间语言,这些语言间的互译则需要n(n-1)个模块。当n大于3时,2n小于n(n-1)。我们知道,世界上的自然语言种类远大于3,因此2n个模块的数量远小于n(n-1)个模块的数量。
1.1.3 转换法(Transfer Approach):这种翻译方法先对源语言文字进行一定程度的语言分析,去除语法的因素,生成源语言的中间表达方式,然后经由转换,生成目标语言的中间表达方式,再由目标语言的中间表达方式生成和输出符合目标语言语法规则的文字。目前来说,转换法的语言分析和实现方法在三种方法中最为复杂,得到的翻译质量在三种方法中也是最好的,是目前商业上最常使用的翻译方法,在商业上最为成功。
在许多基于规则的机器翻译系统中,由语言学家辅助编写一系列关于源语言和目标语言的语法规则,以及将源语言数据转换为目标语言数据的转换规则。然而使用全人工来制作这些规则非常昂贵、费时,而且易于出错。一个解决方法便是将以往的历史翻译结果作为资源库,其中的源语言文字和它对应的目标语言译文作为例子,从中尝试提取出恰当的规则。方法之一是对源文字和目标语言译文作人工标记以示关联。Sato言和Nagao[1]研发出一个系统,用“平面依赖关系树”来表示源语言文字和目标语言文字。这种关系树型数据结构是计算机高效识别的一种形式。通常用两个层次代表源语言和目标语言之间的关联:第一层次依赖于文字的表面形式(如字、词顺序),用于源语言的分析和目标语言的生成;第二层次依赖于字词间的语义关联,用于从源语言向目标语言的转换。这种机器翻译系统在基于规则的机器翻译基础上,利用了实例库的优势。
随着大量历史翻译结果的积累,出现了基于实例的机器翻译系统,人们将这些已经完成的翻译结果作为资源库,利用到机器翻译中来。
1.2. 基于实例的机器翻译(Example-Based Machine Translation,EBMT):其基本工作原理是基于类比(Analogy)的原则,从实例库中匹配出与源文字片段最相似的文字片段,取出实例文字片段对应的目标语言翻译结果,进行适当的改造,最终得出完整的翻译结果。基于实例的机器翻译其核心思想最早由MakonNagao 提出,他提出:人们在翻译简单句子时并不作深层语言分析,而是翻译。首先把源句子分解成若干片段,然后将这些片段译为目标语言,每个片段的翻译都是通过与例句做匹配以类比的原则得到的,最后将这些译后句子组合成一个长句子。
1.2.1. 实例库的构成:实例库也称为语料库(Corpus),由已经完成的翻译结果构成。这些现成的翻译结果也称为语料,包括人工翻译的结果和经过人工编辑的机器翻译结果。语料库由双语对构成,包括源语言文字片段和目标语言译文文字片段两部分。这些翻译结果要先经过拆分和对齐处理,才可以成为语料库中的可用语料。因此语料库也称为平行双语语料库(Parallel的 Corpus)。拆分和对齐目前有多种形式,如句子水平的对齐和短语水平的对齐。对齐的文字片段大小的选择,会直接影响匹配的效率和翻译结果。
1.2.2. 语料拆分的碎片化问题:Nirenburg等(1993)指出,在基于实例的机器翻译系统(EBMT) 中,实例语料存在一个文字片段长度和相似度之间的一个矛盾。文字片段越长,越不易得到一个相似度高的匹配;文字片段越短,越可能得到一个大致匹配,但是得到低质量翻译结果的风险也越大。比如由段落划分边界产生的重叠问题以及不恰当的划分导致的翻译质量下降。直观上似乎是选择以句子为单位划分得到的语料对比较好,有诸多优势如:句子的边界划分清楚,一些简单句子的结构清晰。然而在实际应用中,以句子为单位并不是最恰当的方式。实践证明匹配和重组过程需要使用更加短小的片段。(当然,这些研究结果是以欧美语系语言之间的翻译研究结果为基础的。)
1.2.3. 实例库定制:实例语料的的范围和质量影响着基于实例的机器翻译系统(EBMT)的翻译质量水平。在某特定领域获取高质量语料可以大大提高机器翻译在此领域的翻译质量,称为语料(实例)库的定制。
1.3. 统计型机器翻译系统(Statistical MT):IBM公司的Brown在1990年首先将统计模型用于法-英机器翻译。其基本思想是:把机器翻译问题看成是一个噪声信道问题,然后用信道模型来进行解码。翻译过程被看作是一个解码的过程,进而变成寻求最优翻译结果的过程。基于这种思想的机器翻译重点是定义最合适的语言概率模型和翻译概率模型,然后对语言模型和翻译模型的概率参数进行估计。语言模型的参数估计需要大量的单语语料,翻译模型的参数估计需要大量平行双语语料。统计机器翻译的质量很大程度上取决于语言模型和翻译模型的性能,此外,要找到最优的译文,还需要有好的搜索算法。简单说,统计机器翻译首先建立统计模型,然后使用实例库中的实例对统计模型进行训练,得到需要的语言模型和翻译模型用于翻译。
统计型机器翻译,除了基于噪声信道理论的系统以外,还有基于最大熵方法的系统。博格(A.L.Berger)在1996年 提出自然语言处理中“最大熵方法”(Maximum Entropy Approach)。德国人奥赫 (Franz Joseph Och)等发现, 把IBM公司的统计机器翻译基本方程式中的翻译模型转变为反向翻译模型,总体的翻译正确率并没有降低,由此,他们提出基于最大熵方法的机器翻译模型。
统计型机器翻译取得了一定的成绩,然而纯统计设计却不能解决所有困难。统计型的方法不考虑语言的语义、语法因素,单纯用数学的方法来处理语言问题,有着巨大的局限性。于是人们开始探索基于统计方法和其它翻译方法的联合应用。如统计的和基于实例的机器翻译系统,统计的和基于规则的机器翻译系统,等等。
2. 综合类型的机器翻译系统:
以上三个基本机器翻译系统各有优势和长处,同时又不可避免的具有某种缺陷和局限性。如基于规则的机器翻译系统(RBMT)可以准确的描述语言学特征和规律,然而制定适用和完备的语言规则却不是一件容易的事;基于实例的机器翻译系统(EBMT)可以充分利用已有的翻译结果,但是实例库的维护需要大量的人工和费用;统计型的机器翻译(Statistical以MT)可以缓解知识获取的瓶颈问题,但是纯数学的方法难于完全解决语言中的复杂问题。为进一步提高机器翻译系统的翻译水平,人们综合以上几个基本类型的优势,又发明了混合型机器翻译系统(Hybrid器MT),多引擎机器翻译系统(Multi-Engine MT)和提出了基于知识的机器翻译系统(Knowledge-Based MT)的理论。
2.1 混合型机器翻译系统(Hybrid MT):翻译过程使用两种或以上机器翻译原理。比如:基于规则的机器翻译方法的核心是构造完备的、适应性较强的规则系统。如何得到完备和适应性强的规则系统成为研究焦点。使用传统的方法,语法规则库的建立需要大量的人力、物力,大量的语言语法规则之间往往存在着不可避免的冲突,规则的完备性和适应性不能得到保证。随着人们翻译工作的进行,生成大量已完成的翻译结果,形成大量语料。人们想到了使用统计方法从现有语料中自动提取我们需要的语言语法信息。从实例中抽取语言转换规则,将基于实例的机器翻译作为研究技术来建立语言规则基础,而不是单纯用来进行类比翻译。通过一个归纳的过程,从大量例句中提出抽象的规则 。这样传统的基于规则的机器翻译方法发展成为以规则为基础,语料库为辅助的机器翻译方法。这种翻译模型可以称之为混合型机器翻译系统(Hybrid MT)。
2.2 多引擎机器翻译系统(Multi-Engine MT):这种机器翻译系统的基本思想是几架机器翻译引擎同时进行并行翻译,并行翻译的这几架翻译引擎分别基于不同的工作原理,给出多个翻译结果,然后通过某种机制或算法筛选并生成最优翻译结果进行输出。多引擎机器翻译系统的一种工作方式如:接收到源文字后,先将文字转化为若干文字片段,由多个机器翻译引擎进行并行翻译,型各个文字片段均得到多个翻译结果, 通过某种机制选择最优的翻译片段组成最优组合,最后输出最优的翻译结果。或者是接收到源文字后,由多个机器翻译引擎进行并行翻译,得到多个翻译结果,然后对各个翻译结果进行字词的比较,通过某种假设检验和算法,选择适当的字词翻译组成最优翻译结果输出。
2.3. 基于知识的机器翻译系统(Knowledge-Based MT):在机器翻译研究中,人们越来越发现在翻译过程中正确的理解、领会源语言的重要性。语言有着其复杂性。其中语言的模糊性是各种机器翻译系统所面对的最顽固的难题。语言的模糊性指语言文字同一表层结构对应着两种或两种以上的深层结构,简单说就是一种形式对应着两种或两种以上的解释,必须通过上下文内容的提示和综合知识背景、常识才可能做出正确的诠释。受人工智能,知识工程的发展影响,人们开始强调对源语言更为彻底的理解,提出不仅需要进行深层语言分析,还需要进行世界知识的积累和处理,建立知识库,以助于理解语言。通过对世界知识的了解,解决机器翻译中遇到的语言模糊问题。为了从根本上彻底的解决机器翻译所面对的语言的模糊性问题,人们提出了基于知识的机器翻译系统。
2.3.1 基于语义网的机器翻译(Semantic Web based Machine Translation, SWMT):是基于知识的机器翻译系统的一种实现方式。语义网(Semantic Web),指通过某种技术,将现有网络上的知识内容转化为机器可以辨识的内容,成为机器翻译的“世界知识库”。这些理论基于Tim Berners-Lee提出的观点“知识一旦经定义和形式化后,便可以通过任意方式访问”。万维网最初的设计是希望它简单,去中心化并且尽可能的易于互动。网络的发展证明它是一个巨大的成功。然而,网络上面的信息都是面向人类大脑的。为了让计算机也能够接受和利用这些信息资源,在新的世纪一种扩展和补充性质的技术出现了,分称为W3C,Semantic Web3 (三维语义网)。三维语义网络的基础技术是数据格式的“资源描述构架”( ‘Resource Description Framework’,RDF), 它定义了一种结构,用一种自然的方式来描述计算机处理的巨大量的数据[8]。目前人们已经 在尝试将现有的机器翻译系统整合入语义网,以充分利用世界知识/专家知识, 提高机器翻译质量。
3.语音翻译(Speech Translation):语音翻译是与文字翻译相对应的一种机器翻译分类,与前面的分类有着不同。但是有着广泛的应用,如日常交谈、电话通话、会议讲话等对语音交流内容的自动翻译,在实际应用中非常重要。语音翻译在翻译之前增加了一个语言识别(SpeechB Recognition)过程,形成正确的文字内容输入,并且在翻译过程完成后增加了一个语音合成(Speech Synthesis)过程,
形成一个正确的语音内容输出。其中语音识别技术和语音合成技术都有着专门研究,这里不再赘述。

作者姓名:洪洁
工作单位:传神语联网网络科技股份有限公司 多语工程中心
作者姓名:洪雷
工作单位:中国科学院大学 外语系

‘捌’ 机器翻译如何解决数据量小的问题

近三年来,基于神经网络的机器翻译技术(NMT, Neural Machine Translation)取得了长足的进步,迅速替代了之前的主流翻译技术-基于短语的机器翻译(PBMT, Phrased-Based Machine Translation)。NMT技术使用端到端的方式,依赖大量训练数据(平行语料库,源语言和目标语言的语料对),直接通过深度神经网络学习和拟合源语言和目标语言的对应关系,省掉了PBMT繁琐的类似流水线的复杂NLP处理流程。但是NMT对平行语料数据的需求量很大,针对罕见语言的翻译仍然是非常有挑战性的课题,最主要的问题是源语言和目标语言之间的平行训练语料很少(Low Resource),甚至没有(Zero Resource), 针对这个课题目前的研究工作可以分为以下四类:假设A、B为常见语言(如英语),C为罕见语言(如泰米尔语),我们目标是训练A到C的翻译模型,但是A与C的翻译平行语料较少,但是A和B之间的训练语料较多迁移学习(Transfer Learning)的方法: 考虑到不同语种间的翻译任务存在一定相关性,通过迁移学习可以将已经学到的知识分享给新模型从而加快模型训练,避免模型训练从零开始。以A和C的翻译任务为例,首先训练A和B之间的NMT模型,之后在训练A和C的翻译模型时,使用A与B的NMT模型参数作为初始值,使用少量A与C的标注平行语料数据进行模型参数的重新训练,得到最终的NMT模型B. Zoph , D. Yuret, J. May, and K. Knigh EMNLP 2016.多任务学习(Multi-Task Learning)的方法:充分利用不同语种翻译的相关性,采用共享相同的NMT参数同时学习多个翻译任务,以A和C的翻译任务为例,首先建立A与B、A与C共享的一套NMT网络,其中该NMT网络的输入是A,输出有两个,分别是B和C,训练的过程中A与B、A与C的标注平行语料共同更新一套NMT网络的参数,与使用较少的A与C语料单独训练的NMT网络相比,翻译效果有较大提升。此外,谷歌于2016年下半年提出的Zero-Shot翻译方法,基于多语种共享的词汇集,使用单个神经机器翻译(NMT)模型在多种语言之间进行翻译,除了提升训练数据中包含的语种对之间互译的翻译质量之外,很有意义的是,还能完成训练数据中不包含的语言对之间的zero-shot翻译。Thang Luong, Quoc Le, Ilya Sutskever, Oriol Vinyals, and Lukasz Kaiser, Multi-task Sequence to Sequence Learning,ICLR 2016.Melvin Johnson, Mike Schuster, Quoc V. Le, Maxim Krikun, Yonghui Wu, Zhifeng Chen, Nikhil Thorat, Fernanda B. Viégas, Martin Wattenberg, Greg Corrado, Macff Hughes, and Jeffrey Dean. Google’s .

‘玖’ 机器翻译的流程(原理)是怎么样的

统计翻译系统的根本不同,在于它们试图生成不止一个精确的翻译。相反,他们生成成千上万种可能的翻译,然后他们按照可能最正确的给这些翻译排名。他们通过与训练数据的相似性来估计有多“正确”。以下是它的工作原理:

第1步:将原始句子分成块首先,我们将我们的句子分成简单的块,每一块都可以轻松翻译:第2步:找到每一块的所有可能的翻译接下来,我们将翻译每块文字,我们将通过寻找我们数据库中所有人类翻译过的相同词块来完成我们的翻译。要着重注意的是,我们不只是在一本简简单单的翻译字典中查找这些词块。相反,我们看到是真实的人在真实的句子中如何翻译这些相同的词。这有助于我们捕获到在不同语境中所有不同的表达方式:即使最常见的短语也有很多种可能的翻译这些可能的翻译中的有一些会比其他翻译更频繁地使用。根据我们训练数据中每个翻译出现的频率,我们可以给它设定一个分数。例如,有人说“Quiero”更多的时候是指“我想要”而不是“我尝试”。所以,我们可以使用我们训练数据中 “Quiero”被翻译成“我想要”的频率,给“我想要”这个翻译更多的权重。

第3步:生成所有可能的句子,找到最有可能的那句接下来,我们将使用这些词块的每种可能翻译来组合生成一堆可能的句子。

‘拾’ 统计机器翻译的模型

噪声信道模型假定,源语言中的句子f(信宿)是由目标语言中的句子e(信源)经过含有噪声的信道编码后得到的。那么,如果已知了信宿f和信道的性质,我们可以得到信源产生信宿的概率,即p(e | f)。而寻找最佳的翻译结果也就等同于寻找:
利用贝耶斯公式,并考虑对给定f,p(f)为常量,上式即等同于
由此,我们得到了两部分概率:
p(f | e),指给定信源,观察到信号的概率。在此称为翻译模型。 p(e),信源发生的概率。在此称为语言模型 可以这样理解翻译模型与语言模型,翻译模型是一种语言到另一种语言的词汇间的对应关系,而语言模型则体现了某种语言本身的性质。翻译模型保证翻译的意义,而语言模型保证翻译的流畅。从中国对翻译的传统要求“信达雅”三点上看,翻译模型体现了信与达,而雅则在语言模型中得到反映。
原则上任何语言模型均可以应用到上述公式中,因此以下讨论集中于翻译模型。在IBM提出的模型中,翻译概率被定义为:
p(f | e) = p(f,a | e)其中的a被定义为隐含变量——词对齐(Word Alignment),所谓词对齐,简而言之就是知道源语言句子中某个词是由目标语言中哪个词翻译而来的。例如右图中,一个词可以被翻译为一个或多个词,甚至不被翻译。于是,获取翻译概率的问题转化为词对齐问题。IBM系列模型及HMM, Model 6都是词对齐的参数化模型。它们之间的区别在于模型参数的数量,类型各不相同。例如IBM Model 1,唯一的参数是词翻译概率,与词在句子中的位置无关。也就是说:
其中(i,j)是词对齐中的一条连接,表示源语言中的第i个词翻译到目标语言中的第j个词。注意这里的翻译概率是词之间而非位置之间的。IBM Model 2的参数中增加了词在句子中的位置,公式为:
其中I,J分别为源、目标语言的句子长度。
HMM模型将IBM Model 2中的绝对位置更改为相对位置,即相对上一个词连接的位置,而IBM Model 3,4,5及Model 6引入了“Fertility Model”,代表一个词翻译为若干词的概率。
在参数估计方面,一般采用最大似然准则进行无监督训练,对于大量的“平行语料”,亦即一些互为翻译的句子(fs,es)
由于并没有直接的符号化最优解,实践中采用EM算法。首先,通过现有模型,对每对句子估计(fs,es)全部可能的(或部分最可能的)词对齐的概率,统计所有参数值发生的加权频次,最后进行归一化。对于IBM Model 1,2,由于不需要Fertility Model,有简化公式可获得全部可能词对齐的统计量,而对于其他模型,遍历所有词对齐是NP难的。因此,只能采取折衷的办法。首先,定义Viterbi对齐为当前模型参数θ下,概率最大的词对齐:
在获取了Viterbi对齐后,可以只统计该对齐结果的相关统计量,亦可以根据该对齐,做少许修改后(即寻找“临近”的对齐)后再计算统计量。IBM 3,4,5及Model 6都是采用这种方法。
目前直接采用噪声信道模型进行完整机器翻译的系统并不多见,然而其副产品——词对齐却成为了各种统计机器翻译系统的基石。时至今日,大部分系统仍然首先使用GIZA++对大量的平行语料进行词对齐。由于所面对的平行语料越来越多,对速度的关注使得MGIZA++,PGIZA++等并行化实现得到应用。噪声信道模型和词对齐仍然是研究的热点,虽然对于印欧语系诸语言,GIZA++的对齐错误率已经很低,在阿拉伯语,中文等语言与印欧语系语言的对齐中错误率仍然很高。特别是中文,错误率常常达到30%以上。所谓九层之台,起于累土,缺乏精确的词对齐是中文机器翻译远远落后于其他语言的原因。虽然目前出现了一些区分性词对齐技术,无监督对齐仍然是其中的重要组成部分。 在这个框架下,M个特征函数
通过参数化公式
其中是每个特征函数的权重,也是模型所要估计的参数集,记为Λ。基于这个模型,获取给定源语言句子f,最佳翻译的决策准则为:
简而言之,就是找到使得特征函数最大的解。
原则上,任何特征函数都可以被置于此框架下,噪声信道模型中的翻译模型、语言模型都可以作为特征函数。并且,在产生式模型中无法使用的“反向翻译模型”,即p(f,e)也可以很容易的被引入这个框架中。目前基于短语的翻译系统中,最常用的特征函数包括:
1.短语翻译概率 2.词翻译概率(短语中每个词的翻译概率) 3.反向短语翻译概率 4.反向词翻译概率 5.语言模型 而一些基于句法的特征也在被加入。 优化准则指的是给定训练语料,如何估计模型参数Λ。一般来说,训练模型参数需要一系列已翻译的文本,每个源语言句子fs拥有Rs个参考翻译。
早期,区分性训练被置于最大熵准则下,即:
这一准则简单快速且由于优化目标是凸的,收敛速度快。然而,一个极大的问题是,“信息熵”本身和翻译质量并无联系,优化信息熵以期获得较好的翻译结果在逻辑上较难说明。借助客观评价准则如BLEU,希望直接针对这些客观准则进行优化能够提升翻译性能。由此而产生最小化错误率训练算法。通过优化系统参数,使得翻译系统在客观评价准则上的得分越来越高,同时,不断改进客观评价准则,使得客观评价准则与主观评价准则越来越接近是目前统计机器翻译的两条主线。
使用这些客观评价准则作为优化目标,即:
的一个主要问题是,无法保证收敛性。并且由于无法得到误差函数(即客观评价准则)的导数,限制了可使用的优化方法。目前常用的方法多为改进的Powell法,一般来说训练时间颇长且无法针对大量数据进行训练。 语料预处理阶段,需要搜集或下载平行语料,所谓平行语料,指的是语料中每一行的两个句子互为翻译。目前网络上有大量可供下载的平行语料。搜寻适合目标领域(如医疗、新闻等)的语料是提高特定领域统计机器翻译系统性能的重要方法。
在获取语料后,需要进行一定得文本规范化处理,例如对英语进行词素切分,例如将's独立为一个词,将与词相连的符号隔离开等。而对中文则需要进行分词。同是,尽可能过滤一些包含错误编码的句子,过长的句子或长度不匹配(相差过大)的句子。
获取的语料可分为三部分,第一部分用于词对齐及短语抽取,第二部分用于最小错误率训练,第三部分则用于系统评价。第二第三部分的数据中,每个源语言句子最好能有多条参考翻译。 首先,使用GIZA++对平行语料进行对齐。由于GIZA++是“单向”的词对齐,故而对齐应当进行两次,一次从源到目标,第二次从目标到源。一般来说,GIZA++需要依次进行IBM Model 1, HMM及IBM Model 3,4的对齐,因IBM Model 2对齐效果不佳,而IBM Model 5耗时过长且对性能没有较大贡献。根据平行语料的大小不同及所设置的迭代次数多少,训练时间可能很长。一个参考数据为,1千万句中文-英文平行语料(约3亿词)在Inter Xeon 2.4GHz服务器上运行时间约为6天。如果耗时过长可考虑使用MGIZA++和PGIZA++进行并行对齐(PGIZA++支持分布式对齐)。
其后,对两个方向的GIZA++对齐结果进行合并,供短语抽取之用。 最小化错误率训练通过在所准备的第二部分数据——优化集(Tuning Set)上优化特征权重Λ,使得给定的优化准则最优化。一般常见的优化准则包括信息熵,BLEU,TER等。这一阶段需要使用解码器对优化集进行多次解码,每次解码产生N个得分最高的结果,并调整特征权重。当权重被调整时,N个结果的排序也会发生变化,而得分最高者,即解码结果,将被用于计算BLEU得分或TER。当得到一组新的权重,使得整个优化集的得分得到改进后,将重新进行下一轮解码。如此往复直至不能观察到新的改进。
根据选取的N值的不同,优化集的大小,模型大小及解码器速度,训练时间可能需要数小时或数日。 使用经最小化错误率训练得到的权重,即可进行解码。一般此时即可在测试集上进行系统性能评价。在客观评价基础上,有一些有条件的机构还常常进行主观评价。

阅读全文

与机器翻译模型源码相关的资料

热点内容
天猫精灵接人源码 浏览:293
香港加密货币监管跟踪研究 浏览:543
广州五险一金算法 浏览:449
运用列主元消去法编程 浏览:864
如何在图片中加密 浏览:741
android停止补间动画 浏览:727
空气压缩机图例 浏览:884
怎么让应用加密oppo 浏览:818
甜糖服务器为什么老是网络变化 浏览:123
部队吃的压缩饼干 浏览:88
linux下安装mongodb 浏览:92
phptextarea换行符 浏览:503
做衣服pdf 浏览:801
lcb2服务器怎么用 浏览:216
推荐算法创新点 浏览:23
汽油机压缩是什么 浏览:281
如何获得网站源码 浏览:825
搜索本机加密软件 浏览:212
三星迷你日记加密 浏览:822
优加密试卷五年级上册数学 浏览:938