最近、LINEなどのSNSを使って宅配業者と会話形式で宅配時間を変更したり、保険会社への問い合わせができるようになりましたよね。実はこれがチャットボットといって、人が入力した文章に対して自動で応答するプログラムです。でも、このプログラムがどのように人の言葉を理解し、適切な回答をしているのか疑問に思っている方も多いでしょう。
この記事では、チャットボットの開発を通して機械がどのように言語を取り扱っているかを見ていきます。最後まで読むと、チャットボットの開発方法だけでなくプログラムによる自然言語処理の概念がつかめるに違いありません。
そこで今回は、チャットボットの開発と、その開発ツールについて解説しましょう。それでは、チャットボット開発についての解説を始めます。
そもそもチャットボットって?
そもそもチャットボットとは、「チャット」と「ボット」という言葉を合体した言葉です。「チャット」とは、インターネット上の掲示板などでの会話のことです。「ボット」とはロボットのことで、「自動」という意味合いで使われています。
つまり、チャットボットとは「自動で会話するプログラム」です。例えばTwitterなどのSNSで何か投稿したとき、突然知らないアカウントから返信などがあり驚いた人もいますよね。これは、SNS上を監視しているチャットボットが投稿内容に含まれるキーワードなどに反応し、自動で返信したためです。
どういうことなのかというと、チャットボットはユーザーが入力した内容を解析しユーザーが何を言ったかを理解し、その内容に合わせて返答します。この仕組みは「ルールベース」と「機械学習ベース」の大きく2種類に分けられます。
チャットボットは、TwitterやLINEといったSNSでの自動返信によく使われています。また、その他の使用例では、三重県志摩市観光協会が導入した「Bebot」という外国人向けの観光案内サービスなどがあります。
チャットボット開発の方法とは?
チャットボットを利用すると、ユーザーと自動的に会話ができることがわかりましたよね。チャットボットは非常に高度なプログラムですが、プログラミング経験のない方でも開発ができます。それでは、チャットボットの開発方法について解説します。
チャットボットの開発方法は大きく分けて3つの方法があります。まず1つ目「Pythonなどのプログラミング言語を用いる方法」では、文章解析ライブラリを利用した高度なプログラムを書くことが求められます。多大な時間や技術力が必要なため、個人でサービスを作成するにはあまり向きません。
2つ目の「各アプリ上でのチャットボット作成APIを利用する方法」では、LINEやTwitterなどのアプリが公式に提供しているAPIを利用し、手軽にチャットボットを作ることができます。APIとはアプリの機能を別のサービスから簡単に利用できるようにするシステムのことです。チャットボットを公開したいアプリがAPIを提供している場合、この開発方法がもっとも良い選択肢となります。
3つ目は世界中の企業が公開している「チャットボット開発ツール・サービスを利用する方法」です。この方法はプログラミング不要で簡単にチャットボットが作成できます。様々なサービスが提供されており、チャットボットの作り方も全く異なります。そこで、次の項目からはチャットボット開発ツール・サービスについて解説しましょう。
チャットボット開発ツール・サービスその1:「BotEditor」
まず紹介するのは「BotEditor」。BotEditorはウェブブラウザ上でマウスとテキスト入力だけでチャットボットが作れるサービスで、プログラミング経験のない方でもチャットボットが作れます。
「BotEditor」はフローチャートのような形で、チャットボットがユーザーにどのような質問やアクションをするのかを作り込むことができ、質問に対してユーザーが答えるという形式の会話が非常に得意です。
また作成したチャットボットは自分のウェブサイトやLINE、Facebookなどに埋め込むことが可能です。Googleアカウントがあればユーザー登録も不要ですぐに使い始められるので、ぜひ試してみましょう。
チャットボット開発ツール・サービスその2:「Dialogflow」
次に紹介するのは「Dialogflow」という2016年よりGoogleのサービスとして提供されているサービスです。
Diarogflowの大きな特徴は、対話がルールベースと機械学習をくみあわせられること。ルールベースとは、「今日は何時に荷物を届けますか?」「13時にしてください」というような、ある程度答えが限定された会話を実現する手法です。ここに機械学習を加えることで、「今日は何時に荷物を届けますか?」「昼過ぎがよいのですが」「13時頃でよいですか?」といったチャットボット作成者が予測していない「昼過ぎ」という単語にも対応した会話ができるようになります。
今までは予想外の単語にも対応できるチャットボットを作るには機械学習を利用した自然言語処理が必要でした。機械学習による自然言語処理では、たくさんの言葉を似たもので集めて分類しています。例えば「昼過ぎ」「12:30」「13時」など近い意味の言葉が似たものと分類されているため、上記のような柔軟な会話が実現できるのです。
チャットボット開発ツール・サービスその3:「Hachidori」
次は「Hachidori」という国内最大のチャットボット開発ツールです。HachidoriはFacebookとLINEにも対応したツールで、「業務効率化からマーケティング対策まで誰でも片手間でつくれるチャットボットツール」というコンセプトです。つまり、実用レベルのサービスを短時間に作れるよう意識しているとのこと。
Hachidoriは国産のチャットボット開発ツールなので、使い方などが日本語で非常にわかりやすく紹介されています。また、日本語は英語など他の言語とは違い、単語と単語の間に区切りがないという点で非常に特徴的です。このため、自然言語処理では扱いにくい言語ですが、国内企業のため日本語対応も非常に期待できますよね。
チャットボット開発ツール・サービスその4:「Repl-AI」
最後に紹介するのは「Repl-AI」。こちらもプログラミング経験がなくてもチャットボットを作ることができます。「Repl-AI」では一人のユーザーとの対話や複数ユーザーを相手にした会話などたくさんのシチュエーションを想定したテンプレートが用意されており、簡単にチャットボットを開発することが可能です。
最大の特徴は作成したチャットボットを他のプログラムから呼び出せるAPIという形で出力できることです。この形式で出力できるとFacebookやLINEを始めとしたサービスの他、自作のプログラミングでも利用しやすくなるのでチャットボット活用の範囲がとても広がります。チャットボットをスマホアプリにしてリリースする・・・こともできるかもしれません。
チャットボット開発後に気をつけること
チャットボット開発後に最も気をつけることは、チャットボットがおかしな動きをしていないかどうかです。例えば、Twitterで自動返信チャットボットを作成したら、意図しないメッセージにまで返信していないかを見張るようにしましょう。
もし自作のチャットボットに人気が出たら、チャットボットを提供しているサーバー負荷にも注意が必要です。サーバー負荷が過大になるとユーザーが快適にチャットボットを利用できなくなり、せっかく上がった満足度が下がってしまうことに。
また、チャットボットをどんどん更新して賢くすることも大切です。ユーザーとの過去の会話を確認し、ユーザーからの思いがけない会話にも対応できるようにすることで、ユーザー満足度もきっと向上するに違いありません。
他人に迷惑をかけないよう十分注意しながらチャットボット作成を楽しみましょう!
さて、今回はおすすめのチャットボットの開発方法や、チャットボット開発ツール・サービスについて解説しました。内容をまとめると以下のようになります。
- チャットボットとは「自動で会話するプログラム」
- プログラミング経験がない方でもチャットボットを作れる
- 自分のスキルと作りたいサービスにあわせて開発ツールを選ぶ
- BotEditorはウェブブラウザ上でマウスとテキスト入力でチャットボットが作れる
- Diarogflowはルールベースと機械学習を組み合わせた対話ができる
- Hachidoriは国内最大のチャットボット開発サービスで日本語に強い
- Repl-AIはAPI出力による高い汎用性が魅力
- チャットボットの意図しない動作に注意
- ユーザー満足度を向上できるようチャットボットを更新する
チャットボットを利用すると、これまでのウェブサービスにはないあたたかみのある会話を提供したり、会話するオリジナルキャラクターを作ったりできます。今回の解説を生かして、おもしろいサービスを作りましょう!