
機械翻訳の仕組み
受講者対象者
プログラミング経験がある方
基本的にPythonコードを記述できる方(または JavaScript VisualBasic VBScript C Java C# PHP のうち、いづれかを記述できる方)が対象です。
ニューラルネットワークや、ディープラーニングの基礎知識があれば、より理解が深まるでしょう。
Sequence to Sequence について
RNN(再帰型ニューラルネットワーク)の構造
Long Short Term Memory の仕組み
GRU の効果
これから始めるコーディングをまとめたものです。コーディングが大変な方は、こちらをダウンロードして実行してみましょう。
このセクションの概要を解説します。
Langクラスの処理の流れを図を用いて説明します。
Normalize処理の概要を解説します。
readLang関数の処理内容について解説します。
大量の学習データに対して、学習しやすいサイズに縮小するためにフィルタリングを行います。
Google Chrome以外のブラウザでは正しく動作しない場合があります。ここでは、Safariでのファイルアップロード方法を紹介します。
このセクションの概要について解説します。
Encoderについて処理内容を解説します。
Decoderについて、その処理内容を解説します。
このセクションの概要について概説します。
学習データの準備について、その処理内容を解説します。
train関数について、その処理内容を詳しく解説します。
Attention付きSequence2Sequenceを解説します。内部的にはかなり複雑な処理をしてますが、ポイントを押さえてみていきましょう。
日本語翻訳にも対応したソースコードの解説を行います。デコーダーの差分を見ていきましょう。
初心者にも扱いやすいPyTorchフレームワークを使って、Python コードを一行づつ解説していきます。
RNNの仕組み利用して、Encoder Decoderクラスを作成し、翻訳の基本的な仕組みを学びます。
フレームワークのRNNには LSTMの発展形であるGRUを使用し、EncoderとDecoderという仕組みを利用して機械的に翻訳を学習させて行きます。
機械学習では文法を考えずに大量のデータを読み込んで学習していきます。以前の翻訳はルールベースで翻訳作業を行ってきました。しかし、ビッグデータにより受け入れる情報量と処理能力が向上すると、いかに文法を学ぶということが、コストのかかる作業であったかということがわかってきます。
このレクチャーはとコーディングの解説が長く続く部分もありますので、何の説明をしているのか意味がわからなくなった場合などは、Q&Aにてご質問ください。
Pythonコードと、PyTorchフレームワークで解説していきます。
(英語から日本語へ翻訳するAttentionのコードも付属)