65.9K
CodeProject 正在变化。 阅读更多。
Home

构建 AI 语言翻译系统的工具

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2021年4月15日

CPOL

4分钟阅读

viewsIcon

11280

downloadIcon

158

构建基于 DL 的自动翻译系统所需的工具和软件

引言

谷歌翻译的效果非常好,它常常看起来像魔术。但它不是魔术——它是深度学习!

在本系列文章中,我们将向您展示如何使用深度学习来创建一个自动翻译系统。本系列可以被视为一个逐步教程,帮助您理解和构建神经机器翻译。

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

上一篇文章中,我们介绍了构建基于 ML 的翻译器所需的主要理论概念。 在本文中,我们将研究构建 AI 语言翻译器所需的工具。

工具和版本

多个框架为深度学习 (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

module version
TensorFlow 2.3.1
Keras 2.1.0
numpy 1.18.1
pandas 1.1.3
word2vec 0.11.1

TensorFlow

TensorFlow 是一个非常流行的 Python 框架,用于构建 NN。

现在您可以通过运行以下命令安装 TensorFlow

pip install tensorflow

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

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

pip show tensorflow

输出应该类似于这样

Name: tensorflow
Version: 2.3.1
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://tensorflowcn.cn/
Author: Google Inc.
Author-email: packages@tensorflow.org
License: Apache 2.0
Location: /usr/local/lib64/python3.6/site-packages
Requires: opt-einsum, tensorboard, termcolor, six, h5py, gast, tensorflow-estimator, 
google-pasta, astunparse, wrapt, grpcio, absl-py, numpy, keras-preprocessing, protobuf, wheel
Required-by:

重要的是运行 `python3` 而不仅仅是 `python`(`pip3` 而不是 `pip` 也是如此)。 通常,Centos 中会存在 Python 的默认安装,并且不得在我们的项目中使用。

Keras

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

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

pip install keras

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

pip list | grep Keras

Pandas

Pandas 是一个用于数据操作和分析的 Python API。 除其他事项外,我们将需要它来准备我们的 DL 模型的训练数据。

可以使用 `pip3` 安装 Pandas 库

pip install pandas

Word2Vec

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

要安装 Word2Vec,请运行

pip install word2vec

我们安装的工具将允许我们构建机器翻译 (MT) 软件。 为了将我们的拼图碎片拼合在一起,我们将

  1. 处理英语词典,并让 Word2Vec 为英语创建自定义词嵌入系统。
  2. 使用 Keras 构建具有长短期记忆 (LSTM) 单元的序列到序列循环神经网络 (RNN),Keras 内置了对我们所需的一切的支持。
  3. 将 Word2Vec 创建的嵌入层添加到 LSTM 序列到序列 RNN 的开头。
  4. 处理英语/俄语平行语料库:清理、格式化并对其进行标记化
  5. 使用处理过的英语/俄语平行语料库训练我们的 DL 模型。
  6. 使用几个英语句子测试我们的 NMT 的翻译准确性。

我们正在构建的神经机器翻译系统的工作流程。

请记住,这不是构建 AI 语言翻译系统的唯一方法。 例如,我们可以使用门控循环单元 (GRU)单元代替 LSTM 单元。 我们选择上面的架构是因为它易于理解、易于训练并且效果良好。 但是一旦你学会了基础知识,还有很多东西可以探索。

后续步骤

下一篇文章中,我们将使用 TensorFlow 和 Keras 编写一个自动翻译系统。 敬请关注!

© . All rights reserved.