Alexaは自然な会話の中でユーザーに応答し、情報を提供し、質問を投げかけます。Alexaのセリフを設計する際は次のベストプラクティスを念頭においてください。
一息で話せる長さ
Alexaのセリフは無駄のない簡潔なものにしてください。このことで、ユーザーはAlexaが話していることを理解し、安心して会話を続けることができます。Alexaのセリフが長いと、ユーザーが理解したり、覚えたりするのが難しくなります。
- 一息テストでセリフの長さをチェックしよう
-
Alexaのセリフを書く場合、書いた内容を声に出して読み上げてみてください。普通に会話する速度で一息にそのセリフを読み上げることができたら、適切なセリフの長さと考えてよいでしょう。息継ぎが必要な場合はセリフを短くすることを検討してください。
-
連続した項目のあるセリフの場合、例えばある手順の各ステップを伝えるような場合、各項目を区切って読み上げてください。セリフ全体の読み上げに何回か息継ぎが必要な場合、息継ぎは項目の途中ではなく、項目の間で行ってください。
自然なセリフ
ユーザーが話したいことを自然に話せるような雰囲気を作ってください。話せる内容の選択肢を並べて選ばせるような状況は避けてください。そうではなく、スキルで何をできるかをユーザーに理解させ、ユーザーが自然に話せるようにしてください。
良い例
アレクサ、トリッププランナーを開いて
旅行の計画を立てましょう。どこに行きたいですか?
悪い例
旅行の計画を立てましょう。行き先を指定する場合は「〇〇に行きたいです」と言ってください。出発日を指定する場合は「〇〇に出発します」と言ってください。出発地を指定する場合は「〇〇から出発します」と言ってください。どうしたいですか?
質問によるユーザー発話の方向付け
ユーザーからの反応が必要な場合、Alexaのセリフは必ず質問で終わるようにしてください。質問はユーザーの次の発話のきっかけとなり、また次に話すべき内容の手がかりとなります。質問は具体的にしてください。ただし、ユーザーが想定外の返答や過剰な返答をした場合も対応できるようにしてください。
良い例
旅行の計画を立てましょう。どこに行きたいですか?
悪い例
旅行の計画を立てましょう。旅行の行き先と目的がわかれば、お手伝い致します。
会話の目印を利用する
人と人の会話では、それぞれのトピックの関係や流れを把握するための目印となる単語やフレーズがあります。この目印によって、会話がより理解しやすいまとまりに分割されるのです。スキルでも、目印となる単語やフレーズがあると、ユーザーが会話を理解しやすくなるでしょう。
- 時系列の目印
- 「まず」、「それから」、「最後に」などの目印があると会話の長さや順序、その後の展開をユーザーが予想しやすくなります。会話中に複数のステップがある場合や長い会話の場合はこれらの目印を使ってください。一方で、短いやり取りの場合は時系列の目印は避けましょう。
- 確認やフィードバック
- 「ありがとうございました」や「分かりました」、「承知しました」といったセリフがあると、ユーザーは自分の意図をAlexaが理解したことや、自分から情報をAlexaが受け取ったことを確認できます。
- 指示語
- 「この」や「あの」、「その」と言った指示語を使うことで、すでに会話に出てきた物事を指しているのか、これから話そうとしている物事を指しているのかを明確にできます。
- 転換語
- 「さて」、「では」、「それでは」、「次に」といった転換語を使うと、別のトピックに移ることをユーザーに伝えることができます。
良い例
承知しました。次の3ステップでセーターを洗濯してください。(0.5秒の間)
まず、セーターを裏返し、通常の洗剤で洗濯機を弱にして洗ってください。(0.5秒の間)
次に、セーターを乾燥機に入れ、低めの温度で10分間乾燥させてください。(0.5秒の間)
最後に、平らな場所にセーターを広げて乾燥させてください。これで完了です。
変化をつける
Alexaのセリフに変化を持たせて、会話がより自然で、機械的でなくなるようにしてください。例えば、同じやりとりを繰り返す必要がある状況でも、同義語などを使って表現をランダムに変更し、機械的に聞こえないようにしてください。
ユーザーが同じセリフを頻繁に聞くような場合、表現を変えるようにしてください。例えば、スキルの始まりと終わりのセリフがそうです。変化があることで、より人間らしい会話になります。
- 状況に応じたセリフ
- スキルを何度も使ううちに、ユーザーは次第に慣れて、スキル内で起こることを記憶します。Alexaのセリフをより短く直接的なものにすること、また、利用頻度に応じた応答も、検討してください。
例
アレクサ、家庭教師を呼び出して今日のレッスンを始めてください。
バリエーション1
はい、今日のレッスンを始めましょう。
バリエーション2
さあ、今日も楽しく勉強しましょう。
バリエーション3
今日のレッスンはちょっと難しいよ。がんばって!
バリエーション4
レッスンを始めましょう。用意はいいかな?
言葉の統一
動詞と名詞の使い方を統一するようにしてください。特に、項目を列挙する時は注意してください。
良い例
タクシーの予約、料金の確認、レシートの受け取りができます。
悪い例
タクシーを予約する、前回のレシート、料金確認ができます。
過去の発話を覚えておく
友達との会話と同様、最近の出来事や前回の発言内容、特に、頻繁に発生するやり取りや変化のない情報をAlexaが覚えていると、ユーザーは嬉しく思います。例えば、ユーザーがゲームの途中で数時間席を外して戻ってきた時、中断した箇所から再開できるようになっていると良いでしょう。
スキルにこの機能を持たせる方法については、セッションアトリビュートに関するドキュメントやNode.js SDKのセッションアトリビュートや状態管理に関するガイドを参照してください。
選択肢を具体的にする
応答とプロンプトを整理して、ユーザーがはっきりと選択できるようにしましょう。自由回答形式の質問だと、ユーザーが混乱しやすく、想定外の回答やサポートしていない回答が返ってきます。たとえば、「何をしますか?」という質問は漠然としすぎています。「カマンベールチーズやゴーダチーズはお好きですか?」という質問でも、「はい」という回答が返ってくると考えられます。
良い例
カマンベールチーズとゴーダチーズがあります。どちらがお好きですか?
不適切な例
カマンベールチーズやゴーダチーズはお好きですか?
どちらがお好きですか? カマンベールチーズですか、それともゴーダチーズですか?
- タスクの完了とスキルセッションの終了
- ユーザーがリクエストした情報をスキルが提供できた時点で、スキルのセッションを終了させることをおすすめします。ユーザーが新機能を使いこなせていないのでは、という懸念をお持ちかもしれませんが、自由回答形式の質問はユーザーにとって答えやすいものではないので、エンゲージメントが次第に低くなっていきます。「他に何かありますか?」といった質問は、ユーザーがスキルができることを覚えていなければならないため、認知的負荷が高くなってしまいます。騒がしい場所だったり、延々と対話を続けさせないよう、明確にセッションを終了させなければならない場合、ユーザーは不満に感じます。ユーザーがスキルで適切なアクションを見つけられない場合、スキルの紹介を書き直して新しいコンテンツを追加してみてください。
良い例
カマンベールチーズが食べたい。
いいですね! カマンベールチーズは常温が一番おいしく食べられます。クラッカーやぶどうなどと合わせて食べるのもおすすめです。
不適切な例
カマンベールチーズが食べたい。
カマンベールチーズはおいしいですね。
他に何かありますか?
問題が発生した場合の対応
Alexaがユーザーの発話を聞き取れない、もしくは理解できない場合、自然で丁寧な表現で会話が再開されるようにしましょう。
- 再度の話しかけ
- ユーザーからの応答がない場合、多少表現を変えて再度話しかけるようにしましょう。ユーザーがAlexaの質問の内容を理解できていない可能性もあるので、より詳細な案内を提供した方が良いでしょう。
良い例
アレクサ、トリッププランナーを開いて
どこに行きたいですか?
(応答なし)
旅行の計画のお手伝いができます。始めに、旅行先や日程、目的についてお伺いします。旅行先の都市名を教えてください。
- Alexaがユーザーの発話を理解できない場合、そのことをユーザーに伝えて会話を再開させてください
- ユーザーの発話を理解はできるが、それを処理できない場合、そのことをユーザーに率直に伝えて、会話を再開させてください。わかりやすい質問をすることでユーザーは次に何ができるか知ることができます。そうすればユーザーが応答に迷うことはなくなるでしょう。
良い例
アレクサ、トリッププランナーを開いて。
どこに行きたいですか?
乗馬しに行きたい。
(「乗馬」はサポートする都市に含まれていないことをスキルが検知)
理解できませんでした。旅行先の都市名を教えてください。
- Alexaが「聞き取れなかった」のではなく「理解できなかった」ということをユーザーに明確に伝えてください
- Alexaが「聞き取れなかった」と答えた場合、ユーザーはもっと大きな声で発話しようとするでしょうが、それでは問題は解決しません。ユーザーの発話をAlexaは聞き取れてはいるが理解できなかったことが問題だからです。
悪い例
聞き取れませんでした。旅行先の都市名を教えてください。
- Alexaが理解はできるが、まだ対応できない場合
- ユーザーがサポートされていない機能を利用しようとした場合、「ごめんなさい。それについてはまだお手伝いできません。」といった返答でその機能はまだ利用できないが将来は利用できるようになるかもしれないことをユーザーに伝えてください。これを実現するためには、現在利用できる機能と将来利用可能になる機能の両方に対応したインテントを定義する必要があります。まだサポートされていない機能をユーザーがいつ利用しようとしたかをトラッキングすれば、機能の優先度の指標になるでしょう。
良い例
レンタカーを借りたいんだけど。
それについてはまだお手伝いできません。旅行の計画のお手伝いはできます。旅行先の都市名を教えてください。
文脈に沿ったヘルプの提供
ヘルプへのリクエストに応答する際は、その時点の会話の文脈にそった情報を入れるようにしてください。 例えば、ピザの注文の確認時にヘルプが呼び出された場合、注文の確認を完了させることにフォーカスし、トッピングの選択といった関係ない情報をヘルプに含めるのは避けてください。ヘルプをあまり必要としない会話となるように設計してください。
良い例
アレクサ、タクシー配車を開いて。
自宅と職場、どちらの場所にタクシーを手配しますか?
住所の設定方法を教えて。
自宅や職場の登録住所の変更はスマートフォンのタクシー配車アプリで行ってください。(0.5秒の間) すでに住所が登録されている場合、すぐにタクシーを手配できます。自宅と職場、どちらの場所にタクシーを手配しますか?
良い例
このスキルの使い方を教えて。
タクシー配車スキルを使うとタクシーを呼ぶことができます。ご利用の際は、「タクシーを予約して」、または、「住所を登録して」、のように話しかけてください。 (0.5秒の間) 自宅もしくは職場へ配車できます。どちらにしますか?
Node.js SDKのドキュメントでは、スキルの状況によって異なるヘルプを設定する例を説明しています。
録音されたオーディオの利用
有名な声優を用意できる場合は特に、録音された音声を効果的に利用することを検討してください。
- ショートフォーム・オーディオ
- 90秒以下の音声はショートフォーム・オーディオとして扱われます。ショートフォーム・オーディオを流してもAlexaの会話は続いたままです。つまり、ユーザーは「アレクサ」と呼びかけてスキルを再び呼び出す必要はありません。 オーディオを流した後もユーザーとの会話を続けたい場合は、ショートフォーム・オーディオを利用してください。
- ファイルタイプ: .mp3
- Specification: 仕様: サンプリングレート 16000Hz / ビットレート 48kbps
- 長さ: 最大90秒
ショートフォーム・オーディオを利用する場合の詳細についてはSSMLリファレンスを参照してください。
- ロングフォーム・オーディオ
-
ポッドキャストのようなオーディオベースのスキルの場合、ロングフォーム・オーディオを利用してください。90秒を超える録音音声はロングフォーム・オーディオとして扱われます。オーディオの再生が始まった時点でスキルはクローズしますが、ユーザーは呼び出し名を使わずにオーディオを操作できます。例えば、「アレクサ、次」という具合です。もう一度スキルとやり取りする場合は、「アレクサ」の後に呼び出し名を続けてスキルを呼び出す必要があります。
-
ユーザーとのやり取りがオーディオ操作だけのスキルの場合は、ロングフォーム・オーディオを利用してください。再生リストにオーディオファイルを追加して、連続再生を行うプレイリストのような機能もスキルで実現できます。
- ファイルタイプ: .acc .mp4 .mp3 .hls .pls .m3u
- 仕様: ビットレート 16kbps から 384 kbps
- 長さ: 無制限
ロングフォーム・オーディオの詳細については AlexaスキルによるオーディオストリーミングとAudioPlayerインターフェースリファレンスをご参照ください。