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

 

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

 

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

 

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

 

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

 

スポンサーリンク

 

入力を受け付ける

 

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

 

 

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

 

ネコ
でもそれだとプログラムを終わらせられないんじゃない??

 

のっくん
そう。なので、「ばいばい」と入力されたら、プログラムを終わらせるようにしているんだ。

 

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

 

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

 

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

 

 

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

 

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

 

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

 

 

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

 

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

 

 

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

 

全体のプログラム

 

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

 

 

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

 

コードの中に変換表を書いてますが、数が多くなるとコードが長くなってしまいますので、ファイルに保存して読み込むようにします。

 

trans.txt

 

のっくん
クリスマスが近いので、クリスマスに関連する言葉を記載してみたよ!

 

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

 

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

 

 

まとめ

 

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

 

参考