您的位置:首页 > 其它

机器翻译需要的软件 自然语言处理专业所涉及的软件

2014-08-03 20:36 302 查看
、第一个开源的统计机器翻译工具包——Egypt

如前所述,Egypt是在1999年约翰霍普金斯大学统计机器翻译夏季讨论班上,由一些研究人员共同合作开发的统计机器翻译工具包。它包括4个模块:

Whittle:语料库预处理模块;

GIZA:用于从句子对齐的双语语料库中训练词语对齐;

Cairo:词语对齐的可视化工具

Decoder:解码器,即用来执行具体的翻译过程模块,这一模块没有开放源码

在讨论班的最后一天,研究者们利用Egypt在一天之内搭建了一个新语对的翻译系统,显示了统计机器翻译的强大威力。随着技术的快速发展,Egypt中使用的很多方法现在已经过时了,然而,其中用于训练词语对齐的模块GIZA现在仍然被广泛使用,利用它能够非常方便地从大规模的双语文本中获得统计知识。

现在大家使用的是它的改进版本GIZA++,GIZA++实现了IBM公司提出的5个模型,其主要思想是利用EM算法1对双语语料库进行迭代训练,由句子对齐得到词语对齐。

如果计算机内存足够的话,它能够训练非常大规模的语料。在我们的实验过程中,使用8G内存训练二百万句对,大约需要3天时间。这一过程完全由计算机自动进行,不用人工干预,节省了很多的人力。而且GIZA是独立于语言的,能够对任何两种语言进行训练,这也是统计机器翻译的优点之一。现在几乎所有的统计机器翻译系统都利用这一工具进行词语对齐的训练。

2、语言模型训练工具——SRILM

在介绍SRILM之前,我们首先介绍一下语言模型的概念。语言模型被广泛应用于自然语言处理的各个领域,来衡量某种语言中一个句子符合语法的程度。例如,有如下两个英语句子:

S1:There is a cup on the table.

S2:There are a cup on the table.

在人类看来,显然第一个句子更符合英语语法,单数形式的谓语动词应该是“is”,而不是“are”。但是,如何让计算机知道这一知识呢?这项工作由语言模型来完成。语言模型实际上是一种概率分布,它给出了一种语言中所有可能的句子出现的概率。在它看来,一种语言中,任何可能的单词排列都是可能被接受的句子,只是被接受的概率不同。在统计机器翻译中,根据从语料库中获取的知识(例如单词的翻译概率等),一句话可能有很多译文。有些符合语法和人们的表达习惯(例如S1),有些则可能不符合语法(例如S2)。语言模型赋予这些句子不同的概率,用以选择最优的译文。

SRILM是一个建立和使用统计语言模型的开源工具包,从1995年开始由SRI 口语技术与研究实验室(SRI Speech Technology and Research Laboratory)开发,现在仍然不断推出新版本,被广泛应用于语音识别、机器翻译等领域。这个工具包包含一组C++类库、一组进行语言模型训练和应用的可执行程序等。利用它可以非常方便地训练和应用语言模型。

输出则是N元语法的概率。给定一组连续的词,调用SRILM提供的接口,可以得到这组词出现的概率。

3、机器翻译的自动评测工具——Mteval

如何来评价一个机器翻译系统所产生的译文的好坏呢?这是一个比较困难的工作。很多时候连我们人类自己都难以判断到底哪个译文比较好,何况机器呢。然而,我们仍然希望能够有一个客观的自动评价方法,帮助我们快速地评价系统译文的好坏,在此基础上,人们再进行进一步的评价。在现在著名的统计机器翻译国际评测中普遍使用自动评测与人工评测相结合的方法,例如美国国家技术和标准研究所(NIST)举行的评测。Mteval便是他们开发的自动评测工具,最新版本是mteval-11b.pl,是用perl语言写成的。

为了能够进行自动评价,我们必须事先有“标准答案”。在评测中,翻译系统要翻译几百个乃至上千个句子。这些句子由人事先进行翻译,作为标准答案。为了更加客观,一般都由4个不同的人来翻译。评测工具通过比较系统译文和标准答案,根据评测指标进行打分。现在普遍采用BLEU作为机器翻译的评测指标,它是基于N元语法来计算的。

4、第一个基于短语的统计机器翻译系统——法老(Pharaoh)

“法老”是较早公开的统计机器翻译系统,是由美国南加州大学信息科学实验室(Information Science Institute)的菲利普.科恩(Philipp Koehn)在2004年做博士论文期间编写的。可能由于较早的开源软件以“埃及(Egypt)”命名的缘故吧,这一系统也采用埃及的代表性事物“法老(Pharaoh)”命名。它是一个基于短语的(Phrased-based)统计机器翻译系统。为此,我们首先要了解一下基于短语的系统的工作原理。基于短语的方法是目前比较成熟的统计机器翻译技术,它的主要思想是以短语作为翻译的基本单元。给定一个源语言句子,其翻译过程如下:

