对神经机器翻译的高层次理解

数据挖掘 机器学习 机器翻译
2022-01-27 09:53:07

我目前正在研究基于深度学习的机器翻译系统,但我不确定我是否理解该过程的逻辑。我知道源语言和目标语言翻译句子对必须表示为 word2vec 向量,但为什么需要应用两个(编码器-解码器)循环神经网络?我的第一个想法是只应用一个 RNN,其中输入是源语言示例(以 word2vec 向量的形式),输出只是目标语言的 word2vec 序列。为什么需要使用另一个 RNN?

我的另一个问题是,这个系统是否足够灵活,可以处理同义词、词序变化和其他歧义?它是否能够近似一个新的待翻译源语言句子的正确含义?

最后但并非最不重要的一点是:如何评估这样一个可以同时正确翻译多个翻译的模型?

1个回答

在编码器-解码器架构中,我们首先用固定向量表示输入序列。假设这个固定向量代表了句子的完整含义。现在解码器使用这个固定向量来生成输出序列。

您的问题的答案:

  1. 如果您使用 1 个循环单元,它会在每个时刻输出不适合机器翻译的值,因为第一个单词的翻译可能在目标语言的最后一个或其他地方。(我不确定您将如何映射输出并在这种情况下输入。)
  2. 关于同义词,系统可以处理同义词,因为同义词的词具有非常接近的词向量。
  3. 关于词序,如果你有足够的训练数据,它可以学习词序。解码器还使用波束搜索来找到可能的最佳翻译。我会建议你彻底阅读这篇论文。 https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf
  4. 关于评估,有各种指标旨在评估机器翻译系统。BLEU 是其中最著名的之一。它使用各种参考翻译。您可以在 Kishore Papineni 等人的论文中阅读有关 BLEU 的更多信息。al.(由于我的声誉小于 10,我不能在答案中发布超过两个链接。)

我还建议您阅读以下有关神经机器翻译的论文。 https://arxiv.org/pdf/1409.0473.pdf

希望能帮助到你!!