作者:禅与计算机程序设计艺术
1.简介
在近几年里,基于深度学习的神经网络在自然语言处理(NLP)领域逐渐成为主流,其主要应用领域之一就是机器翻译。其核心思想就是用计算机将一段文本从一种语言翻译成另一种语言,例如英文到中文或者中文到英文。目前最常用的机器翻译模型是 seq2seq 模型,即序列到序列模型。
Seq2seq 模型的基本思路是将输入序列通过编码器进行编码并得到固定长度的上下文表示,然后把此上下文表示作为解码器的初始状态,将目标序列通过解码器生成翻译后的文本。
本文将使用 pytorch 的 nn.Transformer 和 torchtext 来实现一个 seq2seq 模型,用来进行中文到英文的机器翻译任务。
2.基本概念、术语、名词解释
2.1 什么是 NLP?
Natural language processing,即自然语言处理,是指让电脑可以像人一样理解和交流自然语言的一门学科。它包括词法分析、句法分析、语义理解等多方面技术。
2.2 什么是机器翻译?
机器翻译(Machine Translation)是自动的将一段文本从一种语言翻译成另一种语言的过程。通常情况下,输入的是一段文本,输出也是一段文本,不过,也可以实现将输入的图像、视频或其他类型的文件翻译成文字。
从某种意义上来说,机器翻译类似于人类译者对单词及语句习惯、风格等的调整,使得阅读者或听众能够更容易理解作者的意图,并且传达出来的信息准确无误。