深度学习构建自动翻译系统

在本系列文章中,将向展示如何利用深度学习技术来创建一个自动翻译系统。这个系列可以被视为一个分步教程,帮助理解并构建一个基于神经网络机器翻译系统。

本系列假设已经熟悉机器学习的基本概念:模型训练、监督学习、神经网络以及人工神经元、层和反向传播等。

多种框架提供了深度学习(DL)的API。TensorFlow+ Keras的组合是目前最受欢迎的,但像PyTorch、Caffe和Theano这样的竞争框架也被广泛使用。

这些框架通常采用黑箱方法来处理神经网络(NN),因为它们执行大部分“魔法”操作而不需要编写NN逻辑。还有其他方法可以构建NN,例如使用深度学习编译器。

下表列出了将使用的Python模块的版本。所有这些模块都可以使用pip命令的==[version]标志显式安装。例如:

pip install tensorflow==2.0

编写的代码应该可以在任何操作系统上运行,但请注意使用的是Python 3,所以请确保已经安装了它。如果系统同时安装了Python 2和Python 3,需要在安装命令中运行pip3而不是pip:

模块 版本
TensorFlow 2.3.1
Keras 2.1.0
numpy 1.18.1
pandas 1.1.3
word2vec 0.11.1

TensorFlow

TensorFlow是一个非常流行的Python框架,用于构建神经网络。现在可以通过运行以下命令来安装TensorFlow:

pip install tensorflow

下载和安装TensorFlow包可能需要一些时间,因为它相当大——超过400MB。

要验证TensorFlow是否已成功安装,请运行:

pip show tensorflow

输出应该类似于:

Name: tensorflow Version: 2.3.1 Summary: TensorFlow is an open source machine learning framework for everyone. Home-page: https://www.tensorflow.org/ Author: Google Inc. Author-email: packages@tensorflow.org License: Apache 2.0 Location: /usr/local/lib64/python3.6/site-packages

重要的是要运行python3而不是简单的python(对于pip3和pip也是如此)。通常,Centos中会有一个默认的Python安装,它不应该在项目中使用。

Keras

Keras是一个深度学习API,它运行在TensorFlow之上。Keras也可以运行在其他框架之上,例如Theano,但在这里选择将其与TensorFlow关联。

要安装Keras,请输入以下命令:

pip install keras

要检查Keras是否已成功安装,请键入:

pip list | grep Keras

Pandas

Pandas是一个Python API,用于数据操作和分析。将需要它,除了其他事情之外,还要为DL模型准备训练数据。

Pandas库可以使用pip3安装:

pip install pandas

Word2Vec

需要Word2Vec来进行词嵌入,以支持在NN中创建一个嵌入层。其他工具,如GloVe或BERT,也可以完成这项工作。BERT会更有效,但由于其上下文依赖性,集成起来要复杂得多,所以将使用Word2Vec以保持事情简单。

要安装Word2Vec,请运行:

pip install word2vec

安装的工具将使能够构建机器翻译(MT)软件。为了适应拼图的各个部分,将:

  • 处理一个英文词典,并让Word2Vec为英语创建一个自定义的词嵌入系统。
  • 使用Keras构建一个带有长短期记忆(LSTM)单元的序列到序列递归神经网络(RNN),Keras内置了所需要的一切。
  • 在LSTM序列到序列RNN的开始添加由Word2Vec创建的嵌入层。
  • 处理英文/俄文平行语料库:清理、格式化和标记化。
  • 使用处理过的英文/俄文平行语料库训练DL模型。
  • 用几个英文句子测试NMT的翻译准确性。

正在构建的神经机器翻译系统的工作原理。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485