统计机器翻译工具

    技术2022-05-20  29

    导师让重新跑短语对齐,扔了两年了,都忘了怎么弄了。

    机器上有一个编译好的MOSES,但是,不知道能不能用

    先整理一下以前的实验报告,然后再继续看看怎么用

     

    此实验中的工具为Moses的开发包http://www.statmt.org/wmt07/baseline.html

    使用步骤就在上面的网页上

    各个程序的具体使用方法在http://www.statmt.org/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 tabledecode 时-t可以输出采用的phrase table 和概率

    以下是train-factored-phrase-model.perl我常用的参数

    --first-step  默认1--last-step 默认71 prepare data2 run giza++3 align words4 get lexical translation table5 Extract phrases6 score phrases7 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的基础上,不是这个词的邻居,至少现在不是对齐的词,也加入到集合中。

     


    最新回复(0)