Pythonでチャットボット(chatbot)を作ってみる

はじめに

チャットボットに興味があったので、色々と調べたことをまとめてみました。私自身、Pythonの開発経験はほとんどありません。

この記事はプログラミングやPythonの初心者の方を意識して作成しています。掲載したプログラムはWindows環境で動作確認しています。

前提知識1 ~ pythonのインストール

PythonはPython Web サイトから無料でダウンロードできます。インストール時、「Add Python 3.9 to PATH」(3.9のところはインストールしたバージョン番号になります)にチェックします。インストール後、コマンドプロンプトを立ち上げて、pythonと入力し、Pathが通っていることを確認下さい。

Pathが通っている場合は、以下のようなPythonの入力モードになります。exit()と入力すれば入力モードは終了します。

Python 3.9.4 (tags/v3.9.4:1f2e308, Apr  6 2021, 13:40:21) [MSC v.1928 64 bit (AMD64)] on win32

Type “help”, “copyright”, “credits” or “license” for more information.

>>>

前提知識2 ~ コマンドプロンプトの基本的な使い方

普通のシステムエンジニアは専用のテキストエディタを使って開発するのが普通です。例えば、無料だとVisual Studio Codeやサクラエディタなど。色々と便利な機能があるので。ただ、使いこなすには覚えることも多いので、今回はあえてメモ帳+コマンドプロンプトだけでやってみます。

コマンドプロンプトはWindowsに標準装備されているコマンドラインのツールです。Windows10だとWindowsシステムツールの中にあります。

以下のWindows画面左下の検索で、cmdと入力してもコマンドプロンプトは起動します。

また、コマンドプロンプトを押す前に右クリックし「その他→管理者として実行」で管理者権限で実行できます。Cドライブ直下のフォルダの更新など、強い権限が必要な場合はこの方法で実行します。

次に、基本的なコマンドの説明です。

まず、「cd」でフォルダを移動します。

    例: cd C:\Program Files (x86)

現在のフォルダの一覧表示は、「dir」です。一つ上のフォルダへの移動は「cd ../」。

Pythonプログラムの実行は、Pathが通っていればファイル名を指定して「〇〇〇〇.py」のように入力すれば実行できます。ファイル名の拡張子を「.py」とすることで、WindowsはこのファイルをPythonプログラムと判断します。

前提知識3 ~ チャットボットの実装方法

チャットボット作成というと、すでにあるWeb上のチャットボットサービスをAPI連携したり、タグを埋め込むパターンが多いようですが、ここでは以下の順番で説明していきます。

  パターン1.自分のPCでボットとチャットする(画面なし)

  パターン2.自分のPCでボットとチャットする(画面あり)

  パターン3.Web上でボットとチャットする(Pythonパッケージで作成)

  パターン4.Web上でボットとチャットする(API連携)

それぞれのパターンの特徴を表でまとめました。

それぞれのパターンの説明はこちらのリンクからどうぞ。

<パターン4>はLINEやslackなど、たくさんの会社が提供しているパターンです。商用利用前提でチャットボットを作る場合、ほとんどこの<パターン4>になります。紹介しているサイトもたくさんあるので、あえてこのサイトでは詳しく取り上げません。

<パターン1>

<パターン2>

<パターン3>

参考にしたWebサイト

この記事を作る際、以下のWebサイトを参考にさせて頂きました。

chatterbotパッケージの説明サイト

About ChatterBot — ChatterBot 1.0.8 documentation

How to build a chatbot in Python

https://thecodezine.com/how-to-build-a-chatbot-in-python/

herokuの開発者向けサイト

Getting Started on Heroku with Python | Heroku Dev Center
A step-by-step guide for deploying your first Python app and mastering the basics of Heroku

参考にしたDjangoチャットボットのプログラム

GitHub - gunthercox/ChatterBot: ChatterBot is a machine learning, conversational dialog engine for creating chat bots
ChatterBot is a machine learning, conversational dialog engine for creating chat bots - gunthercox/ChatterBot

タイトルとURLをコピーしました