ブログ
東京ハンズオン

高度なチャットボットが手軽に作れる!?〜Repl-AIとコグニティブサービスAPIのハンズオン〜

2016.09.16

レコメンド機能、音声の認識機能、チャットボットの作成が手軽に利用できる時代が到来!
プログラミングの知識がなくても、かんたんにチャットボットを作成できます
 
MashupAwards2016では2度目となる東京でのハンズオン
今回はインターメディアプランニング × NTTドコモの提供する「Repl-AI」と「Microsoft Cognitive Service」について、実際に動かして学ぶというイベントとなりました!
本レポートでは、イベントで学んだ内容についてをお届けしたいと思います。

Repl-AI

NTTドコモ 山崎さんのセッションにてご紹介いただいた「Repl-AI」についての内容を紹介します。
プログラミングの知識がなくても、とてもかんたんにチャットボットを作成できます。

概要

Repl-AIとはルールベースのチャットボットを、フローチャートのGUIを用いて作ることができるサービスです。
公式サイトはこちら。

アカウントの登録

Repl-AIの使用のためにはアカウント登録が必要となります。
新規登録はdocomo Developer support(以下 dDs)のページにてアカウント登録を行い、同じIDとパスワードでRepl-AIへログインする形となります。
※ dDsにて、オープンIDで登録を行った場合は、dDsログイン後の設定画面にてパスワードを登録する必要があります。

プロジェクトの作成

ログインすると、プロジェクト一覧画面になります。画面右上の新規作成ボタンからプロジェクトの作成を行います。作成時にプラン選択が必要となりますが、Sleepはプロジェクトを保存しておくためのプランになるので、今回は選択しないようにしてください。
プロジェクトプランの内容についてはこちらを参照してください。
 
また、現時点の仕様ではプロジェクト作成後一定期間が経過するまでは使用料金は発生しません。
 

ボット・シナリオの作成

プロジェクトを作成したら、プロジェクトに紐づくボットとシナリオを作成します。
 
ボットの作成
 
ボットはID、名前を入力して作成します。
※ボットIDはAPIとしてこのボットを呼び出す時に指定する値です。
 
シナリオの作成
ボットを作成したら、ストーリーを作成します。ストーリーはボットが話す内容を設定するものです。
シナリオはベースとなるテンプレートを選んで作成できます。

 
シナリオの編集
シナリオは編集画面の左側のボックスをドラッグドロップで設置し、矢印でつなぎ合わせてフローチャートを作成する形で編集できます。
ボックスは現在は3種類用意されています。
 
対話BOX:ユーザーとボットのやり取りを設定するためのものです。システム発話はボットからの発信を設定するもの、ユーザー発話はユーザーからの発言を受け取って、設定した内容に合致する場合に次のアクションにつなげるためのものです。
シナリオ制御BOX:ユーザー発話起点は、会話の始まりになる箇所を設定します。シナリオ制御BOXは、他のシナリオへの移動を制御します。
連携ボットBOX:このボックスを使用すると他のAPIと連携した操作をさせることが出来ます。現在は知識Q&A、トレンド記事、雑談のAPIを使用可能です。

ボックス内容の編集

ユーザー発話、システム発話のボックスは、会話内容を設定することが可能です。
入力内容をワイルドカードで指定でき、また、一致する箇所を変数に保存して条件の分岐などに使用することが可能です。

ゆらぎ入力への対応

ユーザー辞書を作成し、単語に対してのゆらぎを登録することや、任意の固有名詞に対応させることが可能です。

作成したシナリオのテスト

作成したシナリオは保存を行った後、すぐに試すことができ、設定した内容が意図通りに動作するか確認できます。

Repl-AIについてのまとめ

Repl-AIを使用すると、プログラミングの知識がなくても、とてもかんたんにチャットボットを作成できます。
また、今後連携BOTボックスで使用できるAPIも拡充していく予定とのことで、手軽にチャットボットを作成してみたい方にはうってつけのサービスとなりそうです。

コグニティブサービスAPI

続いては、日本マイクロソフト株式会社 大森さんのセッションで紹介いただいた、コグニティブサービスの活用事例と使用方法を紹介します。
コグニティブサービスはレコメンドエンジンや文章解析、音声識別などの多種多様かつ高度な機能のAPIを使用することが可能なサービスです。
今回はチャットボットに使用するための「パーツ」としての紹介をいただきました。

 
コグニティブサービスの公式サイトはこちら

概要

Cognitive(コグニティブ)とは、認識、認知/認識力
コグニティブサービスとは、人間の認知機能(の一部)をコンピューター演算モデル化、API経由で利用可能なサービスです。認知機能とは、理解、計算、判断、思考などの知的な能力を指します。
 
大別すると、言語、音声、検索、視覚、知識の5つのカテゴリーに分類され、それぞれのカテゴリー内に機能に特化したAPIが内包されている形となっており、現在は全21種類のAPIが提供されいています。
より詳しい内容については製品サイトをご参照ください。

コグニティブサービス(VisionAPI)の活用事例

コグニティブサービスを使用したサービスの紹介。
今回はVisionのEmotion APIについてのハンズオンとなるため、画像認識に関する事例を中心に紹介いただきました。
 
https://how-old.netは顔写真から以前話題になった年齢を当てるサービス。会場で司会の伴野さんの顔写真を判定したところ、見事ドンピシャの年齢を認識。
 
https://www.captionbot.aiは、写真がどのようなものかを機械的に認識してキャプションをつけてくれるボットのサービス。雪山の画像に対して「I think it’s snow covered mountain.(これは雪が覆いかぶさってる山だと思う)」という回答を自動で認識して返しています。

アカウントの登録

