NMT——mRASP实现机器翻译

官方地址:mRASP

一、配置环境

作者使用的基于pytorch的fairseq,所以需要安装pytorch

# 1、下载源码
wget https://github.com/linzehui/mRASP/archive/refs/heads/master.zip
# 2、解压
unzip master.zip
# 3、进入目录,安装所需环境
cd mRASP && pip install -r requirements.txt

二、数据预处理

1、对数据进行清洗、tokenize、subword操作,其中subword使用的是原来的词表或者合并后的词表。

# training set
bash ${PROJECT_ROOT}/preprocess/multilingual_preprocess_main.sh ${PROJECT_ROOT}/experiments/example/configs/preprocess/train_en2de.yml
# test set
bash ${PROJECT_ROOT}/preprocess/multilingual_preprocess_main.sh ${PROJECT_ROOT}/experiments/example/configs/preprocess/test_en2de.yml

2、将上述数据进行binarize(fairseq中特定的二进制化操作),具体操作可以参考

bash ${PROJECT_ROOT}/experiments/example/bin_finetune.sh

3、微调

export repo_dir=path/to/your/root
fairseq-interactive path/to/your/root/mRASP/experiments/project/data/fine-tune/en2de--path ${repo_dir}/experiments/project/models/fine-tune/transformer_big/en2de/checkpoint_best.pt --beam 5 --source-lang en--target-lang de --tokenizer moses --bpe subword_nmt --bpe-codes ${repo_dir}/experiments/project/vocab/codes.bpe.32000 --input=${repo_dir}/experiments/project/toked_en_de_test.txt | grep -P "D-[0-9]+"  > result.txt
  • eval_gpu_index: 表示被分配用于在训练时进行评估的GPU的id,如果设置成 -1则表示在训练过程中将使用CPU进行评估。
  • grep -P “D-[0-9]+”: 表示去除一些无用信息
  • toked_en_de_test.txt: 表示带预测文本
  • result.txt: 表示输出结果文件

4、 注意

输入带预测文本时,一定要在句子前加上相应语言的Language token,比如,

LANG_TOK_EN Hello world

你可能感兴趣的:(学习笔记,机器翻译,深度学习,人工智能,mRASP)