Chatbot: はじめてのチャットボット2/4, Python, NLTK

Last Updated on

次の解説を勉強しています。

 

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

About shibatau

I was born and grown up in Kyoto. I studied western philosophy at the University and specialized in analytic philosophy, especially Ludwig Wittgenstein at the postgraduate school. I'm interested in new technology, especially machine learning and have been learning R language for two years and began to learn Python last summer. Listening toParamore, Sia, Amazarashi and MIyuki Nakajima. Favorite movies I've recently seen: "FREEHELD". Favorite actors and actresses: Anthony Hopkins, Denzel Washington, Ellen Page, Meryl Streep, Mia Wasikowska and Robert DeNiro. Favorite books: Fyodor Mikhailovich Dostoyevsky, "The Karamazov Brothers", Shinran, "Lamentations of Divergences". Favorite phrase: Salvation by Faith. Twitter: @shibatau

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.