コグニティブサービスの利用は、公式サイトでアカウント登録を行う必要があります。
基本的に無料で使用できます。
詳しくは、Qiitaの人工知能パーツ Microsoft Cognitive Services を使った表情分析アプリを作ろう![サブスクリプション準備編]を御覧ください。

APIの利用申請

アカウント登録が完了するとダッシュボードに遷移します。
APIsタブから、コグニティブサービス内の利用したいAPIを選択して、利用登録を行います。
今回はEmotion APIを使用しますので、項目にチェックを入れて登録申請を行います。
登録が完了すると、サブスクリプションキーが発行されます。
スクリーンショット 2016-09-16 7.00.10

EmotionAPIとは

画像中の人物の表情が、どのような感情の成分を持っているのかを解析できるAPIです。

Qiitaを見ながらハンズオン

今回のハンズオンの内容は、Qiitaの記事人工知能パーツ Microsoft Cognitive Services を使った表情分析アプリを作ろう! (Emotion API × JavaScript 編)に沿ったものとなります。
指定された画像のURLから、その内容を認識し、解析結果を画面に表示するWebアプリケーションを作ります。
ハンズオンの詳細な内容については、上記リンクの記事をご参照ください。

 
必要リソースのダウンロード
記事中のこちらの部分に、ハンズオンで使用したリソースのzipファイルがあります。
 
もくもくハンズオン
今回は、Qiitaを見ながらもくもく形式でのハンズオンを行いました。

 
うまくいかないときは
Qiitaで示されているコード中の“YOUR_SUBSCRIPTION_KEY”の箇所を置き換えしていないと、コードが上手く動きません。
APIの利用申請を行ったときに発行されるサブスクリプションキーに、文字の内容を置き換えてください。

資料

 

MA_2016_CognitiveServices入門_20160911Ayako Omori

コグニティブサービスについてのまとめ

ハンズオンで学習したEmotionAPIをはじめ、コグニティブサービスはレコメンドエンジンや文章解析、音声識別などの多種多様かつ高度な機能のAPIを使用することが可能なサービスです。
今回はチャットボットに使用するための「パーツ」としての紹介をいただきましたが、もちろんチャットボットに限らず、どんなことにでも応用可能なAPI群です。それらを複合的に利用することにより、利便性・実用性を兼ね備えた高度なプロダクトの実現も可能であるという事例も動画とともに紹介がありましたので、マッシュアップの一例としてぜひご覧ください。

プチアイデアソン

ハンズオンで学んだ、Repl-AIとコグニティブサービスを使用したサービスを考えるプチアイデアソンが開催されました。アイデアのテーマは「面白い」こと。なかなか中の人が考えつかないような奇想天外なサービスを考えてください。

 
面白いことを考えるための燃料

 
いい感じに、ワイワイガヤガヤ

出揃ったアイデアをご紹介

 
1チーム目 チームPCデポ
レビューサイトの評価は本当にあてになるの? 本当の評価を知るために、店舗に監視カメラを仕掛けて、笑顔で出てきた人が多いほど満足度が高い、ということが言えるので、Emotion APIでそれを実現しよう。というアイデア。チーム名がRockな時事ネタです。

 
2チーム目 チーム日本幸福どう?
国会炎上で2度儲けるサービス。
国会で寝ている議員を監視してSNSに晒し上げたり、全く口を開いていない議員や、意見に偏りが見られる議員の監視も行うボットを用意します。また、寝てる議員が叩かれたときに、議員側の防衛手段として自動で返信というか、なんかいい感じに対応をしてくれるボットも用意します。消化と炎上、2つのボットを利用させるビジネスモデルで、最終的に国会は全部ボットに・・・。

 
3チーム目 チーム婚活2.0
婚活パーティで、3分ごとのお見合いローテーションだと、最初の方の人を忘れてしまい、最後の方の人に評価が偏ってしまうので、EmotionAPIで正しい印象を覚えておくためのサービスアイデア。
の、紹介のはずが まさかのチームメンバーの人が過去に奥さんに対して言ったプロポーズのセリフに対してのダメ出しが始まるという驚きのプレゼンが行われました。お酒をのみすぎたんでしょうか…。

 
 
4チーム目 いろんな厄介事を撃退するサービス
訪問販売や使った覚えのない料金に対する請求や詐欺電話など、厄介な人からの連絡に対してボットが自動で返信してくれるサービスアイデア。寸劇形式による気合の入ったプレゼンが披露されました。

 
5チーム目 チーム名Undefined
社畜を作るサービスアイデア。
日々働く社員のメンタル具合を監視し、反抗的なやつを左遷、従順なやつだけを手元に残して、理想の社畜ばかりを集めた環境を作り上げるサービスを考案。世にも奇妙な物語っぽい怖さがありますね。

 
 
ご参加いただいた皆様、お疲れ様でした!!
MA2016にて、今回のハンズオン内容を取り入れた作品のご応募をお待ちしております。
 
▶イベント関連リンク
こちらをみていただくと、イベントの盛り上がりがより伝わるかと思います!
・つぶやきまとめ http://togetter.com/li/1023155
・イベント写真  https://www.flickr.com/photos/100125183@N08/sets/72157673708795235

あとがき

筆者自体はMA8からAPI事情を眺めているのですが、近年はとみにAPIの高度化が目覚ましいなと改めて感じました。
レコメンド機能や、音声の認識機能、チャットボットの作成がこんなに手軽に利用できる時代がこんなに早く来るとは…という感じです。
 
APIを組み合わせてどういったことが出来るか考えるのは、非常にワクワクします。
Repl-AI、コグニティブサービスをはじめ、幅広く、高機能なAPIが登場する今回のMA2016、どんな組み合わせの作品が現れるのか、期待でいっぱいです。

関連する記事