GIZA++運行報告zz


一。工作目標

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行:
對齊概率
目標句子
源語言句子


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com