序列到序列学习——神经机器翻译
1. 神经机器翻译现状
在神经机器翻译(NMT)中,虽然翻译结果并非完美,但多数情况下能捕捉源句子的上下文,并且在生成语法正确的句子方面表现良好。例如:
- 真实英文句子:“Tux Racer will help you pass the time while you wait, and you can use OpenOffice for work.”
- 预测英文句子:“ .com we have a very friendly and helpful staff . ”
从BLEU分数随时间的变化图可以看出,训练集和测试集的BLEU分数都有明显的提升。
2. 联合词嵌入训练NMT
2.1 选择词嵌入库
有多个多语言词嵌入库可供选择,如Facebook的fastText和CMU多语言嵌入。由于CMU嵌入(约200 MB)比fastText(约5 GB)小很多,所以选择使用CMU嵌入。需要下载德语(multilingual_embeddings.de)和英语(multilingual_embeddings.en)的嵌入。
2.2 最大化数据集词汇与预训练嵌入的匹配
预训练词嵌入的词汇量可能很大,其中很多词可能不在数据集词汇中,因此需要获取与问题相关的预训练词嵌入子集。具体步骤如下:
1. 定义数组 :定义两个NumPy数组来保存源语言和目标语言的相关词嵌入:
import numpy as np
de_emb
超级会员免费看
订阅专栏 解锁全文
8077

被折叠的 条评论
为什么被折叠?



