使用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++进行词对齐时的简单步骤,以备后续工作中参考。


  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值