簡単なチャットボットを作ってみよう~あいさつボット|チャットボットの基礎知識4

チャットボットの基礎知識

著者:ひぐぺん工房 松浦 健一郎、司 ゆき

前回は、チャットボットのプログラムが行う処理の流れや、開発に使うプログラミング言語、そしてチャットボットの開発を支援する開発環境について解説しました。今回は、実際に簡単なチャットボットのプログラムを作りながら、どんな処理を行っているのか具体的に解説します。作成するのは「こんにちは!」や「おはようございます!」といった応答を返す、あいさつチャットボットです。このチャットボットはLINE(ライン)上でユーザーと会話します。他のチャットサービスなどで会話するチャットボットを作る際も、基本的な考え方は共通です。

第4回「簡単なチャットボットを作ってみよう~あいさつボット」を解説していきます。

基礎知識DL

1. あいさつチャットボットの仕組み

最初は、簡単なチャットボットを作りましょう。いつも「こんにちは!」とだけあいさつするチャットボットです(図1)。ユーザーが何か発言したら、その内容にかかわらず、常に「こんにちは!」という応答を返します。

「こんにちは!」とだけあいさつするチャットボット
図1:「こんにちは!」とだけあいさつするチャットボット

例えばユーザーが「やあ」と発言すると、チャットボットはチャットサーバからJSON データを受信します(図2)。このデータには、発言のテキスト「やあ」に加えて、応答に必要なリプライトークンなども含まれています。ここでは図を簡単にするために、データの一部を「...」のように省略しました。また、実際のデータではテキストがエンコード(符号化)されていますが、ここでは分かりやすさのために、元のテキストのまま示しています。

チャットボットが受信するJSONデータ
図2:チャットボットが受信するJSONデータ

このチャットボットが「こんにちは!」と応答するには、図3 に示すようなJSON データをチャットサーバに送信します。このデータには、「こんにちは!」というテキストと、先ほどチャットサーバから受信したリプライトークンを含めます。

チャットボットが送信するJSONデータ
図3:チャットボットが送信するJSONデータ

2. あいさつチャットボットのプログラム

これでチャットボットが受信および送信するデータの構造は分かったので、あとはこれらのデータを操作するプログラムを作成すれば、チャットボットは完成です。今回は、プログラミング言語Python(パイソン)を使って、プログラムを開発してみました。以下にプログラムを示します。

プログラムの一部を抜粋して、主要な処理を紹介します。図4 は、応答を送信する処理を表します。最初にアクセストークンを変数token に、応答のテキストを変数reply(リプライ:応答)に設定します。変数というのは、データを一時的に格納(保存)するための領域です。変数に格納した値は、後で取り出して利用することができます。

アクセストークンは、LINE にチャットボットを登録すると発行される番号です。アクセストークンは利用者ごとに異なる番号なので、ここでは...のように省略しています。掲載したプログラムを実際に動かしてみる際には、あらかじめアクセストークンを取得しておいて、...の部分に記入します。

応答を送信する処理
図4:応答を送信する処理

次に requests.post という機能を利用し、チャットサーバに応答を送信します。requests(リクエスツ)は、本連載の第 2 回で紹介した HTTPやHTTPS を使って通信を行うためのソフトウェアで、Python ではよく利用されています。応答には、アクセストークン、リプライトークン、テキストを使います。図3 で表したチャットボットが送信する JSON データと比べてみましょう。

3. ユーザーの発言に応じてあいさつを変えるには

続きは資料をダウンロードしてご覧ください!

全6回で下記の内容を解説しています。

  • 第1回 チャットボットとは
  • 第2回 チャットボットの仕組み
  • 第3回 チャットボットの開発
  • 第4回 簡単なチャットボットを作ってみよう~あいさつボット
  • 第5回 実用的なチャットボットを作ってみよう~割り勘ボット
  • 第6回 Web APIを使ったチャットボットを作ってみよう~価格検索ボット

基礎知識DL

  • 資料ダウンロード

    これさえ読めば簡単に利用できる
    「3分でわかるイプロス無料出展会員」

  • 無料掲載

    イプロスで製品・サービスをPR
    無料掲載のお申し込みはこちらから