Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

ヒト化するチャットBotの作り方とは? 自然な会話でやり取り可能な栄養士・トレーナーのサービスをデモで体感【デブサミ2018】

【16-C-2】【全員参加型】Botで専属トレーナー・栄養士を雇う世界が来ています。先進の擬人化技術を今日、体験しよう。

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/03/14 14:00

 今や当たり前になりつつあるチャットBotの活用。独自のUIを用意するのではなく、LINEなどのメッセンジャーアプリやスマートスピーカーを利用し、会話形式でサービスを提供できる技術だ。現状では決まった言葉にのみ反応するものも多いが、人間が普段何気なく行っているような会話ができれば、より良いユーザー体験が実現可能なのは間違いないだろう。では、そんなチャットBotを開発するにはどうすればいいのだろうか。LINE株式会社の中嶋一樹氏が、来場者参加型のデモンストレーションを交えてセッションを行った。

目次
LINE株式会社 Developer Advocate LINE developers 中嶋一樹氏
LINE株式会社 Developer Advocate LINE developers 中嶋一樹氏

食事の記録、アドバイスができる栄養士のチャットBotを実演

 本セッションのテーマは、栄養士とトレーナーをテーマにした擬人化技術だ。「Bot」ではなく「擬人化技術」という表現には、今あるルールに縛られたBotではなく、人間同士の自然な会話に近づけたいという中嶋氏の思いが込められている。

 最初に中嶋氏が始めたのが、チャットBotを活用した栄養管理サービスのデモンストレーションだ。ユーザーが登録したプロフィールに応じて、1日にどのくらいのカロリーや栄養が必要かを計算してくれるだけでなく、食べたものを随時LINEで報告すれば、自動的にデータを記録可能なWebサービスを想定している。

 Webサービスを利用するには、ユーザーはまずログインしなくてはいけない。近年ではサービスごとに新規アカウントを作るのではなく、既存のSNSなどのアカウントを利用して異なるサービスにログインする「ソーシャルログイン」が主流になりつつある。

 「サービスのユーザー属性によりますが、若年層のモバイルユーザーをターゲットにするのであれば、LINEログインを活用するのは良い選択肢のひとつです」

 そのメリットとして、LINEにログインさえしていればシングルサインオン可能なだけでなく、ログインと同時にWebサービスをLINEの友だちに追加できることが挙げられる。これにより、パッシブなWebサービスであっても、ユーザーに対して能動的にコンタクトを取ることができるようになる。

 ログインが終わると、生年月日・性別・身長・活動量といったプロフィールを入力する画面に遷移する。それに応じた摂取カロリー量と三大栄養素が自動計算され、以降、食事を記録するごとにグラフが変動する。

 なお、ユーザーのデータは顧客情報としてデータベースに格納する必要がある。今回のデモンストレーションではSalesforceが利用された。

 食事の記録は、チャットBotを通じて行う。中嶋氏はユーザーに対して朝食の内容を確認するチャットBotを起動した。

 すると、「今日の朝食は何を食べたのかしら?」と栄養士アカウントからLINEにメッセージが入る。中嶋氏に指名された来場者が「食べてません」と答えたところ、「なんと。カロリーメイトか何か食べておきなさい」と栄養士から返答があり、会場は笑いに包まれた。次に、別の来場者が「おにぎりです」と答えると、おにぎりのカロリーである179kcalが自動で登録され、「了解。カロリー満タンまであと2196kcalです」と栄養士から返信が届いた。

 「フォームがあって『おにぎり』とピンポイントで入れるのではなく、自然言語で会話する中から、重要なエンティティを抜き出して、その栄養量を計算した上で、構造化データベースに収められます。ほとんどのスマホユーザーはLINEを使っているといわれますから、新しいサービスであっても、わざわざ使い方を覚えるストレスを感じることなく、すぐに使い始めることができます」

 今度は栄養士から問いかけられるのを待つのではなく、「お昼にサンドイッチを食べました」と自ら報告してみる。すると、マイページでは昼食のところにサンドイッチが記録された。つまり、食事を入力する際に必要なパラメーターは「食品名」と「いつ食べたのか」であり、「食品名=サンドイッチ」「いつ=お昼=昼食」と判定され、データベースに構造化された上で蓄積されたことがわかった。

