Microsoft NMT Translator 微软必应神经机器翻译详解

Microsoft NMT Translator 微软必应神经机器翻译详解
神经机器翻译 (NMT) 是采用 AI 的高质量机器翻译的新标准。 它代替的是旧式统计机器翻译 (SMT) 技术,该技术在 2010-2020 中期的几年中达到了质量顶峰。
与 SMT 相比,NMT 不仅能够从原始翻译质量评分的立场提供更好的翻译,而且听起来更流畅、更类似于人类。 这种流畅性的主要原因在于 NMT 使用一个句子的完整语境来翻译单词。 SMT 仅考虑每个单词前面和后面几个单词的直接语境。
NMT 模型是该 API 的核心,对最终用户不可见。 唯一明显的区别是改进的翻译质量,尤其是针对中文、日语和阿拉伯语等语言。
 
什么是机器翻译?
机器翻译系统是使用机器学习技术将大量文本从其任何支持的语言中翻译出来的应用程序或在线服务。该服务将“源”文本从一种语言翻译成另一种“目标”语言。
尽管机器翻译技术背后的概念和使用它的界面相对简单,但是其背后的科学和技术却极其复杂,并且将几种领先的技术结合在一起,特别是深度学习(人工智能),大数据,语言学,云计算和Web API。
自2010年代初以来,一种新的人工智能技术,即深度神经网络(又名深度学习),使语音识别技术达到了质量水平,从而使Microsoft Translator团队将语音识别与其核心文本翻译技术相结合,从而启动了语音识别技术。一种新的语音翻译技术。
历史上,该行业使用的主要机器学习技术是统计机器翻译(SMT)。在给定几个单词的上下文的情况下,SMT使用高级统计分析来估计单词的最佳翻译效果。从2000年代中期开始,包括微软在内的所有主要翻译服务提供商都使用SMT。
神经机器翻译(NMT)的出现引起了翻译技术的根本转变,从而带来了更高质量的翻译。这项翻译技术已于2016年下半年开始为用户和开发人员部署  。
SMT和NMT翻译技术有两个共同点:
  • 两者都需要大量的人类前翻译内容(多达数百万个翻译句子)来训练系统。
  • 两者都不充当双语词典,而是根据可能的翻译列表来翻译单词,而是根据句子中使用的单词的上下文进行翻译。
什么是Microsoft Translator?
作为API集合的一部分,Microsoft Translator Text API和Microsoft Speech服务是Microsoft的机器翻译服务。
微软翻译文本翻译
自2007年以来,Microsoft团队一直在使用Microsoft Translator文本API,自2011年以来,它已作为面向客户的API使用。MicrosoftTranslator文本API在Microsoft内部得到了广泛使用。它被整合到产品本地化,支持在线交流团队(。也可以从熟悉的产品。
Microsoft Translator可在任何硬件平台上的Web或客户端应用程序中以及与任何操作系统一起使用,以执行语言翻译和其他与语言相关的操作,例如语言检测,文本到语音或字典。
利用行业标准的REST技术,开发人员将带有指示目标语言的参数的源文本(或用于语音翻译的音频)发送到服务,然后服务将翻译后的文本发送回给客户端或Web应用程序使用。
Microsoft Translator服务是托管在Microsoft数据中心中的Azure服务,并从其他Microsoft云服务也获得的安全性,可伸缩性,可靠性和不间断可用性中受益。
微软翻译语音翻译
Microsoft Translator语音翻译技术从Skype Translator开始于2014年底推出,自2016年初开始作为开放API供客户使用。它已集成到Microsoft Translator实时功能,Skype,Skype会议广播和适用于Android的Microsoft Translator应用程序中,iOS和Windows。
语音翻译现在可以通过Microsoft Speech获得,Microsoft语音是一套完全可定制的端到端服务,用于语音识别,语音翻译和语音合成(文本到语音)。
文字翻译如何工作?
用于文本翻译的主要技术有两种:传统技术,统计机器翻译(SMT)和新一代技术,即神经机器翻译(NMT)。
统计机器翻译
Microsoft Translator实现的统计机器翻译(SMT)建立在Microsoft十多年来自然语言研究的基础上。现代翻译系统不是编写手工的规则来在语言之间进行翻译,而是将翻译视为从现有的人工翻译中学习语言之间的文本转换并利用应用统计和机器学习的最新进展的问题。
所谓的“平行语料库”在很大程度上充当着现代罗塞塔石碑,在上下文中为许多语言对和领域提供单词,短语和惯用语翻译。统计建模技术和高效算法可帮助计算机解决解密(检测训练数据中源语言和目标语言之间的对应关系)和解码(查找新输入句子的最佳翻译)问题。Microsoft Translator将统计方法的功能与语言信息结合在一起,以产生可以更好地泛化并导致更易理解的翻译的模型。
由于这种方法不依赖字典或语法规则,因此它提供了短语的最佳翻译,可以在给定单词周围使用上下文而不是尝试执行单个单词翻译。对于单字翻译,开发了双语词典。
神经机器翻译
持续改进翻译非常重要。但是,自2010年代中期以来,SMT技术的性能改进一直处于稳定状态。通过利用Microsoft的AI超级计算机(尤其是Microsoft Cognitive Toolkit)的规模和功能,Microsoft Translator现在提供了基于神经网络(LSTM)的翻译,从而使翻译质量提高了新的十年。
这些神经网络模型可通过Microsoft Speech和使用类别ID的文本API用于所有语音语言。
与传统的SMT相比,神经网络转换的执行方式根本不同。
以下动画描述了神经网络翻译要翻译句子所经历的各个步骤。由于采用这种方法,翻译将把整个句子纳入上下文,而不是SMT技术使用的仅几个单词滑动窗口,并且将产生更多流畅且人工翻译的翻译。
基于神经网络训练,每个单词均沿500维向量(a)编码,该向量表示特定语言对(例如英语和汉语)中其独特的特征。基于用于训练的语言对,神经网络将自定义这些维度应该是什么。他们可以编码一些简单的概念,例如性别(女性,男性,中性),礼貌程度(s语,随意,书面,形式等),单词类型(动词,名词等),以及其他任何非显而易见的特征从训练数据中得出。
神经网络翻译所经历的步骤如下:
  • 每个单词,或更确切地说是表示它的500维向量,都经过“神经元”的第一层,它将在表示句子中其他单词的上下文中的单词的1000维向量(b)中对其进行编码。
  • 一旦将所有单词一次编码到这些1000维向量中,该过程将重复几次,每一层都可以在完整句子的上下文中更好地微调该单词的1000维表示(与SMT技术相反)只能考虑3到5个字的窗口)
  • 然后,注意层(即软件算法)将使用最终输出矩阵,该注意层将使用此最终输出矩阵和先前翻译的单词的输出来定义接下来应翻译源句中的哪个单词。它还将使用这些计算来潜在地丢弃目标语言中不必要的单词。
  • 解码器(翻译)层以其最合适的目标语言等效语言翻译所选单词(或更具体地说,在完整句子的上下文中表示该单词的1000维向量)。然后将最后一层(c)的输出反馈到关注层,以计算应翻译源句子中的哪个下一个单词。

