使用mose对giza++生成的单向对齐文件进行词对齐对称化(双

作者: 柴柴总 | 来源:发表于2019-05-26 17:34 被阅读0次

    giza++是一个词对齐的工具,但是其只能生成两个单向对齐的文件~.A3.final,为了实现双向对齐,可使用mose来实现
    mose通过脚本train-model.perl来进行翻译系统的训练,成功运行后会产生4个文件夹:corpus model giza.zh-en giza.en-zh。这个脚本实际上会经过下列9个步骤,而我们只需要第三步词对齐,可通过指定fisrt-step 和 last-step 这两个参数实现

    mose训练
    具体步骤如下
    实验环境:ubuntu 16.04
    1. 安装mose,具体可参考我的上篇博客
    2. 先建一个你想要输出文件存放的文件夹如
    mkdir train_model
    

    创建单向对齐的文件夹

    mkdir giza.en-zh
    mkdir giza.zh-en
    

    将giza++得到的两个单向对齐文件(注意保持命名一致 英文en 中文zh)放入这两个相应的文件夹中并压缩为gz格式

    cd giza.en-zh
    gzip en-zh.A3.final
    
    cd giza.zh-en
    gzip zh-en.A3.final
    

    目录结构像这样

    3.调用train-model.perl得到双向对齐文件
    train-model.perl在mose文件夹下的scripts/training 文件夹里


    train-model.perl路径

    运行命令

    /home/zhen/smt/mosesdecoder/scripts/training/train-model.perl --root-dir . --f zh --e en --first-step 3 --last-step 3
    
    

    参数解释:
    root-dir:输出文件夹的位置 这里是. 当前文件夹
    f:外语文件名(英语之外的其他语言就是外语)
    e:英语文件名
    first-step:从第几步训练步骤开始
    last-step:到第几步训练步骤结束,这里我们只用用到第三步词语对齐,所以都设置为3
    运行过程中可能会出现下面的不匹配信息,这是因为语料中可能存在噪声(英文翻译和中文对不上号),通过这些行号可以将不匹配的中英句子去掉除掉噪声

    sentence mismatch
    运行结束后会产生model文件夹,里面的文件aligned.grow-diag-final就是双向对齐了的文件(mose里默认双向对齐的方法就是grow-diag-final)

    aligned.grow-diag-final文件部分内容展示
    参考资料:
    http://www.statmt.org/moses/?n=FactoredTraining.AlignWords
    mose官方的词语对齐文档
    https://blog.csdn.net/han_xiaoyang/article/details/10112075
    我就是从这篇博客看到可以用mose做双向对齐的
    http://www.statmt.org/moses/?n=FactoredTraining.TrainingParameters train_model.perl全部参数介绍

    相关文章

      网友评论

        本文标题:使用mose对giza++生成的单向对齐文件进行词对齐对称化(双

        本文链接:https://www.haomeiwen.com/subject/fewttctx.html