机器翻译-subword-nmt预处理语料

在机器翻译中,目前都采用的方法是bpe切分子词的方法来处理翻译中的未登录词。

如何使用?

https://github.com/rsennrich/subword-nmt这里面已经写了详细的方法,本文主要记录我处理中英语料时的步骤。

1.共享词典

直接clone了这个项目,但是没有安装的情况下,我们使用python命令来处理。否则参考原文给出的命令处理语料。

如果我们进行翻译的双语是共享字母表的,那么我们可以为这两种语言建立一个共享词典,比如:

python subword-nmt/learn_joint_bpe_and_vocab.py --input corpus.tc.en corpus.tc.de -s 32000 -o bpe32k --write-vocabulary vocab.en vocab.de

通过上述方法我们可以得到bpe32k这个子词词表和 vocab.en,vocab.de的双语词典(里面是这两种语言的子词及其出现的频率)

接下来我们使用以下命令来对双语的语料进行subword切分处理,以下是对训练集进行处理,我们使用相同的命令来对验证集和测试集进行处理。

python subword-nmt/apply_bpe.py -c bpe32k --vocabulary vocab.en --vocabulary-threshold 50 < corpus.tc.en > corpus.bpe32k.en
python subword-nmt/apply_bpe.py -c bpe32k --vocabulary vocab.de --vocabulary-threshold 50 < corpu
  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值