【Python】チャットボットを作ってみた

こんにちは。のっくん(@yamagablog)です。

特定のメッセージに応答する簡単なチャットボットを作ってみました。

「Pythonでチャットボットを作ってみたい」

そんな方向けの記事です。

入力を受け付ける

こちらの入力した文字列を受け取るために以下のようにinput関数を使います。

while Trueとすることで、コマンドを永遠に受けつけるようにしています。

でもそれだとプログラムを終わらせられないので、

「ばいばい」と入力されたらプログラムを終わらせるようにしています。

辞書を使って変換表を作る

特定のキーワードが入力されたら、ボットが返答するメッセージを決めましょう。

変換表はPythonの辞書を使うと便利です。

Tips
Macの日本語キーボードでカタカナを入力するには、「control」+「k」

入力されたコマンドと辞書を比較する

入力されたコマンドに辞書のキーが含まれているか比較してみましょう。

もし、含まれていた場合にはボットが返すメッセージを保存します。

含まれていない場合もあるので、そういう時のためのメッセージも用意しておきましょう。

辞書に登録されている文字がなければ、responceは空文字列のままです。空文字列の判定は、if not でしています。

全体のプログラム

以上の機能をまとめると以下のようなプログラムができます。

変換表をファイルから読む

コードの中に変換表を書いてますが、数が多くなるとコードが長くなってしまいますので、

ファイルに保存して読み込むようにします。

trans.txt

このファイルを読んで辞書に変換してみます。具体的なコードの解説については、前回の記事にまとめてあるのでどうぞ。

https://ymgsapo.com/file-read-write/

まとめ

今日のまとめ
・Pythonだと短いコードでチャットボットを作ることができる
・ボットのメッセージは辞書で管理すると便利
・辞書のデータが長くなる場合はテキストファイルに保存しよう

 

 

ABOUTこの記事をかいた人

のっくん

のっくん。理系院卒で大企業に就職。趣味は、読書、プログラミング、英会話、筋トレ、旅行。 Twitter:@yamagablog