机器翻译种类
传统机器翻译
手动制定规则。
统计机器翻译SMT(statistical machine translation)
从大规模的预料中学习规则。
神经机器翻译NMT(neural machine translation)
CNN、RNN、LSTM、Encoder-Decoder Architecture
Encoder-Decoder的缺陷
- 源语言和目标语言都用固定大小的词典,如果出现未出现的词,那么无法转换为向量表示或者无法对罕见词预测。需要处理未登录词并且实现open-vocabulary式的NMT。
- Encoder得到的固定维度的向量无法包含源语句的所有信息。而且目标语言端的词往往只和源语言端的部分词有关,需要引入attention机制。
神经机器翻译
encoder-decoder架构:seq2seq
convolutional seq2seq
RNN encoder-decoder + Attention
Transformer
You May Not Need Attention
你可能不再需要Attention:这是一个贼简单的神经机器翻译架构
评价指标
BLEU(bilingual evaluation understudy)
评估机器翻译和专业人工翻译之间的对应关系。
论文trick
Sequence to Sequence Learning with Neural Networks
Sequence to Sequence Learning with Neural Networks
- encoder和decoder的LSTM是两个不同的模型。
- deep LSTM表现比shallow好,选用了4层的LSTM。
- 实践中发现将输入句子reverse后再进行训练效果更好。So for example, instead of mapping the sentence a,b,c to the sentence α,β,γ, the LSTM is asked to map c,b,a to α,β,γ, where α, β, γ is the translation of a, b, c. This way, a is in close proximity to α, b is fairly close to β, and so on, a fact that makes it easy for SGD to “establish communication” between the input and the output.
参考
机器学习(二十三)——Beam Search, NLP机器翻译常用评价度量, 模型驱动 vs 数据驱动
神经网络机器翻译Neural Machine Translation(1): Encoder-Decoder Architecture
神经网络机器翻译Neural Machine Translation(3): Achieving Open Vocabulary Neural MT
神经网络机器翻译Neural Machine Translation(4): Modeling Coverage & MRT (提升attention的对其质量,针对漏译与过译)
深度学习方法(九):自然语言处理中的Attention Model注意力模型(没看)
Seq2seq模型的一个变种网络:Pointer Network的简单介绍(没看)
论文阅读:《Neural Machine Translation by Jointly Learning to Align and Translate》(没看)
代码实践:
Pointer-network理论及tensorflow实战(很好)
Pointer Networks in TensorFlow (with sample code)(没看)
2015 Tensorflow implementation of Semi-supervised Sequence Learning github