谷歌翻译如何能够转换不同长度的文本?

人工智能 自然语言处理 循环神经网络 机器翻译 谷歌翻译 seq2seq
2021-11-05 03:10:48

根据我对 Tensorflow 和许多其他框架的经验,神经网络对于任何输出都必须具有固定的形状,但谷歌翻译如何转换不同长度的文本?

1个回答

通常,在自然语言处理 (NLP) 中,他们将序列到序列学习 (Seq2Seq) 与神经网络结合使用,例如循环神经网络或最近的 Transformer(您可以在此处此处找到两篇非常好的论文)。

训练期间,为了确保输入和输出的大小相同,他们可以只搜索数据集中最长的句子,或者选择一个足够高的数字并将所有其他句子填充为 0。此外,他们添加了一个停止标记句子结束的地方,以便模型意识到这一点。解码(推理),解码器将一次预测一个单词,直到它预测到停止标记,这表示翻译完成。

如果您有兴趣查看实际实现,我建议您查看教程,该教程在解释代码及其工作方式方面做得很好。