导师让重新跑短语对齐,扔了两年了,都忘了怎么弄了。
机器上有一个编译好的MOSES,但是,不知道能不能用
先整理一下以前的实验报告,然后再继续看看怎么用
此实验中的工具为Moses的开发包/wmt07/baseline.html
使用步骤就在上面的网页上
各个程序的具体使用方法在/moses/ 页面上有介绍
SepPunct.perl 整理语料,包括去除多余的空格、小写化等等
GIZA++ 词对齐
mert-moses.pl 最小错误率训练
mkcls GIZA++需要用到的一个程序,为单词建立类别
moses Moses的解码器
mteval-v11b.pl NIST提供的评测工具,可以计算BLEU和NIST值 (使 用时需要注意该脚本的输入格式必须是XML格式的)
snt2cooc.out GIZA++需要用到的一个工具
tokenizer.perl 英文分词工具,由SMT Workshop 07提供,词干化
train-factored-phrase-model.perl Moses训练脚本
srilm 存放SRILM工具的目录
在Moses网站上的使用指导中,区分woking-dir 当前目录 –working-dir 参数名 –root-dir后面参数要为绝对路径。
语料处理时要将GBK的文件转成UTF8 “iconv –f gbk –t utf8 inputfile>outputfile”
windows下有一些pl文件在Linux下不能运行需要转换,dos2unix *.pl 或 chmod a+x *.pl
环境变量写入.bash_profile文件
export PATH=$PATH:/home/……/srilm
export SCRIPTS_ROOTDIR=/home/……/moses/scripts
export LC_ALL=C
Moses原版本中的symal在合并的时候有出错。更改成新的版本,即可解决此问题。
Pharaoh system第三步的格式(从0开始排序的,前面是源语言,后面是目标语言,按后面目标语言排序,存在一对多,多对多,多对一)
调参时可以采用两个phrase table
decode 时-t可以输出采用的phrase table 和概率
以下是train-factored-phrase-model.perl我常用的参数
--first-step 默认1
--last-step 默认7
1 prepare data
2 run giza++
3 align words
4 get lexical translation table
5 Extract phrases
6 score phrases
7 create configuration file
moses第7步是输出短语调序概率表
第8步是建立生成模型第9步是生成配置文件
--alignment
A1、 A2分别为,源语言到目标语言的对齐,目标语言到源语言的对齐
Intersection:A1、 A2 取交集
Union:A1、 A2 取并集
Grow:首先选取intersection的集合,然后,针对这些对齐位置的上,下,左,右方向,如果在union中出现了,则加入到此集合中。
Grow-diag:在grow的基础上,在斜对角线方向,在Union中出现的对齐,也加入到此集合中。
Grow-diag-final:在grow-diag的基础上,不是这个词的邻居,至少现在不是对齐的词,也加入到集合中。
Grow-final在grow的基础上,不是这个词的邻居,至少现在不是对齐的词,也加入到集合中。