次世代コミュニケーションツール「チャットボット」の活用 〜Azure Bot ServiceでAzureのことに何でも答えてくれるLINEボットを作る 〜【概要編】

こんにちは、サイオステクノロジー技術部 武井です。今回は、次世代のコミュニケーションツールである「チャットボット」についてお話しして、最後にAzure Bot ServiceでAzureのことに何でも答えてくれるLINEボットを作りたいと思います。

5回シリーズでお届けする予定で、第1回目はチャットボットサービスの概要がテーマとなります。

  1. 今回はこちら → 概要編
  2. Azure Bot Service編
  3. QnA Maker編
  4. LUIS編
  5. Azureのことに何でも答えてくれるLINEボット作る編

本シリーズの成果物は以下のGitHubにあがっております。

https://github.com/noriyukitakei/AzureFAQBot

※本記事をベースに第22回 Tokyo Jazug Nightで登壇させて頂きました!!

Screen Shot 2019-11-18 at 22.42.00

チャットボットとは

「チャット」とは、皆さん御存知の通りネットワーク上でテキストや画像などを通して、ユーザー同士がコミュニケーションを取り合う手法です。近年、代表的なものでは、Slackなどがあります。

「ボット」とは、「ロボット」の略で人間に変わり、様々な処理を自動化してくれるプログラムのことです。

この2つの言葉をかけ合わせたのが「チャットボット」であり、「チャットボット」とはチャットによるコミュニケーションにおいて、あらかじめ作成されたプログラムに基づき、人間の問いかけに対して、人間らしく適切な応答を返してくれるシステムのことです。

代表的なのが、マイクロソフトが提供している元女子高生AI「りんな」です。これは「りんな」という元女子高生(2019年3月20日に卒業したらしい)のキャラクターと会話を楽しむことができるチャットボットサービスです。りんなはLINE上で提供されているアカウントで、他愛ない会話を楽しむことが出来ます。もちろん、「りんな」という人物は実在せず、応答しているのは、マイクロソフトが開発したAIです。以下はその会話の例です。ちょっとおかしな返答もありますが、人間っぽい会話が出来ているのがご覧いただけるかと思います。

Screen Shot 2019-07-28 at 9.26.31

なぜ今チャットボットなの?

チャットボットという技術は以前からありました。しかしながら、そのベースを支える技術は「人工無脳」と言われるものであり、おせじにも人間らしい対話とはかけ離れたものでした。「人工無脳」の技術も様々ですが、その一つとして「辞書型」というのがあり、あらかじめ定義した特定のキーワードに対して、特定の答えを提示するというものです。当然これでは、人間らしい会話は実現出来ず、アタマの悪いロボットと会話しているようで、かなりの違和感を感じます。

そこで「AI」の登場です。AIを用いたチャットボットは、機械学習などの技術に基づいて、ユーザーの発言パターンを学習し、より人間らしい応答を返すことができるようになりました。昨今、マイクロソフトやGoogleなどの企業がこのAI技術の発展にしのぎを削っており、AIは爆発的な発展を遂げました。

AIの発展により、チャットボットはより人間的になり、実用的で身近なものになってきました。こうした経緯により、チャットボットブームが再来したわけです。

どんなときにチャットボットは役に立つの?

では我々の生活の中でチャットボットはどのように役立っているのでしょうか?代表的な活用事例をいくつかピックアップしてみます。

一問一答系チャットボット

「電源が入らなくなったけど、どうすればいいの?」「突然画面が真っ暗になった」「VPNの使い方がわからない」などのユーザーの質問に回答する一問一答の形式で回答するチャットボットです。

Screen Shot 2019-07-29 at 9.10.02

一問一答系チャットボットは、カスタマーサポート系業務の代替もしくは補助として有効です。今まで、人力で電話で受けていた顧客からの問い合わせをチャットボットで対応出来れば、スタッフ手間をかなり削減することが出来るばかりでなく、電話回線が混雑しているときにも待たさせることなく、回答を提供することが可能です。

また、開発側にも大きなメリットがあります。このような一問一答系チャットボットを必要とするカスタマーサポート系業務は、大抵FAQがドキュメントになっていることが多くあります。そのFAQをそのままシステムに取り込んでしまえば、もうチャットボットシステムの出来上がりです(極端に言えばですが)。後述する会話型チャットボットのように、いくつかの質問を繰り返して、初めて顧客の意図がわかるようなフローだと、ユーザーの回答を一旦どこかの外部ストレージに格納する必要があります。いわゆるステートフルな設計がマストとなり、開発が複雑になります。

それに比べて、一問一答系のチャットボットはステートレスでよいので、開発からリリースまで比較的短時間に行えるというメリットがあります。

Azure上でチャットボットを作成するサービス「Azure Bot Service」であれば、Cortana(マイクロソフトが開発したAIアシスタントで、Windowsの右下にあるアレです)と連携が可能です。Azure Bot ServiceとCortanaを連携すれば社内ヘルプデスクのチャットボットサービスを簡単に構築でき、情シス部隊が毎日定時に帰れるようになるのも夢ではありません。

IMG_0831

会話形チャットボット

いくつかの質問を経て、初めてユーザーの意図がわかるようなチャットボットです。例えば、会議室の予約系業務がそれに該当します。「どこの会議室を予約しますか?」「時間帯は何時から何時までですか?」「参加者は誰ですか?」といった複数の質問に全て回答して、初めて会議室予約が成立するようなパターンです。

Screen Shot 2019-07-30 at 7.24.03

会話型チャットボットは、ユーザーの要求をきめ細やかに聞くことができる反面、開発は複雑になります。

チャットボットの実体は、Webアプリケーションであり、RestAPIです。基本的には、発言をするごとにRestAPIが呼ばれるような実装が多くあります。

