BotのUI・UXデザインで欠かせないこと
最近出た【Designing Bots】という本が大変勉強になったので、是非とも皆さんに共有したいと思い、ブログを書いています。
著者は、Google、Slack、と開発者・スタートアップ支援をしてきたAmir Shevatです。
彼は、Botコミュニティをいち早く確立したと言われるSlackで働いており、数々の成功・失敗事例を見てきて、優れたボットや使われるボットは他と何が異なるのかという事を本著でまとめています。
まだまだ国内では、Botを本格的にPM・エンジニア・デザイナーといったチームで開発している例が少なく、優れた開発事例が共有されていないため、大変勉強になりました。
(1) What are Bots?
・チャットボットは新たなインターフェイスに過ぎない。新たなサービスのカテゴリーではない。
・なぜWEBやアプリではなく、チャットボットをやるのかという理由を探すべき。Ex.強みの通知機能を活かすなど
(2) Bot Types
・ドメイン特化のBotは特定の文脈とユーザーの意図に合わせることができる。
・C向けBotは文章の長さが肝。B向けとは異なる。
・Voiceコントロールとチャットボットもサービスの考え方が異なる。
・既存のサービスをBotプラットフォームに統合するときは、機能を制限する必要がある
・チャットボットだけで完結するサービスは、MVP(Minimum Valuable Product)のような形で、コアバリューにこだわるべし。
(3) Major Platforms
・B向け→slack
・C向け→Facebook Messenger
・Voice→ Alexa
・10代向け→kik
→正しいプラットフォームを選択する必要がある。検証するためには、プロトタイプを作成して、使ってもらうと良い
(4)Major Use Cases
・EC、B向け、生産性向上のためのコーチング、通知、人と人をつなぐもの、CRM、ゲーム・娯楽、ブランディング・・・
→ただスマホのときは誰もUberを予想できなかった。限られた数個のBotが世界を変えるだろう
(5) Bot Anatomy
・重要なのは、ユーザーの意図・ニーズを把握して、それを叶えてあげること
・人間の会話と考え方に合わせる必要がある
・様々なコンポーネントが存在するが、何よりもまず目的と機能を考えるべし
→常にトップへ戻るボタンを設置してあげることも重要
(6) Branding,Personality, and Human Involvement
・ビジュアルブランディングは重要
①ロゴ②ステッカー③写真④名前⑤コマンド(Slack限定)→サービス名を前に付けることを要求するとよい
・Botが持つ個性を規定してあげる必要がある
①環境(toBかtoCか、ラフかシビアか)②ユーザー③やるタスク④文脈⑤文化⑥既存のサービスのブランド⑦サービスの届ける価値のいくつかで決まってくる
・あるタスクをやるBotは会話はそこまで重要ではない
・一度個性を極めたら、その個性をユーザーの体験を通じて一貫させる必要がある
・x.aiというスケジュール調整のBotはAI Interaction Designerという職が存在する
→新たな職が生まれてきている
・ユーザーの入力したテキストの自然言語処理も重要だが、どう会話をするかを考えるのも重要
・人をあえて介在させるのも、厄介でいらいらさせなくて済むからいい
→ただコストとユーザーの期待値調整が大変だ
・会話のログを見よう。隠れたニーズが隠されている。
(7) Artificial Intelligence
・AIはツール。使わなくてもいい場合も多分に存在する
・Don’t panic! すぐにAIを使わなければいけないという強迫観念にとらわれなくても良い
(8) The Conversation
・①Task-Led Conversation(あるタスク・仕事をやってもらうもの)②Topic-Led Discussion(多くの選択肢から選択すもの)という大きく分けて②種類のBotが存在する
→サービスを考える上では、自分たちのサービスがいずれかなのかを意識することが重要
・①Task-Led Conversationでは、取りうる会話のフローを図示する必要がある。[1]Understand intent(ユーザーの意図を読み取る) [2] Extract entities (ユーザーの入力したテキストから主要な単語・文章を読み取る)[3]Execute Task(必要なタスクを完遂する)という3つの段階を経るファネルを考える必要あり。Inputをいかに最大化して、CVR(コンバージョンレート)を最大化するかということを考える必要あり
→ここはアプリ・WEBで同じ考えだと思いました。
・①Task-Led ConversationはB向け。②Topic-Led DiscussionはC向け
・②Topic-Led Discussionの場合、は間違ったり・希望する答えが存在しない場合は、別の話題にする→人間がするように
・単純な文字に加えて、絵文字👍、GIF、写真を使うのも重要
・同じ返答を繰り返さず、バリエーションをもたせるように
・適切な質問をして、適切な答えを引き出そう。Yes/Noなのか、何か答えを聞き出すかで、質問は異なる。フォント(Slack限定)を調整すると良い。
→答えられる選択肢を制限する
・全てのユーザーの入力に対応する必要がある
・ユーザーの感謝や愛に対する返答も必ず用意する
・処理に時間がかかるなら、それを伝えよう。ローディング画像など。
・確認・エラーの返答は同じ返答にしてはいけない
・YesもConfirmedもOKも同じレスポンスをするようにしよう
・ボットとユーザーの互恵関係は重要。まずはボットによって得られるメリットを伝えよう。それから情報を入力してもらおう。礼儀を持って対応して、ユーザーの入力には必ず何かしらの反応をしよう。会話を止める機能も持つと良い。
【エラーハンドリング】
・前提として、ユーザーは適当な文章を送ってくる。(これはAPOLOでもめちゃくちゃありました。罵詈雑言を浴びせられました(笑))
・理解できないユーザーの入力に対しては、①理解できないことを伝える②前の同趣旨の文言を繰り返す。最悪の場合は、最初に戻ろう。
・自分の提供するボットができないことは、ほかのボットを紹介しよう。
・会話のログから改善する必要がある。
・ヘルプはいつでもアクセス可能にしておこう
(9) Rich Interaction
・File→領収書とかファイルにする必要のあるもの
・Audio→時と場合を考えて、個人情報はあまり適さない。
・Video→最初のサービス紹介
・Image→Visualize(情報量は多い)として用いよう。GIFも効果的
・Buttons→会話をいい感じに導けるので良い。表示する時は、テキストにも対応できるようにしよう。エンゲージメントも向上する。
・Link→他サービスの認証が必要な場合など
・Emojis→テキストの代わり。使いすぎに注意しよう
・入力中の表示→不自然にならないように待たせる
・Persistent Menus(FacebookMessnger限定)→あくまで補助的なもの。ユーザーはまだ使い方を知らない。
・Slash Commands(Slack限定)→技術者にしか馴染みがないので、限定的に使おう
・リッチコンテンツの使い過ぎはダメ。
・WEBやアプリの単なる移行は厳禁。必ずメッセンジャーサービスならではの最適化が存在する
(10) Context and Memory
・人と違って会話の文脈を覚えられない。
・「それ」や「あれ」といった以前入力したテキストに対する対応はAIのAPIを利用するといい
・リッチコンテンツで選択肢を制限するのもあり
・ただ、全てのBotに文脈を把握する必要はなし
(11) Bot discovery and installation
・kikはインストールしなくても、Botをグループで「@◯◯」と入力すれば追加できる機能がある
・Bot to Botは有効な手。出来ない機能は他に回そう。
(12)Engagement methods
・最初にやるべきことは、Botの持つ価値を伝えることとBotを使う習慣をつくること
・Hookの理論を用いるといい。
①Trigger②Action③Reward④Investmentの4つのサイクルからなる
詳しくは下記
・エンゲージメントの点は何個も用意して、ニーズを満たすようにしよう
①helpコマンド(文脈に即したhelpコマンドの対応を用意すると尚良い)
②helloコマンド→会話の始め
③プラットフォーム専用のもの
・価値ある通知と通知OFFシステムの追加
→2通以上を1日に送らないようにしよう
・使いやすさはAIよりもエンゲージメントにつながる。全てをAIにすればいいというわけではない
(13)Monetization
・マネタイズの方法は①サブスクリプション②広告③データ分析と市場調査④物販・サービス課金⑤アフィリエイト費⑥ブランドプロモーション
・マネタイズを開始するのは、プロダクトマーケットフィットの後にしよう
(14)Design Process Overview
・現在つかっているツールは一過性にすぎないので、ツールというよりも目的をずらさないようにしよう
(15) Use Case Definition and Exploration
・オズの魔法使いの技術を用いて、会話のフローをデザインする前にポットを作り始めよう
→オズの魔法使いの技術とは、プログラムを書かずに裏側で人間が対応して、ユーザーにサービスを使ってもらうこと
・人間のリアルな会話を元にして考えるのも良い
(16)Conversation Scripting
・流れと抽出すべき単語・熟語(Entity)を確認する必要がある
・会話の初めは肝
・タスクが順調に完了した際は、フィードバックをもらうと良い
・GIFは説明に用いるといい
・ボタンとかクイックリプライを使うと、フリーテキスト入力の正しい選択肢の使い方が伝えられる
・世間話・雑談はほどほどにしておこう。ユーザーのニーズを満たすことが重要
・エラーのときは、ユーザーにフィードバックをもらうストーリーに行こう
(17)Designing and Testing
・会話の初めは、ひと目でぱっと見れるぐらいの短さがいい
(18)Bot Building Overview
・AIは必ず必要ではない
(19)Analytics and Continuous Improvement
・取得したデータを用いて、ボットを調整するのは非常に重要だ。様々な方法が存在するが、実際に調整することが一番重要だ
・ボットがモバイルアプリと異なるのは、バージョンアップに都度再インストールさせる必要がないことだ
(20)To Infinity and Beyond — The Future of Bots
・将来のボットの姿は今とは別の姿になっているだろう
・普通のテキスト入力は使いづらいということをプラットフォーム側も気づいている。よりリッチかつインタラクティブな表現が使われるだろう
ユーザーは買いたい色をテキストで入力するよりも、カラーピッカーから選んだほうがよっぽど良い by Facebookのリードエンジニア
・様々なプラットフォームにボットを提供するとき、最小公倍数の機能を提供するよりもそれぞれのプラットフォームに合わせた最新の機能を提供するべき
・ボットはアプリを代替するところもあれば、しないところもある
・ありとあらゆるところでボットを見かけるようになってきている。会話形インターフェイスはソフトウェアの未来そのものである
以上が重要であろうと思ったものを抽出した要約です。
自らがAPOLOという音楽のチャットボットを提供していたこともあり、とても納得感のある本でした。
特に印象的だったのが、アプリが出てきた時にだれもアプリで車を呼べるようになるとは思わなかったという部分です。
恐らくボットも今後プラットフォーム側が考えもしなかった使われ方が出てくるのではないかと思います。
我々も今、多くの人に使ってもらえるようなサービスを開発中です。
興味を持っていただいたエンジニア・デザイナーの方は是非とも連絡、お声がけしていただければと思います👍。
国内でチャットボットに関連するサービスを開発している会社・グループが少ないので貴重な機会になると思います😆。
筆者Twitter: https://twitter.com/OKenzo22
筆者Facebook: https://www.facebook.com/people/Kenzo-Okano/100006127564764
サービスHP: http://apolochat.com/
APOLOTwitter: https://twitter.com/APOLO_JP
LINE:https://line.me/R/ti/p/%40urm8576z(LINEで@apoloと検索しても出てきます)
Facebook Messenger : https://m.me/510505142483830
(現在APOLOはサービスリニューアルのため、停止中です)
メールアドレス: info@apolocorp.jp