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





5.00/5 (1投票)
构建基于 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) 软件。 为了将我们的拼图碎片拼合在一起,我们将
- 处理英语词典,并让 Word2Vec 为英语创建自定义词嵌入系统。
- 使用 Keras 构建具有长短期记忆 (LSTM) 单元的序列到序列循环神经网络 (RNN),Keras 内置了对我们所需的一切的支持。
- 将 Word2Vec 创建的嵌入层添加到 LSTM 序列到序列 RNN 的开头。
- 处理英语/俄语平行语料库:清理、格式化并对其进行标记化
- 使用处理过的英语/俄语平行语料库训练我们的 DL 模型。
- 使用几个英语句子测试我们的 NMT 的翻译准确性。
请记住,这不是构建 AI 语言翻译系统的唯一方法。 例如,我们可以使用门控循环单元 (GRU)单元代替 LSTM 单元。 我们选择上面的架构是因为它易于理解、易于训练并且效果良好。 但是一旦你学会了基础知识,还有很多东西可以探索。
后续步骤
在下一篇文章中,我们将使用 TensorFlow 和 Keras 编写一个自动翻译系统。 敬请关注!