今年三月,在旧金山举办的微软Build 2016开发者大会,微软除了展示了拥抱开源的新变化,以及诸如Windows 10、Azure等一众令人兴奋的产品和策略外,还有一个小细节吸引了众多观众的目光——全程演讲的实时翻译字幕。
可不要小看这个实时翻译字幕,这并不是针对稿件提前准备好的翻译,而是利用微软成熟的语音翻译技术,对演讲内容进行的实时翻译,并且准确度很可观。
微软研究院Microsoft Translator产品战略总监Olivier Fontana介绍道:“Microsoft Translator基于云计算的开放API服务,隶属于微软人工智能大产品系统的Cortana分析套件,是微软以机器学习、大数据、自然语言和云计算等前沿技术为基础打造的自动翻译服务,也是微软众多人工智能研究成果中投入使用最早也最广泛的应用之一。”
作为一个能听会说多种语言的人工智能服务,Microsoft Translator在语音翻译服务方面已经提前取得了成功的实践。目前,Microsoft Translator可以支持50多种语言的文本翻译、8种语言的实时语音翻译和18种语言的语音识别和输出。Olivier Fontana告诉记者,即使是《星际迷航》中外星人使用的克林贡语(Klingon Language),Microsoft Translator也照翻不误。
而在微软看来,这款连外星人都阻止不了的翻译软件可不只是简单地用于多语言翻译,它与微软帮助企业重塑生产力流程的大目标密不可分。
重塑企业生产力流程
Cortana分析套件发布于2015年7月的WPC2015大会,微软希望Cortana分析套件借助机器学习、大数据存储、云处理、面部和语音识别等技术,帮助企业用户加快决策时间,以及处理问题的速度。
随后,在微软Build 2016开发者大会上,微软CEO萨提亚·纳德拉也指明了微软未来的一个发展方向,即让人类的自然语言与先进的机器智能进行交互,也就是“对话即平台(Conversation as a Platform)”的概念。
下面,我们通过一张图直观地了解Microsoft Translator文本翻译的商用场景展现(如下图)。此外,其语音翻译的商用场景主要包括在线会议翻译、音频字幕等。事实上,早在2012年,微软研究院创始人Rick Rashid在“21世纪的计算大会”上就曾经公开演示了一个全自动实时语音翻译系统,该系统将英文演讲实时转换成用 Rashid声音发出的中文语音,而这也是这项技术的成功实践之一。
Microsoft Translator的企业级应用除了具备广泛、优质的多语言支持,同时也具备有效的扩展性,适应从几句话到每天数十亿的翻译量,达到Bing数据中心的规模。
Fontana在接受记者采访时特意展示了Microsoft Translator和瑞典一家电信公司合作推出的集成电话翻译服务,这是一项针对瑞典外来移民的惠民服务,使用者在通话中就直接可以获得语音翻译服务,支持外来移民更容易融入当地的生活和工作环境。
事实上,由于全球经济的融合度越来越高,企业在运营中很容易遇到跨语言办公协作的问题,无论是邮件还是会议,跨语言沟通带给企业的成本都不是一件小事,因此,准确、及时的跨语言翻译确实能够满足企业运营和发展的需要。
云计算、大数据和深度神经网络带来的突破
Microsoft Translator为企业服务,翻译的准确性要求更高,当然从技术实现的角度看也就更不容易。
事实上,机器翻译和语音识别技术已经发展很多年了,早在1949年就有了相关技术的探索。不过,该技术真正取得突破性进展、达到实际应用阶段也只是近五年。原因无他,就是走了很多弯路。
早期的语言翻译技术的研究受到传统语言学研究的影响,普遍认为分析语句和获取语义对于机器理解自然语言至关重要,加上语法规则又很容易用计算机的算法描述,因此这种基于规则的自然语言的处理方法曾一度获得很多拥护者。但是,即便科学家们不断完善自然语言语法规则,但是这种方式的弊端也很快就暴露出来了。
著名自然语言处理和搜索专家吴军曾在《数学之美》一书中明确指出,这种处理方式有两个过不去的“坎儿”,第一,要想通过文法规则覆盖哪怕20%的真实语句,文法规则的数量(不包括词性标注规则)也至少有几万条,并且到后期,这些规则甚至会自相矛盾;其次,即使能够写出涵盖所有自然语言现象的语法规则集合,也很难用计算机来解析,甚至一个只有二三十个词语的句子也需要一两分钟的时间,计算量太大难以实现。
1970年以后,新的统计语言学的出现为自然语言处理打开一扇新的门,基于这种方法,IBM将当时的语音识别率从70%提升到90%,语音识别规模也从几百个单词上升到几万个单词。1990年,开创性的论文《A Statistical Approach to Machine Translation》发布,提出使用基于对大量数据加以分析的统计方式来构建机器翻译系统的观点。最近几年,行业开始引进深层神经网络(DNN)的算法,DNN技术为语音识别领域带来了新的突破。
据了解,目前这项技术的核心是建立统计语言模型,而语言模型的有效性则依赖强大的计算能力和足够多的数据对该模型进行训练,语言模型越复杂则需要的计算量越大,并且语料库的选取至关重要,如果语料库与模型脱节,那么模型效果往往会大打折扣。
Fontana表示,Microsoft Translator是基于云计算的API服务,文本或者语音的识别都是在云端。这种形式的好处是,云计算为机器学习训练提供了大量的运算能力,使在相对短的时间内完成这些大量数据的计算训练成为可能。此外,Microsoft Translator要服务数以百万计的个人用户和企业用户,他们的翻译请求往往会同时发送到服务器,因此只有借助云计算这样的技术,才能够为遍布全球各地的用户同时提供服务。
除了大量的计算能力,微软也非常注重语料数据的收集。Fontana表示,文本翻译技术相对来说比较成熟,通过将大量的一对一的语料库输入到机器里进行训练,当用户输入语言文本时,系统会根据大量的数据分析生成几百个甚至上千个翻译结果,然后基于语言学(断句等)规则,判断这些翻译结果中哪些更靠近实际意思并输出给用户。这种翻译原理与字典没有关系,而是依赖语料数据,数据越多,翻出的结果也更贴近真正含义。
但是,语音的识别和翻译就没有那么容易了。人们在说话时,口语与书面用语并不一样,同时,不同语言的差异也非常大,即使是同一种语言,其口语也夹杂了口音、语调、频率、个人习惯用语等因素,哪怕是说法人的性别也会影响语音的识别正确率。为此,微软花费了大量的时间和精力去收集不同语言的口语语料数据,并根据不同语种建立专门的口语语料库和相对应的语言模型。
据了解,语音翻译的过程,首先是使用DNN技术的语音识别系统将输入的语音变为文本,然后将文本从语言A通过智能文本校正将人们口语化的交流转换为规范的文本,然后转换成语言B,最后实现语言B的文本转换成语音。Fontana表示:“我们每两周做一次机器学习的训练,通过专业人士的训练不断提升Microsoft Translator的准确性。”
除此之外,为了更准确地识别专业领域的文本和语音,Microsoft Translator还为企业用户提供可定制的服务,以提升其翻译的准确度。Fontana表示,企业客户可以通过一个名为Translator Hub的在线工具,提交自身的专业领域的定制语料库,Translator Hub就可以形成企业自己的语料库,每次翻译调用的时候先调用微软的通用语料库,然后再调用企业的专业语料库,最终形成更有针对性的相对优化的输出结果。“当然,这个前提是企业自身需要花时间去收集自身的语料库。”Fontana强调说。