1. 对源语言句子进行短语划分;

2. 根据翻译模型翻译每个短语;

3. 对短语进行重排序。

“法老”正是基于这一思想的统计机器翻译系统。它包括两大部分;训练和解码。训练过程用来从语料库中获得统计知识。它利用了已有的开源软件GIZA++和SRILM,GIZA++用来训练词语对齐,SRILM训练语言模型。既然是以短语作为翻译的基本单元,因此还需要获得关于短语翻译的知识。通过前面的介绍我们知道通过GIZA++训练可以得到单词对齐,根据单词对齐我们可以进行短语抽取。请注意,这里我们所说的短语是指任意连续的单词串,而不管它是否具有语法意义。

我们能抽取到的双语短语有:(新华社 | Xinhua News Agency)、(新华社 北京 | Xinhua News Agency, Beijing)、(新华社 北京 二月 | Xinhua News Agency, Beijing, February)、(新华社 北京 二月 十二日| Xinhua News Agency, Beijing, February 12)、(新华社 北京 二月 十二日 电| Xinhua News Agency, Beijing, February 12, by wire)、(北京 | Beijing)、(北京 二月 | Beijing, February)、(北京 二月 十二日| Beijing, February 12)、(北京 二月 十二日 电| Beijing, February 12, by wire)、(二月 | February)、(二月 十二日 | February 12)、(二月 十二日 电| February 12, by wire)、(十二日 | 12)、(十二日 电| 12, by wire)、(电| by wire)。由此可见,从语料库中学习到的短语数量是非常庞大的。

解码过程(即翻译过程)实际上是一个搜索的过程。对于输入的句子,进行短语的划分,然后根据已有的短语表搜索它们的最优组合,产生最终的译文。这一部分并没有公开源码,不过在科恩写的文档中有非常详细的介绍,根据这些介绍可以很容易地进行实现。

“法老”的出现对于推动统计机器翻译的发展起到了非常大的作用,由于它原理简单,易于使用,很多研究者都在它的基础上进行试验,或者把它作为基线系统(baseline)进行比较。

5、中国第一个开源的统计机器翻译系统——丝路(SilkRoad)

“法老”的出现揭开了统计机器翻译的神秘面纱,然而其核心部分——解码器的源码仍然没有公开。为此,中国的研究人员联合开发了一个完全开放源代码的统计机器翻译系统——“丝路”。该系统由中国的五家研究机构和高校(中科院计算所、中科院自动化所、中科院软件所、厦门大学、哈尔滨工业大学)联合开发,并在2006年中国第二届统计机器翻译研讨会上发布。“丝路”包括以下模块:语料预处理及后处理模块“仙人掌”、词语对齐模块“楼兰”、短语抽取模块“胡杨”、以及三个解码器(“骆驼”、“绿洲”和“商队”)。

国内的统计机器翻译起步比较晚,在2004年左右才陆续有单位开始做相关的研究工作。很多人对统计机器翻译还非常陌生,对国际上的研究现状也不熟悉。针对这种情况,国内几家从事统计机器翻译研究的单位联合开发了“丝路”系统,希望它能够像古代的“丝绸之路”一样贯通中西,藉此既能让国外的同行了解我们的工作,也能使我们学习到国外的先进技术。“丝路”充分利用了国际上已有的开源工具,比如GIZA++,SRILM等,此外,联合开发单位还开发了三个解码器,并完全开放了源代码,第一次将一个完整的统计机器翻译系统公开,极大地促进了国内统计机器翻译的快速发展。

6、摩西(Moses)

“摩西”是“法老”的升级版本,增加了许多功能。它是由英国爱丁堡大学、德国亚琛工业大学等8家单位联合开发的一个基于短语的统计机器翻译系统。来自这8家单位的研究人员于2006年在约翰霍普金斯大学召开了一次研讨会,利用6个星期的时间共同开发了这一系统。整个系统用C++语言写成,从训练到解码完全开放源代码,可以运行在Windows平台和Linux平台。

相比于“法老”,“摩西”主要有如下几个新的特性:

使用要素翻译模型(Factored Translation Model)

在一般的统计机器翻译系统中,翻译的过程就是将源语言文本翻译为目标语言文本。这一过程仅仅考虑了单词的词形,例如将“房子”翻译为“house”。但是,语言现象是非常复杂的,在英语中,单词就有单复数形式、时态变化等等。在一般的处理过程中,“house”和“houses”被看作完全不同的两个词,这显然不合理。要素翻译模型就是为了处理这种情况而诞生的。

