使用GIZA++进行平行语料的词对齐

使用GIZA++进行平行语料的词对齐

 

在使用moses搭建机器翻译系统时,词对齐的过程是和模型训练结合在一起的,GIZA++运行的很多细节都被跳过。本文是将GIZA++单独拿出来,关注其从编译、运行到最终获取对齐文件各阶段的细节问题,以求更加深刻地理解GIZA++的工作原理。

 

1、 编译安装GIZA++

最新版本的GIZA++可以从下列链接中找到http://code.google.com/p/giza-pp/downloads/list下载其中的giza-pp-v1.0.7.tar.gz。这一版本相比之前的版本有了很多改进。解压缩文件,进入giza-pp文件夹,运行命令make,编译成功。之后会在 GIZA++-v2 和 mkcls-v2 目录下各生成一些可执行文件(如GIZA++、mkcls等)。

2、  实验

假设我们有汉英平行语料en2ch.en和en2ch.ch

 2.1创建GIZA++所需文件

a、运行命令 ./plain2snt.out en2ch.en en2ch.ch,将平行语料转化为 GIZA++ 格式

b、获取共现文件

./snt2cooc.out en2ch.en.vcben2ch.ch.vcb en2ch.en-en2ch.ch.snt(a中生成) > en2ch.cooc

./snt2cooc.out en2ch.ch.vcben2ch.en.vcb en2ch.ch-en2ch.en.snt(a中生成)> ch2en.cooc

c、创建mkcls文件 

./mkcls –pen2ch.en –Ven2ch.en.vcb.classes opt

./mkcls –pen2ch.ch –Ven2ch.ch.vcb.classesopt

 2.2 运行GIZA++

./GIZA++-S en2ch.en.vcb –T en2ch.ch.vcb –Cen2ch.en-en2ch.ch.snt -CoocurrenceFile en2ch.cooc  -O e2c

./GIZA++ -S en2ch.ch.vcb –T en2ch.en.vcb –C en2ch.ch-en2ch.en.snt -CoocurrenceFile ch2en.cooc  -O c2e

 3、  总结

本文列出了单独使用GIZA++进行词对齐时的简单步骤,以备后续工作中参考。


你可能感兴趣的:(开源专区,机器翻译)