、第一个开源的统计机器翻译工具包——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等,此外,联合开发单位还开发了三个解码器,并完全开放了源代码,第一次将一个完整的统计机器翻译系统公开,极大地促进了国内统计机器翻译的快速发展。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!