いくつかの質問を繰り返して、初めてユーザーの意図がわかるようなフローだと、ユーザーの回答を一旦どこかの外部ストレージに格納する必要があります。いわゆるステートフルな設計がマストとなり、開発が複雑になります。

通知系チャットボット

リマインド系通知など、チャットボットの方から何かしらの通知を出す形態です。飲み会などの参加可否回答のリマインダー、セミナーの受講可否リマインダーなどに活用出来ます。

Screen Shot 2019-07-30 at 19.37.36

雑談系チャットボット

先程ご紹介した「りんな」を始めとした、他愛のない会話を楽しむことが出来る雑談系チャットボットです。

IMG_0829

今はまだ人間らしい対話とは程遠いですが、AI技術の革新により、自然な対話が実現できるようになれば、悩みを持った人の話し相手になり、チャットボットは人間に寄り添うセラピストに近い存在になりうるかもしれません。

会話というインターフェースについて

「会話」というインターフェースについて考えてみたいと思います。

会話は、老若男女誰にでも馴染みやすいインターフェースです。文字によるものから音声に至るまで、我々の生活は会話によって成り立っており、チャットボットは、この会話というインターフェースをベースにしているのが、最大の強みです。

数年前のスマホアプリラッシュの際には数多くのスマホアプリが連日のようにリリースされました。そのインターフェースは、アプリごとに固有のもので、中には相当に複雑なものもあり、その習熟には、かなりの時間を要します。新しいものに敏感な若者であれば、楽に使いこなすかもしれませんが、比較的年配の層は、この手のものが苦手な方が多いのが事実です。Webインターフェースはスマホアプリよりも歴史が長いですが、同様のことが当てはまると思います。

その点、会話というインターフェースにおいては、先程もご説明したように、老若男女誰にでも馴染みのあるものです。チャットボットは、この会話というインターフェースを採用しているので、スマホアプリやWebアプリのような複雑なインターフェースとは違い、あらゆる年齢層をターゲットに出来るのが最大の強みです。

また、会話というインターフェースは、開発にとっても非常にアドバンテージがあります。スマホアプリやWebアプリは、アプリケーションプログラマーに加えて、UI/UXデザイナーを必要とします。このUI/UXデザイナーの調達が実は結構手間取ったりすることが多いんですよね。もしくは、アプリケーションエンジニア自信がUI/IXデザイナーを兼ねた結果、イマイチなUIになるケースとかよく散見されます^^;しかしながら、会話というインターフェースはデザインを必要としません。もちろん、会話の流れを設計する必要はあると思いますが、専任のエンジニアが必要ではないのではないなーと思います。

チャットボットのプラットフォーム

Webアプリを公開したい場合は、自前でWebサーバーを用意するか、クラウドのサービス上にWebアプリ実行プラットフォームを用意して、アプリケーションをデプロイ、そして、何らかの手段でそのURLを周知する必要があります。スマホアプリも同様ですね。ユーザーにいかに使ってもらうかは大きな課題です。しかもスマホアプリの市場はもう飽和状態、後発のベンダーが入っていけるほど、甘いもんではありません。

その点、チャットボットは違います。チャットボットの動作するプラットフォームは、Facebook、LINE、Skype、Teamsなどのメッセンジャーアプリです。各社ともチャットボットを作成するためのAPIを提供しています。

Webアプリやスマホアプリはたくさん種類がありすぎて、ユーザーによって毎日使うアプリは異なります。しかし、メッセンジャーアプリは毎日使いますよね。LINEはほぼ毎日、たくさんのユーザーが利用しています。

数千万のユーザーが毎日のように利用している慣れ親しんだプラットフォーム、慣れ親しんだUIで、サービスを提供できるというのは非常に大きなアドバンテージと言えます。

チャットボットは万能?

残念ながら、現段階において、チャットボットは万能とは言い切れません。先ほどの、私とりんなのやり取りを見て頂ければ分かるのですが、微妙に外してるのが分かると思います。現在、マイクロソフトやFacebookなどのIT界の巨人たちがしのぎを削るAI開発によって、AIの技術が革新的に発展すれば、チャットボットは万能たる存在になり得るかもしれませんし、それはそう遠くない未来かもしれません。ただ、まだまだ、チャットボットは発展途上と言わざるを得ません。

現状では、旧来の方法(人による対応やWebアプリケーション)と、チャットボットのハイブリッドな方法がベストです。

例えば、携帯電話のプラン変更をチャットボットで行うとします。携帯のプランはご存知かと思いますが、複雑怪奇です。現段階の技術では、これをチャットボットで行うのはかなり困難ですし、無理して実現しようとして、チャットボットがわけのわからない返答をしてもユーザビリティが下がるだけで、そのチャットボットは二度と利用してもらえなくなるかもしれません。

なので、ユーザーが「携帯のプランを変更したい」と発話したら、プランを変更するWebサイトへのリンクを案内して、そちらに誘導してあげたり、もしくは適宜、人間のオペレーターが補助するというのがよくある方法です。

Screen Shot 2019-07-31 at 7.49.21

無理してチャットボットだけで完結しようとせず、従来のアナログな技術とのハイブリッドが、現段階では最も妥当な解といえるのかもしれません。

実例を一つご紹介致します。アスクルの個人向け通販「LOHACO」も「マナミさん」というチャットボットを展開しています。「注文をキャンセルしたい」と入力すると、購入履歴のWebサイトに誘導されているのがわかります。

IMG_0832

まとめ

Webアプリ、スマホアプリと来て、次のブームは間違いなくチャットボットです。AI技術の革新により、チャットボットはより我々の生活に身近なものになっていくことは間違いありません。これからもチャットボットに関するたくさんの情報をお届けしたいと思います。

次回はAzure Bot Service編をお届けします。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です