本コースは、自然言語処理を学び、チャットボットの開発につなげる講座です。
可能な限りシンプルに、自然言語処理の本質を解説します。
RNNやLSTMを学び、テキストや対話文の生成ができるようになりましょう。
本コースに必要なPythonと数学を習得した上で、単語をベクトル化するword2vec、時系列データを扱うRNNなどを学んでいきます。
本コースは、自然言語処理を学び、チャットボットの開発につなげる講座です。
可能な限りシンプルに、自然言語処理の本質を解説します。
RNNやLSTMを学び、テキストや対話文の生成ができるようになりましょう。
本コースに必要なPythonと数学を習得した上で、単語をベクトル化するword2vec、時系列データを扱うRNNなどを学んでいきます。
これらの技術をベースに、夏目漱石や宮沢賢治、江戸川乱歩の文体を模倣した、テキストの自動生成を行います。
また、Seq2Seqによる対話文の自動生成技術を学び、チャットボット開発につながる対話文の自動生成を行います。
そして、AIに宮沢賢治の文体を学習させて、賢治botを作ります。
ヒトと機械のコミュニケーションについて、可能性を探ってみましょう。
自然言語とは日本語や英語などの我々が普段使う言語のことですが、自然言語処理(Natural Language Processing、NLP)は自然言語をコンピュータで処理する技術のことです。
自然言語処理は検索エンジン、機械翻訳、スパムフィルタ、音声アシスタント、小説の執筆や対話システムなど、様々な分野で活躍しつつあります。
そして、これをベースにしたチャットボットは多くの可能性を秘めており、今後の世界で重要な役割を果たしていくことは間違いないでしょう。
————————————————————
本コースの主な内容は以下の通りです。
開発環境の構築、Pythonや数学の解説動画は、他のコースのものと重複する場合があります。
自然言語処理の準備
→ 環境の用意や前処理など、自然言語処理に必要な準備を行います。
word2vec
→ 単語や文章をベクトル化する技術について学びます。
リカレントニューラルネットワーク(RNN)
→ RNNについて基礎を学び、自然言語処理につなげます。
LSTM
→ RNNの発展形であるLSTMについて学び、自然言語処理につなげます。
文章の自動生成
→ Seq2Seqにより、対話文を自動生成する方法について学びます。
チャットボットの開発
→ 自然言語処理の技術を、チャットボットの開発につなげる方法を学びます
————————————————————
本コースでは可能な限り簡単に環境を構築できるように工夫していますが、お手元の環境によってはご自身で調べながらの環境構築が必要です。
動画を見るのみでも学習が進められるようになっていますが、可能であればPythonのコードを動かしながら進めるのが望ましいです。
コードがダウンロード可能なので、これをベースにオリジナルの自然言語処理のコードを書いてみることもお勧めです。
修了した方は、学習意欲が刺激されて自然言語処理のことをさらに知りたくなっているかと思います。
コースの概要、及び各セクションの概要を解説します。
自然言語処理の概要について解説します。
チャットボットの概要について解説します。
Anacondaのインストール方法を解説します。
Anacondaの商用利用が、いくつかの条件を満たしている場合に有償となりました。
このレクチャーでは、有償化の回避策を紹介します。
Jupyter Notebookの使い方を解説します。
教材のダウンロード方法と、教材の使い方について解説します。
本コースを学ぶために必要な、プログラミング言語Pythonについて学びます。
数値演算ライブラリ、NumPyを解説します。
グラフの描画に必要なライブラリ、matplotlibについて解説します。
本セクションで学ぶための基礎となる数学を解説します。
ニューラルネットワークに必要な線形代数の基礎を学びます。
ニューラルネットワークに必要な微分の基礎を学びます。
ニューラルネットワークに必要な、正規分布の概念を学びます。
ニューラルネットワークについて、概要を解説します。
ニューラルネットワークが学習するためのアルゴリズム、バックプロパゲーションについて概要を解説します。
janomeをインストールする際の、バージョン指定に関してです。
本コースで必要な、環境の構築方法について解説します。
Pythonの正規表現により、文字列を加工する方法を学びます。
文書データ(コーパス)に対して、前処理を行う方法について学びます。
形態素解析により、文書を単語に分割する方法を学びます。
word2vecについて、概要を学びます。
単語をベクトル化する、分散表現について学びます。
分散表現を使って、単語の類似度を測定します。
分散表現を使って、単語ベクトル同士の演算を行います。
文章自体をベクトルで表し、文章の類似度を測定します。
リカレントニューラルネットワーク(RNN)について、概要を解説します。
フレームワークKerasについて、基礎を学びます。
Kerasを使って、シンプルなRNNを構築します。
RNNで文書の自動生成にトライします。
RNNが抱える問題に対する対策の一つ、勾配クリッピングについて学びます。
RNNの発展形であるLSTMについて、概要を解説します。
LSTM層の仕組みについて、構成する各要素を解説します。
シンプルなLSTMを実装し、学習、予測を行います。
LSTMの発展形であるGRUについて、概要を解説します。
シンプルなGRUを実装し、学習、予測を行います。
LSTM、GRUを使って文書を自動生成し、結果を比較します。
Seq2Seqによる対話文の生成について、概要を学びます。
最小限の実装で、Seq2Seqのコードを学びます。
対話文生成用の訓練データに、前処理を行います。
対話文のコーパスを学習し、訓練済みのモデルを使って対話文を生成します。
訓練済みモデルの、対話文生成能力を検証します。
チャットボット開発の概要を解説します。
Jupyter Notebook上に、チャットボットを構築します。
コマンドライン上で、チャットボットを動かします。
チャットボットの未来について、少しだけお話しします。
さらに学びたい方のために、有用な情報を提供します。
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.