在动画所示的示例中,上下文感知的1000维模型“ the ”将编码为名词(house)是法语(la maison)中的女性词。这将允许为适当的翻译“ 的 ”是“ 拉 ”而不是“ 乐 ”(单数,雄性)或“ LES ”(复数)一旦到达解码器(翻译)层。
注意算法还将基于先前翻译的单词(在本例中为“ the ”)计算出,下一个要翻译的单词应该是主题(“ house ”)而不是形容词(“ blue ”) 。之所以可以实现这一目标,是因为系统了解到英语和法语会颠倒这些单词在句子中的顺序。还可以计算出,如果形容词是“ big ”而不是颜色,则它不应反转它们(“ the big house ” =>“ la grande maison ”)。
由于采用了这种方法,在大多数情况下,最终输出比基于SMT的翻译更流畅,更接近人工翻译。
语音翻译如何工作?
Microsoft Translator也能够翻译语音。该技术在翻译器实时功能,翻译器应用程序,Skype翻译器中公开,并且最初仅通过Skype翻译器功能以及在iOS和Android上的Microsoft翻译器应用程序中提供此功能。开发人员现在可以使用Azure门户上提供的最新版本的基于REST的开放式API进行开发。
尽管乍看之下从现有技术的基础上构建语音翻译技术似乎是一个简单的过程,但它需要做的工作比将现有的“传统”人机语音识别引擎简单地插入到现有文本中要多得多。翻译一。
为了将“源”语音从一种语言正确地翻译为另一种“目标”语言,系统需要经历四个步骤。
  • 语音识别,将音频转换为文本
  • TrueText:一种Microsoft技术,可对文本进行规范化以使其更适合翻译
  • 通过上述文本翻译引擎进行翻译,但使用专门为现实生活中的口语对话开发的翻译模型
  • 必要时进行文本到语音转换,以生成翻译后的音频。

自动语音识别(ASR)
使用经过培训的神经网络(NN)系统执行自动语音识别(ASR),该系统可分析数千小时的传入音频语音。该模型是根据人与人之间的交互而不是人与机器的命令进行训练的,从而生成针对常规对话进行了优化的语音识别。为了实现这一点,与传统的人机ASR相比,需要更多的数据以及更大的DNN。
 
TrueText
当人类与其他人类交流时,我们的讲话不像我们通常认为的那样完美,清晰或整洁。借助TrueText技术,通过消除语音差异(填充词)(例如“ um”,“ ah”,“ and”,“ like”,stutters和重复。通过添加句点,适当的标点符号和大写字母,还可以提高文本的可读性和可翻译性。为了获得这些结果,使用了数十年的语言技术工作,这是从Translator开发出来的,用于创建TrueText。下图通过一个真实的示例来描述TrueText进行各种转换以标准化此文本文本。

发表评论