このガイドでは、音声エージェントを設計する際のベスト プラクティスについて具体的に説明します。音声エージェントを設計する際の目的は、人間のエージェントにエスカレーションすることなく、ユーザー(エンドユーザー)がタスクを完了する手助けをすることです。ユーザーが、音声エージェントと自然で対話形式の協力的な会話が行われているように感じる必要があります。
すべてのエージェント タイプについての一般的なエージェントの設計のガイドと、Dialogflow サービスの使用についてのベスト プラクティスのガイドもご覧ください。
エージェントの品質を測定する
エージェントのユーザー エクスペリエンスの品質を測定するには、次の指標を監視することを検討してください。
Misroute: 誤った場所に行き着いた発信者の数。
最初の通話での解決: 最初の通話または問い合わせで解決された通話の数。
平均対応時間: ユーザーの問題を解決するために必要な時間。
顧客満足度: ユーザー調査での音声エージェントのスコアの高さ。
ターンの数: ユーザーのタスクを完了するのにかかるやり取りの数。
ユーザーのチャーン: ユーザーが会話から離脱する頻度。
音声認識
エージェントがエンドユーザーの音声を認識するために、次のヒントを参考にしてください。
- エージェントは、エンドユーザーに長いフレーズまたは完全な文を使用することを推奨する必要があります。これにより、認識の質が向上します。
- 正しく認識されない、または検証が必要なエンドユーザー入力を検証するために、Webhook の使用を検討してください。
- エンドユーザーにゆっくりと明確に発音するように依頼するため、No Match イベントを使用します。
会話の構造
音声エージェントとの会話は、一般的に次のシーケンスように整理されます。
作業内容 | 例 | 注 |
---|---|---|
アクティビティの開始 | ユーザーがコンタクト センターにログインまたは電話をかけます。 音声エージェント: こんにちは、こちらは Travel Inc. です。本日はどのようなご用件でしょうか? |
音声エージェントがウェルカム メッセージで会話を開始します。 |
メイン シーケンス | ユーザー: 飛行機のチケット予約をお願いします。 音声エージェント: 承知しました。行き先はどちらですか。 ユーザー: 5 月 19 日、午後 9 時のグアテマラ行きです。 音声エージェント: 承知しました。5 月 19 日午後 9 時のグアテマラ行きのチケットを予約しました。 |
タスクはユーザーによって定義され、音声エージェントによって完了します。音声エージェントが必要な情報をすべて収集するには、タスクに数ターンかかることがあります。 |
アクティビティの終了 | 音声エージェント: 他に何かご不明な点はございませんか? ユーザー: ありません 音声エージェント: 承知しました。チャットありがとうございます。 |
リクエストが完了したら、ユーザーは会話をいつでも終了できます。 |
ウェルカム メッセージ
ユーザーに対する開始メッセージを設計する際は、できるだけ早く最初のトピックに到達する方法を検討してください。ウェルカム メッセージは、短く端的にする必要があります。以下の内容を含めることをおすすめします。
- 「Hello」のようなフレーズで呼び出しに応答します。
- 「こちらは XYZ 社の音声エージェント / アシスタントです」といったフレーズで音声エージェントの身元を明らかにします。
- 「本日はどのようなご用件でしょうか?」といったフレーズで利用が可能であることを伝えます。
余計な情報が多い場合、ユーザーをいら立たせて、人間のエージェントにエスカレーションする可能性があります。ただし、会話が録音される可能性があることをユーザーに知らせるなど、法的な理由でウェルカム メッセージを長くしなければならない場合があります。
会話が不自然でかたよったものになるような情報は避けてください。次に例を示します。
推奨事項 | してはいけないこと |
---|---|
ユーザーに使用して欲しい言葉をモデル化します。たとえば、ユーザーに1、2 文で説明して欲しい場合は、音声エージェントを 1 ターンあたり 1、2 文に制限します。 | 「1、2 文で話してください」または「次のように言ってみてください」などのフレーズで、ユーザーに話し方を指示してはいけません。 |
ユーザーが解決を望むタスクに集中し、会話が失敗した場合に備えてエラー処理戦略を設計します。 | 「複雑な問題の解決をサポートできます」などのフレーズで音声エージェントができることをユーザーに伝えていけません。 |
会話のターンペア
一般的な会話は、例えば以下の型のやり取りのようなターンペアから成ります。
- 質問と回答(音声エージェントで最も一般的)
- 招待の承認 / 拒否
- 挨拶の交換
ターンペアには、質問が必要な理由についての説明、聞きたい質問に関連する背景情報、ユーザーの回答に対する反応など、追加の文言を含めることもあります。たとえば、次のような質問と回答のターンペアを検討します。
音声エージェント: 1 日あたり $10 かかります。(背景情報/説明)この特典の追加を続行しますか?(質問)
ユーザー: はい。(回答)
音声エージェント: ありがとうございます。(反応)
フルフィルメントの配置に関するガイドラインについては、一般的なエージェント設計のベスト プラクティス ガイドのフルフィルメント セクションもご覧ください。
会話の修正
会話の修正とは、会話を再開するために、勘違い、聞き間違い、発音間違いを修正することです。会話を修正することで、音声エージェントがユーザーのリクエストを聞いていることを示し、ユーザーの信頼を得るできます。
次のようなベスト プラクティスがあります。
ユーザーがすでに前のターンで話したコンテクストを具体的に用います。「理解できませんでした」、「分かりません」、「難しいです」などの明らかに余計な質問をすることは避けます。
ユーザーが自己修正を行えるようにします。つまり、ユーザーが確実に会話に影響を与える上で最善であると考える方法で、ユーザーがターンを修正できるようにします。「言い直してみてください」や「x、y、zということですね」などのフレーズは避けます。
理解できているか確認するために、「X ということですか?」という構文を使用します。
次の表に、推奨事項と禁止事項の例を示します。
推奨事項 | してはいけないこと |
---|---|
ユーザー: イタリアに行きます。 音声エージェント: 申し訳ございませんが、どちらの国ですか? |
ユーザー: イタリアに行きます。 音声エージェント: 申し訳ございませんが、聞き取れません。言い直していただけますか?どちらに行かれるのですか? |
ユーザー: 80 ドル支払いたいです。 音声エージェント: 80 ドルですか?(確認が必要な情報のみ繰り返します) |
ユーザー: 80 ドル支払いたいです。 音声エージェント: 80 ドルの支払いをご希望ですか?(「支払いをご希望」という余計な情報を繰り返す) |
エラー処理
以降のセクションでは、会話が失敗した場合の処理方法について説明します。
No Match
音声エージェントがユーザーの言ったことと一致するインテントを検出できない場合、No Match イベントが呼び出されます。
No Match イベントが初めての場合は、次の処理を試します。
ユーザーに質問を繰り返しますが、不足している情報がわかるようなより短い表現で言い換えます。不足情報のみに焦点を当てることで、音声エージェントはユーザーの発言の残りの部分をすでに聞いていることを暗黙のうちに伝えます。
言い換えた質問の前に「申し訳ございませんが」という言葉を追加すると、こちら側にうまくいかないことがあると表せます。
No Match イベントが 2 回目の場合は、音声エージェントが聞き取りに苦労していることをもっとはっきりと伝えます。たとえば、次のやり取りについて考えてみます。
ユーザー: イタリアに行きます。
音声エージェント: 申し訳ございませんが、どちらの国ですか?
ユーザー: イタリアです
音声エージェント: 申し訳ございませんが、どちらの国に行くのですか?
No Input
音声エージェントがユーザーから口頭での回答を受信しなかった場合、初回と同じ方法で質問を繰り返します。No-Input イベントが 2 回目の場合は、元の質問を言い換えることができますが、質問の元の構成要素がすべて存在していることを確認します。
No Match と No Input の繰り返しを制限する
エラー処理イベントのループにユーザーが陥らないようにするために、No Match / No Input が実行されるのは、ページごとに最大 3 回とします。No Match イベントまたは No Input イベントが 3 回目の場合は、ユーザーを人間のエージェントにエスカレーションします。
音声のタイムアウトなし
続行する前にユーザーが情報を確認したり、決定したりする必要がある場合は、ユーザーが応答する時間を十分取れるように、音声のタイムアウトなしの設定を大きくします。
次の例では、2 秒という音声のタイムアウトなし設定が短すぎるため、ユーザーは SMS メッセージを読んで判断を下すことができません。
音声エージェント: お客様のデバイスにテキスト メッセージをお送りしました。リンクをクリックして、交通機関のパスの詳細を確認してください。テキストをお読みになっている間、音楽が流れます。読み終えられましたら、お知らせください。<2 秒間空ける> 続行しますか?
ユーザー: まだ読んでいます。
音声エージェント: トラベルパスをプランに追加しますか?
会話の方法
このセクションでは、音声エージェントがユーザーと信頼を築き、会話をスムーズにする方法について説明します。
実用的な質問の作成
ユーザーに質問するために、音声エージェント用に明確で実用的な質問を作成します。たとえば、次の推奨事項と禁止事項を検討します。
推奨事項 | してはいけないこと |
---|---|
「いつ旅行しますか?」のような自由回答形式の質問をします。そうすると、ユーザーは日程が分かっていれば教えてくれますし、そうでなければ、「分かりません」と答えてくれます。 | 「旅行の日程は分かりますか?」と質問してはいけません。そうすると、「はい」か「いいえ」の答えしか返されず、実用的でないのです。 |
「別の荷物の注文ステータスを確認しますか?」と質問します。 | 「引き続き、別の荷物の注文ステータスを希望されますか?」と質問してはいけません。 |
自然な会話で頻繁に行われるような、ユーザーが暗黙の内に質問に対して回答する可能性がある状況に対しても、音声エージェントを準備する必要があります。たとえば、次の対話について検討します。
音声エージェント: アカウントに移動し、使用法をクリックしてから、回線別使用法をクリックします。そこまでできましたら、お知らせください。
ユーザー: 3 か月以上前のデータは確認できないと、表示されます。
ユーザーのレスポンスはユーザーがターゲット画面に無事に到達したことを意味しますが、さらなるサポートが必要です。音声エージェントは、ユーザーが「成功した」や「成功しなかった」とだけ言うのを期待するのではなく、レスポンスに含まれる意味を推測する必要があります。
ユーザーの信頼を得る
音声エージェントは、確認応答と具体的詳細を使用して、ユーザーの話を聞いていることを示すことができます。音声エージェントが漠然とした回答をすると、ユーザーは音声エージェントを不自然に感じることがあります。
確認応答を使用します。たとえば、次のやり取りを考えてみます。ここでは、確認応答として「問題ありません」が使用されています。
ユーザー: 月曜日の支払いの設定を希望します。
音声エージェント: 承知いたしました。月曜日のご希望の支払額を教えていただけますか?
音声エージェントが積極的にユーザーの話を聞いていることを示す具体的詳細を追加します。たとえば、上記のやり取りでは、「月曜日に」というフレーズは、音声エージェントがユーザーの発言を聞いていたことを示す具体的詳細です。
ユーザーのリクエストをできるだけ迅速に処理し、不要な手順は除外します。次の例では、余分な情報によりユーザーが不満を抱く可能性があります。
ユーザー: 私の地域ではサービスが停止していますか?
音声エージェント: 接続の維持が大変重要なことを承知しております。お客様の問題を特定するために、問題が発生している行の末尾の 4 桁をお知らせください。問題が複数の行に当てはまる場合でも、まずは 1 つの行だけを選択してください。
ユーザー: 1234
音声エージェント: ありがとうございます。この問題を解決しましょう。それでは作業を始めましょう。HD 音声を一度無効にし、再度有効にしてください。問題は解決しましたか?」
ユーザーと音声エージェントとの会話のバランスを取るようにしてください。音声エージェントが会話の大半を占めている場合、ユーザーは会話に主導権がないとして不快になる可能性があります。「はい / いいえ」の質問よりも、「誰が / どこで / 何を / いつ / どのように」といった質問を優先します。
人間のエージェントにエスカレーションする場合は、ユーザーの会話がスムーズに移行できるようにします。
詳細情報
Actions on Google チームが定めた会話デザインガイドをご覧ください。
Next Billion Users 向けの 音声ハンドブックをご覧ください。
Cloud Text-to-Speech の SSML ガイドをご覧ください。
実用的な質問のデザインについて詳しくは、スピーチアクトをご覧ください。