摘 要:Linux环境中,大部分基于短语的统计机器翻译系统可以很方便的利用GIZA++训练得出的词语对齐结果。然而,对于许多习惯在Windows系统中从事科学研究的科研工作者却享受不到这种便利。虽然我们可以使用Cygwin或者虚拟机在Windows系统下模拟Linux系统,但是有时这样来回的切换很不方便。本文主要是想和大家分享一下我们如何在Windows系统中使用GIZA++进行词语对齐的一些经验。
正文:
词语对齐是自然语言处理领域的一个基本的问题,许多基于双语语料库的应用(比如统计机器翻译(SMT)、基于实例的机器翻译(EBMT)、词义消歧(WSD)、词典编撰)都需要词汇级别的对齐。一般来讲,对齐可以有篇章(section)、段落(paragraph)、句子(sentence)、短语(phrase)、词语(word)等不同的级别的对齐,其目的就是从双语互译的文本中找出互译的片段。其中篇章、段落、句子的对齐技术主要用于语料库的整理,而短语和词语对齐,就是要找出相互翻译的文本中对应的词与词、词与短语、短语和短语之间的相互翻译对。现今的基于短语的统计机器翻译系统中,很大一部分程度依赖于词语对齐(word alignment)[Och et al.,2000;Yarowsky et al.,2000]。现在使用最多的词语对齐方法就是使用双语语料库来抽取词语对齐[Smadja et al.,1996;Melamed,2000],其中典型的代表也是本文中将使用的对齐软件就是GIZA++[Och,2000;Och et al.,2003]。
GIZA++的前身是GIZA(GIZA是由是统计机器翻译工具Egypt的一部分,Egypt是在1999年约翰霍普金斯大学统计机器翻译夏季讨论班上,由一些研究人员共同合作开发的统计机器翻译工具包。[1]),GIZA++实现了IBM公司提出的5个模型[Brown et al.,1993]和隐马尔科夫模型(HMM)[Och et al.,2003],其主要思想是利用EM算法对双语语料库进行迭代训练,由句子对齐得到词语对齐。由于GIZA++不依赖于具体的语言对,现在的统计机器翻译系统中几乎都使用了GIZA++进行词语对齐。表1是从GIZA++对齐文件中取出的一个稍加改进的例子。其中x是目标语言句子、y是源语言句子、a是对齐结果,比如“3-2”的意思就是说中文句子的第二个单词“在”对齐到英文的第四个单词“in”(英文句子从0开始标注)。
<