成功源于积累----波爸

思想决定高度,行动决定成败!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
一。工作目标

1.构建汉英对齐语料库。

2.下载并编译GIZA++,CMU-Cambridge Statistical Language Modeling toolkit,(以下简称CMU toolkit)获得实验所需的可执行文件。

3.利用目标1所构建的语料库,通过GIZA++进行IBM Model 1-5的训练。

4.利用目标1所构建的语料库,通过mkcls构建word classes。

5.利用目标1所构建的语料库的英文语料,通过CMU toolkit生成英语的语言模型。

二。实验环境

Ubuntu 8.04 LTS Server

gcc version 4.2.4

三。工作步骤

以下按工作目标分节。

3.1构建汉英对齐语料库

1.从以下链接下载双语句对齐语料库:

http://www.nlp.org.cn/docs/docredirect.php?doc_id=991。

该语料库共有1500个英汉对照句对,但某中文句占据了两行,导致整个文件共3001行。需将该中文句找出合并成一行。

2.分离出英文句和中文句,分别保存为english和chinese。

某些中文句中含有英文,某些英文句含有全角标点符号,在分离时需注意。使用如下命令找出所有的英文句,并保存到english:

grep '[aeiou]' 1500.txt > english

然后将english中含有英文的中文句手工删除。

使用如下命令找出所有的中文句,并保存到chinese:

grep -v '^[[:alnum:][:space:][:punct:]]*$' 1500.txt > chinese

然后将chinese中含有全角标点的英文句手工删除。完毕。

本节的输入输出文件可以从这里下载:3000行的1500.txt,english,chinese。

3.2下载并编译程序
3.2.1 GIZA++

1.从这里下载最新的GIZA++:

http://code.google.com/p/giza-pp/downloads/list

该版本在gcc version 3.4.6下无法通过编译。我使用的gcc是4.2.4版本的。注意,解压后修改giza-pp/GIZA++-v2/Makefile,找到-DBINARY_SEARCH_FOR_TTABLE选项,将其删除。原因请看这里。

2.在giza-pp下运行make。make正常结束后,在GIZA++-v2和mkcls-v2目录下各生成了一些可执行文件。完毕。

3.2.2 CMU toolkit

1.从这里下载最新的CMU toolkit:

http://svr-www.eng.cam.ac.uk/~prc14/toolkit.html

2.解压后make即可。完毕。

本节生成的全部可执行文件可以从这里下载:bin.tar.gz。注意,如果你的libc版本与我的不同,你可能无法运行它们。


/////////////////////////////////////
语料预处理

目的:将各种格式不同的生语料进行加工,形成格式统一的语料库,以便进行词语对齐
步骤:
汉语分词
• 工具:ICTCLAS
汉语全半角转换
• 功能: 将A3区的全角字符转换为半角字符
• 程序:A2B
• 命令行: A2B input output
英语分词
• 工具:Brill
英语首字母小写还原
• 功能:将英语语料库中的句首字母进行大小写转换。如果首单词在语料库中出现的次数小写多于大写,则将首字母变为小写。
• 程序:Truecase
• 命令行:Truecase input output

plain2snt:统计单词数,格式转换

命令行 ./plain2snt.out chinese english

/**/
2 上海 738
3 浦东 76
4 开发 389
5 与 3724
chinese.vcb
Format:
单词编号 单词 单词出现次数

/**/
1
2345678
s2 3 4 5 6 7 8 9 10 11 2 12 4 13 14 15
chinese_english.snt
Format: 每个句对占3行
句子出现次数
汉语句子
英语句子

 

mkcls:单词聚类

命令行 ./mkcls -n1 -pchinese -Vchinese.vcb.classes opt
-n:表示训练迭代的次数,一般迭代1次
-p:要聚类的文本,一行一句(已分词)
-V:输出信息
opt:优化运行

/**/
1925年 17
1925日 47
chinese.vcb.classes
Format:
单词 词类

/**/
2:1月份,83%,AmocoCadiz,_,iii,百分之三十九点四
3:+,TC,百二十万,百六十万,百五十万
chinese.vcb.classes.cats
Format:
词类:单词ss,单词


GIZA++:词语对齐

命令行 ./GIZA++ -S chinese.vcb -T english.vcb -C chinese_english.snt -O c2e
-S:源语言单词表
-T:目标语言单词表
-C:源语言—〉目标语言句子对
-O:输出文件夹
运行结束后,输出很多文件到c2e/文件夹中,主要是产生的对齐文件:


# Sentence pair (1) source length 7 target length 16 alignment score : 4.99368e-28
the development of Shanghai 's Pudong is in step with the establishment of its legal system
NULL ({ 1 3 8 11 13 }) 上海 ({ 4 }) 浦东 ({ 5 6 }) 开发 ({ 2 }) 与 ({ 10 }) 法制 ({ 15 16 }) 建设 ({ }) 同步 ({ 7 9 12 14 })

*.A3.final,每句对3行:
对齐概率
目标句子
源语言句子

posted on 2012-08-26 23:46  沙场醉客  阅读(2170)  评论(0编辑  收藏  举报