次の解説を勉強しています。
Building a Simple Chatbot from Scratch in Python (using NLTK)
I.チャットボットの種類
チャットボットは大きく、プログラムで指定された通りの応答するタイプと機械学習をもちいた自己学習タイプにわかれます。
後者はさらに、プログラムで与えられた情報や対話から得た情報から応答を選び出すものと応答を自ら産出するものにわかれます。
この文書で紹介されているプログラムは応答を選び出す選出型のプログラムです。
Retrieval basedとGenerativeの区別はなんとなくわかりますが、具体的に、選出型の場合どのようなやり方で応答を選ぶのか、産出型だと的外れな応答をしてしまうのではないかなど、疑問はいろいろありますが、ROBOのスクリプト学ぶことで、これらの解答が得られるのではないかと思っていますが、、、
II.NLTKのインストール
NLTK(Natural Language Toolkit) はPythonで自然言語、つまり、人が使っている普通の言葉を処理するためのプラットホームです。
プラットホームとかライブラリとかフレームワークとかややこしいです。
私自身クリアには理解できていませんが、私のイメージとしては、プラットフォームは、WindowsやMac OSやAndroidのような土台で、その上にそれぞれに対応するアプリケーションが構築されます。
ライブラリは、そのプログラム言語で書かれた特定の機能の集まりです、例えば数学の計算をするもの、Twitterの情報を処理するもの、あるいは、特定の目的のための関数のセットなどのようなイメージです。
次の文書が参考になります。
Framework vs Library vs Platform vs API vs SDK vs Toolkits vs IDE
冒頭にリンクした解説文書では、pipによりインストールされていますが、Anacondaをインストールしているなら、condaを利用します。
ターミナルで次の指示を実行します。
conda install -c anaconda nltk
ちなみに、pipはPythonに同梱されているパッケージ管理システムです。Pythonをインストールしているならpipを利用できます。
Anacondaをインストールするとcondaという別の管理システムも利用できるようになります。つまり、2通りのやり方でパッケージをインストールできるということです。
どちらでインストールしても、通常は問題ありませんが、私はcondaでインストールできるものはcondaでインストールし、できないものをpipでインストールしています。
pipでインストールする場合は、解説にあるように次を実行します。
1. Install NLTK: run pip install nltk
2.Test installation: run python then type import nltk
明瞭に指示されていますが、プログラムははじめてという方は、1と2を混乱しがちです。
pip install nltkはターミナルで実行します。これに対して、import nltkはPythonで実行します。
つまり、pipやcondaはターミナルに書き込んインストールを指示します。これに対してimportはインストールされているnltkを呼び出す式でPythonのプログラムの一部です。プログラムを書くごとにimportする必要があります。
to be continued