筋トレのトレーナーもチャットBotに!?

 次に、中嶋氏はトレーナーのデモンストレーションを実施。筋トレで重要なポイントは、正しいフォームで行うことと、ギリギリの感覚で反復運動を繰り返すことであるとした上で、どのトレーニングを何回やったか覚えておくため、チャットBotを活用する方法を提案した。

 中嶋氏はチャットBotに対し、「トレーニングを開始します」と話しかけた。するとアイコンが先ほどの栄養士からトレーナーに切り替わり、「何のワークアウトをしますか?」と返答があった。ここでも会場から選ばれた来場者が舞台に上がり、「じゃあ腕立て伏せ」と回答。そのままチャットBotに話しかけると、「3セットやるとして1セットあたり何回やりますか?」と質問が続いた。

 「とりあえず5回」と答えると、「OK、5回ね。ではワークアウトを開始してください。終わったらワークアウトが完了したことを教えてください」とトレーナーから指示が出る。来場者が腕立て伏せをしたあと、「腕立て伏せを完了しました」と言うと、トレーナーから「お疲れ。今回の負荷がどうだったか教えてください」とメッセージが届き、「楽勝・ギリギリ・限界を超えた」の選択肢が表示される。「ギリギリ」と回答すると、「腕立て伏せについて5レップでギリギリだったことを記録しておきます」と返信があり、一連の流れが終了する。

 こうして何を何回やってどんな状態だったかを自動で記録したチャットBotは、次回に腕立て伏せをやるときには、「3セットやるとして1セットあたり何回やりますか? ちなみに前回は5レップでギリギリでした」と、前回の状況を教えてくれるのだ。

 「私から発言する内容については指示していません。自由に話してもらっても会話が成り立つようになっているのです。あまり作り込みすぎると、Botの意味がない。多少会話が脱線したとしても、ちゃんと続くことが重要だと思います」

 さらに、別の来場者が壇上に招かれた。「願わくばジムでスマホなんて持ち歩きたくない。スマートスピーカーが置いてあって、会話ができたら面白いなと思って、スマートスピーカーを用意しました」……と中嶋氏が取り出したのは、LINEの「Clova」ではなく、「Google Home mini」。「LINEの製品ではありません!」と会場の笑いを誘いながら、デモンストレーションを再開した。

 「OK Google 『私のトレーナー』につないで」「これはどうも」「トレーニングを開始します」「OK。何のワークアウトをやりますか?」「ショルダープレス」「何kgでいきますか?」「10kg」「3セットやるとして1セットあたり何回やりますか?」「5回」「OK。5回ね。ではワークアウトを開始してください。終わったらワークアウトが完了したことを教えてください」(ここでいったん、音声アシスタントがいなくなる)

 「OK Google 『私のトレーナー』につないで」「トレーニング終わりました」「お疲れ。今回の負荷がどうだったか教えてください」「ギリギリです」「ではショルダープレスについて今回は10kg、5レップでギリギリだったことを記録しておきます」

 といったように、先ほどLINE上で行っていたやり取りが、すべて音声のみで再現された。

 「こんな感じで、すべてきれいに進めばいいのですが、人間の会話はそんなにうまくはいきません。それをどこまで柔軟に受け止められるかが、Botが擬人化されているかどうかのポイントになると思います」

 さらに、トレーニング後にはプロテインを摂取する必要があるということで、トレーナーに「プロテインを買いたいのですが」と話しかける中嶋氏。「高級プロテインですね。価格は9,000円になります。よろしいでしょうか」というトレーナーの問いに対し、「OK」と中嶋氏が答えると、「ありがとうございます。ではLINEで決済URLをお送りしますね」とトレーナーは喜び、すぐに決済URLが送られてきた。こちらをタップするとLINE Payが起動する。値段はあらかじめセットされているので、「Pay Now」を押すだけで決済が完了するようになっている。

 「このようにそのまま購買へつなげることも可能です」と中嶋氏は語り、チャットBotを活用したサービス×ECといった新たなビジネスの可能性を説いた。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:【デブサミ2018】セッションレポート

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5