在要素翻译模型中,一个单词不仅仅是一个符号(token),而是一个包含多个要素的向量,例如词目、词性等。这些要素共同作用来刻画一个单词。例如对于“houses”,它有以下要素:词目是“house”,词性是“NN”。表示为“houses|house|NN”。在翻译的过程中这些要素被分别翻译,例如源语言的单词翻译为目标语言的单词,源语言单词的词性翻译为目标语言的词性等。在翻译完成后,根据这些要素来产生最终的单词,比如最终“房子”对应译文的要素是“名词,复数形式”,我们就可以选择“houses”,而非“house”。

混合网络解码(Confusion Network Decoding)

当前的机器翻译系统能够接受的输入一般是纯文本形式的一串单词(一句话或者一篇文章),而现在将机器翻译系统作为一个大的信息处理系统的组成部分的需求日益增长,它的输入可能不再是纯文本的形式,而是其它模块的输出结果,例如命名实体识别的结果,或者语音识别的结果。这样的输入不再是单一的,而是可能含有错误的、多种可能性的输入。混合网络解码允许这种多可能性的输入,最终选择最优译文。

此外“摩西”还提供了丰富的测试工具,供研究者测试系统的性能,跟踪系统运行等。这一系统的性能已经超过了“法老”,目前还在不断地完善。

7、基于句法的统计机器翻译系统——GenPar

GenPar是Generalized Parsing 的缩写。这一工具包实现了一个基于句法的统计机器翻译系统。基于句法的方法将句法结构信息引入到统计机器翻译中来,目前已成为统计机器翻译领域的研究热点。但是构建基于句法的统计机器翻译系统远比构建基于短语的要困难得多,为了让研究者们很快进入这一领域,在JHU2005夏季研讨会上,由纽约大学艾·丹·米拉姆德(I. Dan Melamed)等人组成的统计机器翻译组开发了GenPar。

GenPar的基本原理是利用多文本语法(Multi-Text Grammar)实现多语言的句法分析、结构对齐和翻译。多文本语法是一种多种语言的同步语法,理论上比较完善,功能强大。GenPar有很多特点:首先,该系统是一个纯粹基于句法的模型,在翻译过程中充分利用了句法结构信息;其次,它具有很好的定制能力,可以实现各种不同类型的基于同步语法的统计机器翻译,很适合于做一个实验各种理论的研究平台。总的来看,该系统功能比较强大,但由于其比较复杂,掌握起来比较困难,性能也不是太高,不太适合处理太大规模的数据。由于该系统采用纯粹基于句法的方法,理论上有点超前,性能比现有的基于短语的模型稍差。

GenPar提供了四个原型系统(sandbox)分别是:阿拉伯语到英语(AtoE),法语到英语(FtoE),英语到法语(EtoF)和英语到英语(EtoE)。其执行过程可以分为三个部分:训练、应用和评测。我们可以清楚地看出整个系统的执行过程,对基于句法的统计机器翻译流程有清晰的了解。

1. 训练(train):

输入(input)双语平行训练语料;

前处理(preprocess):包括分词(tokenization)和句法分析(parsing);

词到词翻译模型(word-to-word translation model):从训练语料中生成词到词的对齐信息;

层次对齐模块(hieralign):利用训练语料、句法分析树以及对齐信息抽取层次对齐树对(Hierarchically Aligned Tree Pair);

初始语法模块(initgrammar):利用抽取的层次对齐树对生成加权多文本语法(Weighted Multi-Text Grammar);

再训练模块(retrain):对加权多文本语法进行优化。

2. 应用(apply):

输入(input)源语言,如果要进行多语言句法分析(multi-parser)则还要输入目标语言;

前处理(preprocess):进行分词等预处理工作;

多语言句法分析(multiparse):根据加权多文本语法对源语言和目标语言对进行句法分析,生成多语言句法分析树;

翻译(translation):根据加权多文本语法对源语言进行句法分析同时生成目标语言句法树,将目标语言句法树对应的词串输出便得到相应的翻译结果。

3. 评测(evaluate):

GenPar还提供了翻译评测模块,使用GTM(General Text Matcher)作为评测指标。

本文主要介绍了在统计机器翻译领域重要的一些开源软件。这些软件对于促进统计机器翻译的发展起到了不可估量的作用。在科研领域,很少有哪个领域能像统计机器翻译这样有如此众多的开源工具可以使用。或许,是因为统计机器翻译实在是一个非常困难而又极具挑战性的工作,非得全世界的研究者联合起来共同合作不能完成;抑或是现在统计机器翻译的商业利益还不明朗,将代码藏起来也无利可图,干脆公开了,大家一起研究一下,共同进步。不管怎样,对于促进技术进步而言,这毕竟是一件好事,大家都希望能够得到“免费的午餐”。当然,我们也不能坐享其成,也要做出自己的贡献,让更多的人了解我们的工作,在自己的研究领域占居一席之地。诚如巴斯德所言,“科学是没有国界的”,开源软件正是体现了这一精神。如果研究人员能够通力合作,相信一定能够建立起统计机器翻译的“巴别塔”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