zoukankan      html  css  js  c++  java
  • 机器翻译软件从实验室走向市场

      机器翻译软件从实验室走向市场                  冯志伟

        机器翻译研究如何用计算机来进行不同自然语言之间的翻译,它是自然语言计算机处理的一个历史悠久的部门,是横跨语言学、数学、计算机科学的综合性学科,也是计算机软件应用的一个重要领域。随着计算机网络的迅速普及和推广,随着信息高速公路的发展,网络上不同语言之间交际越来越普遍,语言的障碍也显得越来越严重,机器翻译是克服信息时代的语言障碍的不可缺少的手段,它在现代信息社会中的巨大作用将会越来越明显。由于自然语言的极端复杂性,机器翻译是当代科学技术的十大难题之一。

        早在在17世纪,一些有识之士就提出了采用机器词典来克服语言障碍的想法。笛卡儿(Descartes)和莱布尼兹(Leibniz)都试图在统一的数字代码的基础上来编写词典。在17世纪中叶,贝克(Cave Beck)、基尔施(Athanasius Kircher)和贝希尔(Johann Joachim Becher)等人都出版过这类的词典。由此开展了关于“普遍语言”的运动,一些人试图在逻辑原则和图形符号的基础上,创造出一种无歧义的语言,这样一来,人们就不必再由于误解而产生交际方面的困惑了。维尔金斯(John Wilkins) 在《关于真实符号和哲学语言的论文》(An Essay towards a Real Character and Philosophical  Language, 1668)中提出的中介语(Interlingua)是这方面最著名的成果,这种中介语的设计试图将世界上所有的概念和实体都加以分类和编码,有规则地列出并描述所有的概念和实体,并根据它们各自的特点和性质,给予不同的记号和名称。

           1903年,古图拉特(Couturat)和洛(Leau)在《通用语言的历史》一书中指出,德国学者里格(W. Rieger) 曾经提出过一种数字语法(Zifferngrammatik),这种语法加上词典的辅助,可以利用机械将一种语言翻译成其他多种语言,首次使用了“机器翻译” (德文是ein mechanisches Uebersetzen)这个术语。 

        本世纪30年代之初,亚美尼亚裔的法国工程师阿尔楚尼(G.B. Artsouni)提出了用机器来进行语言翻译的想法,并在1933年7月22日获得了一项“翻译机”的专利,叫做“机械脑”(mechanical brain)。这种机械脑的存储装置可以容纳数千个字元,通过键盘后面的宽纸带,进行资料的检索。阿尔楚尼认为它可以应用来记录火车时刻表和银行的帐户,尤其适合于作机器词典。在宽纸带上面,每一行记录了源语言的一个词项以及这个词项在多种目标语言中的对应词项,在另外一条纸带上对应的每个词项处,记录着相应的代码,这些代码以打孔来表示。要查询的词项也利用键盘打孔来表示,检索一个词项的时间大约时十到十五秒。阿尔楚尼的原型机于1937年正式展出,引起了法国邮政、电信部门的兴趣。但是,由于不久爆发了第二次世界大战,阿尔楚尼的机械脑无法安装使用。

        1933年,苏联发明家特洛扬斯基(П.П.ТРОЯНСКИЙ)设计了用机械方法把一种语言翻译为另一种语言的机器,并在同年9月5日登记了他的发明。特洛扬斯基认为翻译可以分为三个阶段,第一个阶段由只懂源语言的编辑,将输入的原文分析成特定的逻辑形式,将带有屈折词尾的变形词还原成原形词,并分析出各个单词的句法功能,为此,他创造了一套逻辑分析符号。第二阶段是利用他的翻译机,把源语言的原形词和逻辑符号转换成目标语言的原形词和符号。第三阶段由只懂目标语言的编辑,把目标语言的原形词和符号转换成目标语言。特洛扬斯基认为,他的翻译机只能在第二阶段作为自动词典来使用。不过他相信,只要能够建造出一部专门处理逻辑分析过程的机器,总有一天,上述的整个翻译程序都能够用机器来实现。特洛扬斯基这种认识,已经超越了“机器词典”的简单想法,比阿尔楚尼又进了一步。1939年,特洛扬斯基在他的翻译机上增加了一个用“光元素”操作的存储装置;1941年5 月,这部实验性的翻译机已经可以运作;1948年,他计划在此基础上研制一部“电子机械机”(electro-mechanical machine)。但是,由于当时苏联的科学家和语言学家对此反映十分冷淡,特洛扬斯基的翻译机没有得到支持,最后以失败告终了。

        机器翻译系统的研制是从40年代末期开始的。可以分为草创期、复苏期、发展期三个时期。

        (1)草创期(1954年-1970年):   

        1946年,美国宾夕法尼亚大学的埃克特(J. P. Eckert)和莫希莱(J.W.Mauchly)设计并制造出了世界上第一台电子计算机ENIAC,电子计算机惊人的运算速度,启示着人们考虑翻译技术的革新问题。因此,在电子计算机问世的同一年,英国工程师布斯(A.D.Booth)和美国洛克菲勒基金会副总裁韦弗(W.Weaver)在讨论电子计算机的应用范围时,就提出了利用计算机进行语言自动翻译的想法。1947年3月6日,布斯与韦弗在纽约的洛克菲勒中心会面,韦弗提出,“如果将计算机用在非数值计算方面,是比较有希望的”。在韦弗与布斯会面之前,韦弗在1947年3月4日给控制论学者维纳(N. Wiener)写信,讨论了机器翻译的问题,韦弗说:“我怀疑是否真的建造不出一部能够作翻译的计算机?即使只能翻译科学性的文章(在语义上问题较少),或是翻译出来的结果不怎么优雅(但能够理解),对我而言都值得一试。”可是,维纳给韦弗泼了一瓢冷水,他在4月30日给韦弗的回信中写道:“老实说,恐怕每一种语言的词汇,范围都相当模糊;而其中表示的感情和言外之意,要以类似机器翻译的方法来处理,恐怕不是很乐观的。”不过韦弗仍然坚持自己的意见。1949年,韦弗发表了一份以《翻译》为题的备忘录,正式提出了机器翻译问题。在这份备忘录中,他除了提出各种语言都有许多共同的特征这一论点之外,还有两点值得我们注意:

        第一,他认为翻译类似于解读密码的过程。他说:“当我阅读一篇用汉语写的文章的时候,我可以说,这篇文章实际上是用英语写的,只不过它是用另外一种奇怪的符号编了码而已,当我在阅读时,我是在进行解码。”备忘录中记载了一个有趣的故事,布朗大学数学系的吉儿曼(R. E. Gilmam)曾经解读了一篇长约一百个词的土耳其文密码,而他既不懂土耳其文,也不知道这篇密码是用土耳其文写的。韦弗认为,吉尔曼的成功足以证明解读密码的技巧和能力不受语言的影响,因而可以用解读密码的办法来进行机器翻译。

       第二,他认为原文与译文“说的是同样的事情”,因此,当把语言A翻译为语言B时,就意味着,从语言A出发,经过某一“通用语言” (Universal Language)或“中间语言”(Interlingua),然后转换为语言B,这种“通用语言”或“中间语言”,可以假定是全人类共同的。

        可以看出,韦弗把机器翻译仅仅看成一种机械的解读密码的过程,他远远没有看到机器翻译翻译在词法分析、句法分析以及语义分析等方面的复杂性。

        由于学者的热心倡导,实业界的大力支持,美国的机器翻译研究一时兴盛起来。1954年,美国乔治敦大学在国际商用机器公司(IBM公司)的协同下,用IBM-701计算机,进行了世界上第一次机器翻译试验,把几个简单的俄语句子翻译成英语,接着,苏联、英国、日本也进行了机器翻译试验,机器翻译出现热潮。

        早期机器翻译系统的研制受到韦弗的上述思想的很大影响,许多机器翻译研究者都把机器翻译的过程与解读密码的过程相类比,试图通过查询词典的方法来实现词对词的机器翻译,因而译文的可读性很差,难于付诸实用。

        1964年,美国科学院成立语言自动处理谘询委员会(Automatic Language Processing Advisory Committee,简称ALPAC委员会),调查机器翻译的研究情况,并于1966年11月公布了一个题为《语言与机器》的报告,简称ALPAC报告,对机器翻译采取否定的态度,报告宣称:“在目前给机器翻译以大力支持还没有多少理由”;  报告还指出,机器翻译研究遇到了难以克服的“语义障碍”(semantic barrier)。

        在ALPAC报告的影响下,许多国家的机器翻译研究低潮,许多已经建立起来的机器翻译研究单位遇到了行政上和经费上的困难,在世界范围内,机器翻译的热潮突然消失了,出现了空前萧条的局面。

        不过,尽管在萧条时期,法国、日本、加拿大等国,仍然坚持着机器翻译研究,于是,在 70 年代初期,机器翻译又出现了复苏的局面。

    (2)复苏期(1970年-1976年):

        在这个复苏期,研究者们普遍认识到,原语和译语两种语言的差异,不仅只表现在词汇的不同上,而且,还表现在句法结构的不同上,为了得到可读性强的译文,必须在自动句法分析上多下功夫。

        早在1957年,美国学者英格维(V. Yingve)在《句法翻译的框架》(Framework for Syntactic Translation)一文中就指出,一个好的机器翻译系统,应该分别地对原语和译语都作出恰如其分的描写,这样的描写应该互不影响,相对独立。英格维主张,机器翻译可以分为三个阶段来进行。

        第一阶段:用代码化的结构标志来表示原语文句的结构;

        第二阶段:把原语的结构标志转换为译语的结构标志;

        第三阶段:构成译语的输出文句。

        英格维的这些主张,在这个时期广为传播,并被机器翻译系统的开发人员普遍接受,因此,这个时期的机器翻译系统几乎都把句法分析放在第一位,并且在句法分析方面取得了很大的成绩。

        这个时期机器翻译的另一个特点是语法(grammar)与算法(algorithm)分开。

        早在1957年,英格维就提出了把语法与“机制”(mechanism)分开的思想。英格维所说的“机制”,实质上就是算法。所谓语法与算法分开,就是要把语言分析和软件程序设计分开,程序设计工作者提出规则描述的方法,而语言学工作者使用这种方法来描述语言的规则。语法和算法分开,是机器翻译技术的一大进步,它非常有利于程序设计工作者与语言工作者的分工合作。

        这个复苏期的机器翻译系统的典型代表是法国格勒诺布尔理科医科大学自动翻译中心(GETA)的机器翻译系统。这个自动翻译中心的主任沃古瓦(B. Vouquois)教授明确地提出,一个完整的机器翻译过程可以分为如下六个步骤:

        (1)原语词法分析,(2)原语句法分析,(3)原语译语词汇转换,(4)原语译语结构转换,(5)译语句法生成,(6)译语词法生成。

        其中,第一、第二步只与原语有关,第五、第六步只与译语有关,只有第三、第四步牵涉到原语和译语二者。这就是机器翻译中的“独立分析-独立生成-相关转换”的方法。他们用这种研制的俄法机器翻译系统,已经接近实用水平。

    (3)繁荣期(1976年--现在)。

         繁荣期的最重要的特点,是机器翻译研究走向了实用化,出现了一大批实用化的机器翻译系统,机器翻译软件产品开始进入市场,变成了商品,由机器翻译系统的实用化引起了机器翻译软件的商品化。

        机器翻译的繁荣期是以1976年加拿大蒙特利尔大学与加拿大联邦政府翻译局联合开发的实用性机器翻译系统 TAUM-METEO 正式提供天气预报服务为标志的。这个机器翻译系统投入实用之后,每小时可以翻译6万-30万个词,每天可以翻译1500-2000篇天气预报的资料,并能够通过电视、报纸立即公布。TAUM-METEO系统是机器翻译发展史上的一个里程碑,它标志着机器翻译由复苏走向了繁荣。

        传统的机器翻译系统,按其翻译方式来分。可大致分为直译式、转换式和枢轴式三种类型。

        1.直译式:把原语的词或句子直接替换成译语的词或句子,必要时对词序进行适当的调整。这种直译式广泛地应用于早期的机器翻译系统中。目前,仍然有不少系统采用直译式来进行机器翻译。一个极端的例子就是袖珍旅游翻译机,这种翻译机存贮着原语的常用句子及其相应的译语的译文,翻译时直接查出其对应物即可。比较复杂的直译式是句法直译式、语义直译式。在直译时要进行词语的选择和词序的变换。

        2.转换式:在原语和译语之间设定能在一定程序上表现语义关系的中间表达式,根据中间表达式所处平面的不同,又可分为句法转换式和语义转换式。句法转换式一般以树形图作为句法结构的中间表达式,语义转换式一般采用语义网络作为中间表达式。在采用语义转换式的机器翻译系统中,在表层结构上出现歧义的句子,在语义的中间表达式这一平面上不会再有歧义。因此转换规则的数目不多,这是其优点。但其缺点是为了得到这样的中间表达式,需要进行大量的分析和运算,而且由这样的中间表达式去生成译文也是十分困难的。

         3.枢轴式:把语义转换式推到极限,用中间表达式来表示不依赖于任何具体语言的普遍意义,这种普遍意义就是枢轴。在枢轴式中,原语和译语之间不再需要进行什么转换,转换规则的数目减少到零,翻译的过程就是首先把原语的文句变为枢轴中的普遍意义,再由普遍意义生成译文。由于完全取消了转换规则,所以,原语的分析和译语的生成都比较复杂。

        传统的机器翻译方法都是基于规则的机器翻译方法,由于分析技术的限制,大多数都以句法直译式和句法转换式为其主流。

        除了传统的机器翻译方法之外,近年来还出现了基于经验的机器翻译方法。所谓“基于经验”,一是指基于统计,一是指基于实例。基于经验的机器翻译系统的研制,需要大规模真实语料库的支持。

      1993年7月在日本神户召开的第四届机器翻译高层会议(MT Summit IV)上,英国著名学者哈钦斯(J. Hutchins)在他的特约报告中指出,自1989年以来,机器翻译的发展进入了一个新纪元。这个新纪元的重要标志是,在基于规则的技术中引入了语料库方法,其中包括统计方法,基于实例的方法,通过语料加工手段使语料库转化为语言知识库的方法,等等。这种建立在大规模真实文本处理基础上的机器翻译,是机器翻译研究史上的一场革命,它将会把自然语言的计算机处理推向一个崭新的阶段。

        早在1949年,韦弗在他的备忘录中,就提出了使用统计学的办法来解决机器翻译问题,但是,由于当时尚缺乏高性能的计算机和联机语料,采用基于统计的机器翻译在技术上还不成熟。现在,这种局面已经大大改变了,计算机在速度和容量上多有了大幅度的提高,也有了大量的联机语料可供统计使用,因此,在 90 年代,基于统计的机器翻译又兴盛起来。

        基于统计的机器翻译把机器翻译问题看成是一个噪音信道问题,如图所示:

                           S → 噪音信道  → T

        可以这样来看机器翻译:一种语言S由于经过了一个噪音信道而发生了扭曲变形,在信道的另一端呈现为另一种语言T,翻译问题实际上就是如何根据观察到的语言T,恢复最为可能的语言S。语言S是信道意义上的输入,在翻译意义上就是目标语言,语言T是信道意义上的输出,在翻译意义上就是源语言。从这种观点看来,一种语言中的任何一个句子都有可能是另外一种语言中的某几个句子的译文,只是这些句子的可能性各不相同,机器翻译就是要找出其中可能性最大的句子,也就是对所有可能的目标语言S计算出概率最大的一个作为源语言T的译文。由于S的数量巨大,可以采用栈式搜索(stack search)的方法。栈式搜索的主要数据结构是表结构,表结构中存放着当前最有希望的对应于T的S,算法不断循环,每次循环扩充一些最有希望的结果,直到表中包含一个得分明显高于其它结果的S时结束。栈式搜索不能保证得到最优的结果,它会导致错误的翻译,因而只是一种次优化算法。

        基于统计的机器翻译进行概率计算时,采用隐马尔可夫模型(Hidden Markov Model, 简称HMM)。隐马尔可夫模型是马尔可夫模型的扩展。马尔可夫模型描述的是一个随机过程,而隐马尔可夫模型中有两个随机过程,一个随机过程描述观察值(例如, 具体的单词)和状态(例如, 该单词可能标注的词类)之间的概率关系,即观察值是状态的概率函数,另一个随机过程描述状态之间(例如, 词类标记与词类标记之间)的转移关系。作为外界的观察者来说,只能看到状态产生的观察值,而看不到状态之间的转移,状态之间的转移是隐藏的,所以叫做隐马尔可夫模型。近年来,利用隐马尔可夫模型在词性标注方面取得了较好的结果,从而推动了基于统计的机器翻译的研究。

        基于实例的机器翻译的思想最早是由日本机器翻译专家长尾真(Makoto Nagao)提出来的。他在1984年发表了《采用类比原则进行日-英机器翻译的一个框架》一文,探讨日本人初学英语时翻译句子的基本过程,长尾真认为,初学英语的日本人总是记住一些最基本的英语句子以及一些相对应的日语句子,他们要对比不同的英语句子和相对应的日语句子,并由此推论出句子的结构。参照这个学习过程,在机器翻译中,如果我们给出一些英语句子的实例以及相对应的日语句子,机器翻译系统来识别和比较这些实例及其译文的相似之处和相差之处,从而挑选出正确的译文。长尾真指出,人类并不通过做深层的语言学分析来进行翻译,人类的翻译过程是:首先把输入的句子正确地分解为一些短语碎片,接着把这些短语碎片翻译成其它语言的短语碎片,最后再把这些短语碎片构成完整的句子,每个短语碎片的翻译是通过类比的原则来实现的。因此,我们应该在计算机中存储一些实例,并建立由给定的句子找寻类似例句的机制,这是一种由实例引导推理的机器翻译方法,也就是基于实例的机器翻译方法。

        在基于实例的机器翻译系统中,系统的主要知识源是双语对照的翻译实例库,实例库主要有两个字段,一个字段保存源语言句子,另一个字段保存与之对应的译文,每输入一个源语言的句子时,系统把这个句子同实例库中的源语言句子字段进行比较,找出与这个句子最为相似的句子,并模拟与这个句子相对应的译文,最后输出译文。

        基于实例的机器翻译系统中,翻译知识以实例和义类词典的形式来表示,易于增加或删除,系统的维护简单易行,如果利用了较大的翻译实例库并进行精确的对比,有可能产生高质量译文,而且避免了基于规则的那些传统的机器翻译方法必须进行深层语言学分析的难点。在翻译策略上是很有吸引力的。

        要进行基于实例的机器翻译需要研究如下问题:

        第一,正确地进行双语自动对齐(alignment):在实例库中要能准确地由源语言例句找到相应的目标语言例句,在基于实例的机器翻译系统的具体实现中,不仅要求句子一级的对齐,而且还要求词汇一级甚至短语一级的对齐。

        第二,建立有效的实例匹配检索机制:很多研究者认为,基于实例的机器翻译的潜力在于充分利用短语一级的实例碎片,也就是在短语一级进行对齐,但是,利用的实例碎片越小,碎片的边界越难于确定,歧义情况越多,从而导致翻译质量的下降,为此,要建立一套相似度准则(similarity metric),以便确定两个句子或者短语碎片是否相似。

        第三,根据检索到的实例生成与源语言句子相对应的译文:由于基于实例的机器翻译对源语言的分析比较粗,生成译文时往往缺乏必要的信息,为了提高译文生成的质量,可以考虑把基于实例的机器翻译与传统的基于规则的机器翻译方法结合起来,对源语言也进行一定深度的分析。

        我国是继美国、苏联、英国之后,世界上第四个开展机器翻译研究工作的国家。当今在机器翻译方面居于先进水平的日本,是在1958年才开始进行机器翻译的,起步比我国为晚。

        与国外机器翻译的发展情况相比较,我国机器翻译除了有草创期、复苏期和繁荣期之外,由于文化革命的影响,还有一个非常特别的时期--停滞期,而且,由于我国机器翻译在理论上和方法上以及设备上的底子都很薄,我国机器翻译的每一个时期又都比国外机器翻译的同样时期稍微滞后。

        (1)草创期(1956年--1966年)

        在这个时期,我国学者对机器翻译进行了初步的探索和试验。1956年,国家便把机器翻译研究列入了我国科学工作的发展规划,成为其中的一个课题,课题的名称是:“机器翻译、自然语言翻译规则的建立和自然语言的数学理论”。1957年,中国科学院语言研究所与计算技术研究所合作,开展俄汉机器翻译的研究。1959年,他们在我国制造的104大型通用电子计算机上,进行了俄汉机器翻译试验,翻译了9个不同类型的、较为复杂的句子。在这个草创时期,北京外国语学院、北京俄语学院、广州华南工学院、哈尔滨工业大学也分别成立了机器翻译研究组,开展俄汉或英汉机器翻译的试验。

        (2)停滞期(1966年--1975年)

         在这个时期,除了极少数的机器翻译研究者在极端恶劣的条件下继续进行理论探索之外,没有进行任何的机器翻译研究和试验。

        (3)复苏期(1975年--1987年)

        在这个时期,我国机器翻译研究重振旗鼓,开始复苏,继续进行机器翻译研究。1975年11月,在中国科学技术情报研究所设立了一个由情报所、语言所和计算所等单位的工作人员组成的机器翻译协作研究组,以冶金题录5000条为试验材料,制定英汉机器翻译方案并上机试验。1978年5月,在计算所111机上进行抽样试验,抽样20条,达到了预期的效果。在这个时期,我国学者还开展了法汉、德汉、日汉以及汉-法/英/日/俄/德多语言机器翻译试验,取得了一定的成效。

        (4)繁荣期(1987年--现在)

         这个时期是以中国软件技术公司的“译星1号”机器翻译系统的问世为标志的。继“译星1号”之后,一系列的实用化商品化的机器翻译系统如雨后春笋般地推向市场,北京的“高立”系统、陕西的“朗威”系统、天津的“通译”系统、深圳的LIGHT系统都拥有了一定数量的用户,我国的机器翻译迈向了实用化和商品化的阶段,机器翻译软件从实验室走向了市场。在这个时期,我国也开展了基于实例的机器翻译研究,并取得了初步的成果。

    谷歌最近开始42种语言的自动翻译免费服务,是机器翻译发展史上的重大进展。

    机器翻译是国际十大科技难题之一,由于自然语言是十分复杂和丰富的,不可能用电子计算机表达得淋漓尽致,因此,机器翻译与人工翻译总是会存在一定的差距。人类对于自然语言的认识是没有止境的,机器翻译软件的研究和探索也是没有止境的。

     注: 文章引用自:http://blog.sina.com.cn/s/blog_72d083c70100nyxv.html

                           参考文献

    1.    W. J. Hutchens, latest Development in MT Technology: Beginning a New Era in MT Research. In : Proceedings of Machine Translation Summit-IV, Kobe, Japan, 1993.

    2.    冯志伟,自动翻译,上海知识出版社,1987年。

    3.    冯志伟,自然语言机器翻译新论,语文出版社,1994年。

    4.    冯志伟,自然语言的计算机处理,上海外语教育出版社,1996年。

  • 相关阅读:
    java8 .stream().map().collect()
    函数式编程扫盲篇(转载)
    如何成为Python高手(转载)
    JAVA通过XPath解析XML性能比较(原创)
    不要过早退出循环 while(1){no break}
    搭建harbor私有仓库
    Supervisor进程管理
    一键部署redis-5.0.5
    Linux下的crontab定时执行任务命令详解
    利用shell脚本实现对mysql数据库的备份
  • 原文地址:https://www.cnblogs.com/inspirationhyl/p/3636040.html
Copyright © 2011-2022 走看看