《统计机器翻译简明教程.ppt》由会员分享,可在线阅读,更多相关《统计机器翻译简明教程.ppt(37页珍藏版)》请在三一文库上搜索。
1、统计机器翻译简明教程 兼谈相关工具的使用,何中军 2007年11月,提纲,系统结构 前处理 词语对齐 短语抽取 解码 后处理 参数训练 评测,词语对齐,训练语料库,训练语料库为双语语料库 格式不固定,可以是文本格式,xml格式等等 要求必须句子对齐,back,语料预处理,目的:将各种格式不同的生语料进行加工,形成格式统一的语料库,以便进行词语对齐 步骤: 汉语分词 工具:ICTCLAS 汉语全半角转换 功能: 将A3区的全角字符转换为半角字符 程序:A2B 命令行: A2B input output 英语分词 工具:Brill 英语首字母小写还原 功能:将英语语料库中的句首字母进行大小写转换。
2、如果首单词在语料库中出现的次数小写多于大写,则将首字母变为小写。 程序:Truecase 命令行:Truecase input output,处理后训练语料库,双语语料库,汉语切词,高新技术 产品 出口 .亿 美元。,全半角转换,高新技术 产品 出口 37.6 亿 美元 。,英语切词,The export of High-tech Products Reached 3.76 billion US dollars .,the export of High-tech Products Reached 3.76 billion US dollars .,大小写转换,back,词语对齐,GIZA+词语
3、对齐 词语对齐后处理 添加句首句尾标记,词语对齐 GIZA+训练,输入:汉语文本,英语文本,一行一句,句子对齐,chinese,english,plain2snt,chinese.vcb english.vcb chinese_english.snt,mkcls,chinese.vcb.classes english.vcb.classes chinese.vcb.classes.cats english.vcb.classes.cats,Giza+,*.A3.final ,plain2snt:统计单词数,格式转换,命令行 ./plain2snt.out chinese english,2 上
4、海 738 3 浦东 76 4 开发 389 5 与 3724,chinese.vcb Format: 单词编号 单词 单词出现次数,1 2 3 4 5 6 7 8 2 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年
5、 17 1925日 47,chinese.vcb.classes Format: 单词 词类,2:1月份,83%,AmocoCadiz,_,百分之三十九点四 3:+,TC,百二十万,百六十万,百五十万,chinese.vcb.classes.cats Format: 词类:单词,单词,GIZA+:词语对齐,命令行: ./GIZA+ -S chinese.vcb -T english.vcb -C chinese_english.snt -O c2e -S:源语言单词表 -T:目标语言单词表 -C:源语言目标语言句子对 -O:输出文件夹 运行结束后,输出很多文件到c2e/文件夹中,主要是产生的对
6、齐文件:,# 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行:,对齐概率 目标
7、句子 源语言句子,GIZA+对齐几点说明,一般双向训练,汉语-英语,英语-汉语 训练流程:,./plain2snt.out chinese english ./mkcls -n1 -pchinese -Vchinese.vcb.classes opt ./mkcls -n1 -penglish -Venglish.vcb.classes opt ./mkdir c2e ./mkdir e2c ./GIZA+ -S chinese.vcb -T english.vcb -C chinese_english.snt -O c2e ./GIZA+ -S english.vcb -T chinese.
8、vcb -C english_chinese.snt -O e2c,词语对齐后处理,对GIZA+的词语对齐进行优化 工具:WordAlign 命令行:,WordAlign c2e.A3.final e2c.A3.final output,输入:汉语到英语方向的.A3.final文件和英语到汉语方向的.A3.final文件 输出:.xml格式的对齐文件,词语对齐后处理(续), (/ 完/ ) / (/ end/ )/ 1:1/1 2:2/1 3:3/1 ,句对以bead表示,包括源语言词,目标语言词,以及对齐信息。 单词后面的/是词性的位置,如有需要,可以将/替换为相应的词性 对齐后面的/1表示
9、对齐概率,目前默认是1,添加句首句尾标记,命令行: AddHeadTail input output 功能: 为对齐后的句子加上开始结束符,“ “, / (/ 完/ ) / / / (/ end/ )/ / 1:1/1 2:2/1 3:3/1 4:4/1 5:5/1 ,back,短语抽取,从词语对齐的语料库中得到短语翻译 工具: phraseExtractor 功能:抽取短语,统计短语出现次数 phraseScoring 功能:计算短语的词汇化翻译概率 phraseExtractor.pl 功能:驱动以上两个程序的脚本文件,银行 和 保险 公司 | banks and insurance co
10、mpanies | 1 0.105599 1 0.0257825 坚持 改革 开放 | of reform and opening up | 0.333333 0.00103337 1 0.014045,短语抽取(续),phraseExtractor.pl corpus-dir . corpus-file align.xml extract-file-name my -separator tab 读取corpus-dir目录下的align.xml对齐文件,最终生成my.bp文件,分隔符为制表符 参数说明: -debug, if debug then the middle files will
11、not be deleted, default is false; -corpus-dir, set the corpus dir; -corpus-file, the word aligned file from which phrases are extrated; -capacity, how many phrases in a file when extracting, default is 1000000; -extract-file-name, the phrase table name, default is “extract“; -max-phrase-length, max
12、source phrase length, default is 7; -separator, the separator between phrases, default is tab ; -reorder-types, lexical reordering type, default is msd-fe; -fertility, how many words can a word aligned, default is 9; -orientation, extract lexical reordering table or not, default is 0;,短语表过滤,根据测试文件对短
13、语表进行过滤,我 I 0.1 0.1 0.1 0.1 我是 I am 0.1 0.1 0.1 0.1 我是 学生 I am a student 0.1 0.1 0.1 0.1 一个 学生 a student 0.1 0.1 0.1 0.1 一个 小孩 a child 0.1 0.1 0.1 0.1,我 I 0.1 0.1 0.1 0.1 我是 I am 0.1 0.1 0.1 0.1 一个 学生 a student 0.1 0.1 0.1 0.1,测试文件,源短语表,过滤后短语表,短语表过滤(续),SelectBP bpfile testfile outfile c2e,bpfile:短语文件
14、 testfile:输入文件(文本文件,一行一句),如果是汉语文件,不用分词。如果是英语文件,需要做tokenize。(注意:如果在短语抽取的时候,汉语英语进行了预处理,这里对输入文件也要做相应的预处理。例如,在短语抽取时, 汉语做了A3区半角转换,则SelectBP的输入文件也要做半角转换;英语作了tokenize,输入文件也要做tokenize。如果加入了句首句尾标记,则测试文件也要加句首句尾标记) outfile:过滤后的短语表 c2e:1,表示汉英翻译,根据汉语文件过滤。0表示英汉翻译,根据英语文件过滤,back,语言模型训练,ngram-count -text english -lm
15、 lm.gz -unk -kndiscount -order 4 -write-arpa -text: 要训练的文本,一行一句 -lm: 输出文件名 -unk:未登录词 -kndiscount:平滑 -order: 语言模型的元数(n-gram) -write-arpa: apra格式,back,Confucius的解码 基于短语的解码器,解码器的配置文件 Log-linear模型的训练过程 结果评测,BPTABLE_LIMIT 10 /短语表的剪枝参数 NBEST_LIST 1000 /每句话产生Nbest的个数 MAX_STACK_SIZE 100 /搜索栈的剪枝参数 TT bp/iwsl
16、t07-bpsmall.txt /短语表的路径 POSTABLE* bp/L_0612_pos_p.txt /用于相似度模型的文件路径 LM lm/english.m2.bo4.gz /语言模型1 LM2 lm/iwslt.small.order5.lm.gz /语言模型2 LMNGRAM 3 /语言模型的元数 PARA # /下面是log-linear模型的权重 p(e|c) 1 /短语翻译概率 p(c|e) 1 /短语翻译概率 lex(e|c) 1 /词汇化概率 lex(c|e) 1 /词汇化概率 phrase 0 /短语概率(如果是精确匹配,为1,否则,为0) len 1 /目标句子长度
17、 pos_prob 0 /词性概率 sim_prob 0 /相似度 lm 1 /语言模型 lm2 1 /语言模型 END #,TST corpus/iwslt06.dev-src /测试文件 REF corpus/iwslt06.dev-ref /参考译文 FORMAT nist /输出格式,NIST评测使用nist ISTRAIN 1 /如果进行最小错误率训练,则为1,表示输出NBest信息 PRINT_NBEST 1 /如果需要nbest输出,设为1,训练过程一定要设为1 FEATPATH nbestfeat/ /特征文件的输出路径 RESULTPATH result/ /结果文件的输出路
18、径 SUFFIX 0 /结果文件的输出后缀名 ENTITY bp/nist0216_0712.dev-src /命名实体文件 INFO 0 /是否输出翻译过程的信息,用于调试,说明: 红色部分表示大家不需要使用的,不用改动 蓝色部分表示在进行最小错误率训练后,大家需要改动的部分 如果想屏蔽掉某项功能,例如命名实体,只需要改动第一列的标记,例如:ENTITY -ENTITY+,Log-linear模型训练过程,1 初始化lambda,进行解码,产生Nbest特征文件f1 2 最小错误率训练得到新的lambda 3 利用新的lambda进行解码,产生Nbest特征文件f2 4 合并f1、f2,生成
19、新的特征文件f1,如果f1与f1相等,即没有新的Nbest产生,结束,否则 转5 5 f1=f1,参数训练得到lambda,转3,训练过程,./confucius.pl root-dir . corpus nist first-loop 0 total-loop 10 -root-dir 路径名,一般为本目录下 -corpus 开发集名字,程序自动到corpus/目录下寻找nist.dev-src和nist.dev-ref,所以,一定要在corpus/下存在这两个文件 -first-loop 从第几轮开始迭代,默认第0轮 -total-loop 迭代到第几轮,默认10 程序创建三个文件夹: r
20、esults/ 存放产生的结果文件 nbestfeats/ 存放用于最小错误率训练的nbest特征文件 config/ 存放最小错误率训练的得到的参数,和Confucius的配置文件,result/,result0.txt, result1.txt 分别对应由配置文件searchconfig0.txt searchconfig1.txt 产生的结果文件 result0.nist.eval result1.nist.eval分别是result0.txt result1.txt的评测文件,从中可以看到它们的bleu值,nbesetfeat/,cands0.txt cands1.txt对应每句话的n
21、best个数 transfeat0.txt,transfeat1.txt对应特征文件,0 1641 1 1617,第0句有1641个候选译文 第1句有1617个候选译文,60.7487 64.5208 59.9104 58.6422 0 128.144 -15 0 0 0 80.8994 12 13 6 12 2 11 0 10 17 62.4069 66.3365 59.1713 58.6422 0 129.803 -16 0 0 0 77.7209 12 14 6 13 2 12 0 11 17,分为两部分: 蓝色部分:log-liear模型的特征值,-log, 红色部分:n-gram 的
22、个数 N-gram格式:(对一句话而言) 1-gram匹配个数 1-gram系统译文个数 4-gram匹配个数 4-gram系统译文个数 最后是最短参考译文的长度(从4个参考译文中,选长度最短的),config/,lamda0.txt, lamda1.txt对应训练得到的log-linear模型的权重 searchconfig1.txt searchconfig2.txt对应解码器要用到的配置文件,注意事项,searchconfigi.txt 对应 resulti.txt transfeati.txt, candsi.txt lambdai.txt用于产生searchconfigi+1.txt
23、 训练完成后(参数收敛),检查result/目录下的resulti.nist.eval,找到bleu值最高的那个resultx.nist.eval ,表示它由searchconfigx.txt产生,意味着最好的参数在searchconfigx.txt( lambdax-1.txt ) 修改searchconfigx.txt,运行Confucius进行评测,修改配置文件,运行测试集,TST corpus/iwslt06.dev-src REF corpus/iwslt06.dev-ref FORMAT nist ISTRAIN 1 PRINT_NBEST 1 FEATPATH nbestfeat
24、/ RESULTPATH result/ SUFFIX 0 ENTITY bp/nist0216_0712.dev-src INFO 0,TST corpus/nist05.tst-src REF NOFILE FORMAT nist ISTRAIN 0 PRINT_NBEST 0 FEATPATH nbestfeat/ RESULTPATH result/ SUFFIX nist05 ENTITY bp/nist05.entity INFO 0,命令行:./Confucius 产生的结果文件在result/resultnist05.txt,评测程序 mteval-v11b.pl,比较系统译文
25、和参考译文,进行打分 命令行 ./mteval-v11b.pl c s source.sgm r reference.sgm t result.txt -c: 区分大小写(大小写敏感) -s: 源文件 -r: 参考译文 -t:系统译文,文件格式,不同的评测对应的文件格式不太一致,但是有一些共同部分: 源文件一般包含: 参考译文包含: 系统译文格式必须与源文件一致,且将 改为 ,并添加相应的系统id, 今年前两月广东高新技术产品出口亿美元 , Export of High-tech Products in Guangdong in First , Export of High-tech Prod
26、ucts in Guangdong in First ,source,reference,system,词语对齐参考文献,Peter. F. Brown, Stephen A. Della Pietra, Vincent J. Della Pietra, Robert L. Mercer, The Mathematics of Statistical Machine Translation: Parameter Estimation, Computational Linguistics, Vol 19, No.2 ,1993 http:/www-i6.informatik.rwth-aache
27、n.de/Colleagues/och/software/GIZA+.html,短语抽取参考文献,Philipp Koehn. 2004. Pharaoh: a beam search decoder for phrase-based statistical machine trnaslation models. In Proceedings of the Sixth Conference of the Association for Machine Translation in the Americas, pages 115-124. Philipp Koehn, Franz J. Och,
28、 and Daniel Marcu. 2003.Statistical phrase-based translation. In Proceedings of HLT-NAACL 2003, pages 127-133. http:/www.isi.edu/publications/licensed-sw/pharaoh/,最小错误率训练参考文献,Franz Josef Och. “Minimum Error Rate Training for Statistical Machine Translation“. In “ACL 2003: Proc. of the 41st Annual Me
29、eting of the Association for Computational Linguistics“, Japan, Sapporo, July 2003. Ashish Venugopal, Stephan Vogel, “Considerations in Maximum Mutual Information and Minimum Classification Error training for Statistical Machine Translation“, In the Proceedings of the Tenth Conference of the European Association for Machine Translation (EAMT-05), Budapest, Hungary May 30-31, 2005 http:/www.cs.cmu.edu/ashishv/mer.html,谢谢!,
链接地址:https://www.31doc.com/p-2159282.html