moses中的数据预处理预处理操作

  1. ## normalize-punctuation.perl 对标点符号进行规范化 normalize

    normalize-punctuation.perl -l zh < train.zh > train.norm.zh
    -l:要normalize的语言
    train.zh:需要处理的文件
    train.norm.zh:处理的结果

  2. ## tokenizer.perl 分词

    tokenizer.perl -a -l zh < train.norm.zh>train.norm.tok.zh
    -l:需要分词的语言,在词和标点之间加空格
    train.norm.zh:需要分词的文件
    train.norm.tok.zh:分词后的结果
    例:
    train.norm.zh: 他明天要动手术。
    train.norm.tok.zh:他明天要动手术 。

  3. **## detokenizer.perl **

    detokenizer.perl -a -l zh train.norm.zh是tokenizer.perl的反向操作
    例:
    train.norm.tok.zh:他明天要动手术 。
    train.norm.zh: 他明天要动手术。

  4. ## clean-corpus-n.perl 限制句子长度,将长度之外的句子和空句删除,将明显不对齐的句子删除,同时处理双语两个文件

    clean-corpus-n.perl train.norm.tok zh de train.norm.tok.clean 1 80
    train.norm.tok zh de:需要处理的双语文件名train.norm.tok.zh train.norm.tok.de
    train.norm.tok.clean:得到两个清晰完毕的文件 train.norm.tok.clean.zh train.norm.tok.clean.de
    1 80:最短长度为1,最大长度为80

  5. ## train-truecaser.perl和truecase.perl 学习训练数据,判断句子中的名字、地点等需要大写的内容并将其保留,其余则小写,train-truecaser.perl用来学习训练数据,truecase.perl用学习到的模型对数据进行处理

    train-truecaser.perl -corpus train.norm.tok.clean.zh -model truecase-model.zh
    -corpus:是训练数据
    -model:训练得到的模型
    truecase.perl -model truecase-model.zh train.norm.tok.clean.tc.zh
    -model:上一步训练得到的模型 train.norm.tok.clean.zh:需要处理的文件 train.norm.tok.clean.tc.zh:处理结果

你可能感兴趣的:(自然语言处理)