OpenNMT

提供者:李华勇

地址:http://zh.opennmt.net/

简介

海量的数据背景下,人工翻译已经无法承载所有的翻译任务,机器翻译效果并不十分理想,但在有些情况下可以减少理解外语文本所需要的时间和精力。我本人出身英语专业,但是仍然感觉阅读英文文本所花费的时间和精力是中文文本的2-3倍,比如中文一分钟能够阅读600-1000字甚至更多,但英语文章书籍,一般也就200-300单词而已,而且时间长了,大脑更疲劳,难以有效获取信息。所以借助机器翻译,先大致浏览所需理解的外语文本,不失为一种节约时间精力的方式。随着机器翻译的效果越来越好,它的应用场景也越来越广泛,甚至可能彻底改变人类相互沟通的方式。

目前机器翻译已经基本都从传统的统计翻译,变成了神经网络机器翻译,效果有较大的提升,特别是西方语种之间,比如英德互译。而中英互译仍然有差距,不过我想达到令人满意的效果只是时间问题,Google 和 百度 的机器翻译,在某些类型的文档翻译上,已经几乎超过人类,比如科技类的论文,Google 的机器翻译效果尤其好。如果让一个译者去翻译一篇科技类的论文,成本非常高,有很多专业词汇,还有数学符号,懂的人并不多,翻译起来也费时费力,但机器翻译却对这类文本有着很高的效率,十分令人欣喜。

OpenNMT 是一个由 Harvard NLP (哈佛大学自然语言处理研究组) 开源的 Torch 神经网络机器翻译系统。

特点

  1. 简单的通用接口,只需要源/目标文件。

  2. 快速高性能GPU训练和内存优化。

  3. 提高翻译性能的最新的研究成果。

  4. 可配对多种语言的预训练模型(即将推出)。

  5. 允许其他序列生成任务的拓展,如汇总和图文生成

快速开始

OpenNMT 包含三个命令

1) 数据预处理

th preprocess.lua -train_src data/src-train.txt -train_tgt data/tgt-train.txt -valid_src data/src-val.txt -valid_tgt data/tgt-val.txt -save_data data/demo

2) 模型训练

th train.lua -data data/demo-train.t7 -save_model model

3) 语句翻译

th translate.lua -model model_final.t7 -src data/src-test.txt -output pred.txt

相关资料

  1. Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[J]. arXiv preprint arXiv:1409.0473, 2014.
  2. Wu Y, Schuster M, Chen Z, et al. Google’s neural machine translation system: Bridging the gap between human and machine translation[J]. arXiv preprint arXiv:1609.08144, 2016.