サンプル発話とカスタムスロットタイプの値を作成する際のベストプラクティス



サンプル発話とカスタムスロットタイプの値を作成する際のベストプラクティス

スキルの有用性は、サンプル発話とカスタムスロット値で実際に使われる言葉をいかに適切に表現するかに左右されます。

カスタム値とサンプル発話の代表的な組み合わせを作成することは重要なプロセスであり、このプロセスは繰り返し行う必要があります。開発とテストの段階で、できるだけ多様なフレーズでインテントを呼び出してみてください。テスト中に他のユーザーを観察できる場合は、各インテントを呼び出すためにユーザーが使用したフレーズを記録してください。カスタム値とサンプル発話のファイルは、ユーザーにとって最も一般的なフレーズが含まれるように、継続的に更新してください。

次のセクションでは、サンプル発話の開発に関する推奨事項を説明します。

サンプル発話のフレーズ

話し言葉は柔軟でバリエーションに富むため、同じリクエストがさまざまな言い方で表されることがよくあります。たとえば、星占いを聞きたいユーザーは、次のように言う可能性があります。

  • 星座の運勢はどう
  • 私の星座の運勢を知らせて
  • 星占いを聞かせて
  • 今日の私の星座の運勢はどう
  • 星座の運勢を教えて

上記にはさらに次のようなバリエーションがあります。

  • 「何」と「何ですか」
  • 「教えてください」、「教えてよ」
  • 「私の」、「自分の」

完全な文章のフレーズを用意したら、それを短くしたフレーズも考えてみてください。たとえば、「天気はどう」というフレーズの他に、「天気」だけのフレーズも追加してください。これは、「<呼び出し名>で天気を調べて」のようなパターンと組み合わせることもできます。

サンプル発話でこのようにさまざまなフレーズを用意しておくと、Alexaスキルの音声認識を向上させることができます。できる限り多様なサンプル発話を指定してください。考え得るあらゆるフレーズをすべて含めることが重要です(ただしユーザーが言うはずがないサンプルは含めないでください)。Alexaは、指定されたサンプルとは若干異なる言い方のフレーズも解釈できるように、定義されたサンプルを基に一般化しようとします。

会話を開始するためのサンプル発話

Alexaの機能と対話を開始するためのよくあるフレーズは「聞いて」や「教えて」です。これらを使用して、とても自然な言い回しで質問したり命令したりできます。これらのフレーズと組み合わせて自然な言い回しのサンプル発話を作成する必要があります。

たとえば、星占いのリクエストでは、ユーザーは次のように言うことがあります。

  • 「アレクサ、十二星座占いに双子座の運勢聞いて。」
  • 「アレクサ、十二星座占いに双子座の運勢について聞いて。」
  • 「アレクサ、十二星座占いに双子座の運勢がどうなってるか聞いて。」
  • 「アレクサ、十二星座占いに双子座の運勢がどうか聞いて。」
  • 「アレクサ、十二星座占い双子座の運勢を聞いて。」
  • 「アレクサ、十二星座占い双子座の運勢について聞いて。」

「聞いて」の別のバリエーションでも機能するサンプル発話の別の形式にも注意してください。

  • 名詞形の発話:
    • 「…の星占い」
    • 「双子座」
  • 疑問形の発話:
    • 「…の運勢はどう」
    • 「…の運勢は何」
  • 動詞形の発話:
    • 「…の運勢を教えて」
    • 「…の星占いを教えて」

サンプル発話の構文では、これらは次のように指定されます。

「{Sign}の星占い」
{Sign}
「{Sign}の運勢は何」
「{Sign}の運勢はどう」
「{Sign}の運勢を教えて」
「{Sign}の星占いを教えて」
...

特定の疑問詞(「何」「どう」「どこ」など)は特に重要です。これらは「<呼び出し名>で質問を聞いて」というバリエーションで機能します。次の単語は聞いてと組み合わせて機能する疑問詞とみなされます。

  • 誰、何、なぜ、いつ、どこ、どれ、どう
  • か、ですか
  • できる、してくれる、できますか
  • 上記の一部のバリエーション(どうして、誰の、しないの)など

質問のサンプル発話を作成する場合、複数の質問形式についても配慮してください。例:

  • 「私の星座の運勢はどう」(「アレクサ、星座占いに私の星座の運勢はどうか聞いて」)
  • 「星座の運勢はどう」(「アレクサ、星座占いに私の星座の運勢はどうかチェックして」)

必ずしもこれらのすべての質問語がAlexaの機能すべてにおいて作動するわけではありませんが、実際に使用されている言語である場合にはこれらの語の発話を含めてください。ユーザーがAlexaスキルとの対話を開始するためのフレーズのリストは、ユーザーによるカスタムスキルの呼び出しで参照できます。これらのフレーズに対して、できるだけ多くの自然な発話を用意してください。

サンプル発話の数

インテントごとに、ユーザーが使う可能性があるフレーズのバリエーションをできる限り多く作成します。たとえば、「星占いを聞かせて」というフレーズには、以下のようなバリエーションが考えられます。

  • 「...は何」
  • 「...は何ですか」
  • 「...は何だろう」
  • 「...を教えて」
  • 「...を教えてよ」
  • 「...を調べて」
  • 「...を調べてください」
  • 「...が知りたい」
  • 「...を言って」

サンプル発話の数は、少なすぎるよりは多すぎるほうが賢明です。あらゆるフレーズをテストして、必要なだけ追加してください。

カスタムスロットタイプの値に関する推奨事項

カスタムスロットタイプを使用する場合は、スロットが受け入れる値のリストを作成する際に、想定されるユーザーからの入力値をすべて網羅する必要があります。たとえば、星占いのスキルではこれは比較的単純な作業です。値の組み合わせが12個の星座に限定されており、ユーザーによる各星座の言い方のバリエーションもほとんどありません。スロットへの入力が複雑であるほど、これは難しい作業になります。複雑なスロットタイプに対応する値のリストを作成する際は、以下の点を参考にしてください。

  • 実際の使用法を反映するデータソースで開始します。たとえば、開発中のスキルのウェブ版アプリがすでにあり、ユーザーがそのアプリの入力フォームや検索フィールドに入力した項目を記録済みの場合は、それらの項目を値として使用します。そのようなデータがない場合は、入力値の予想に役立つ他のデータソースを探します。

    たとえばレシピスキル用に材料のリストを作成する場合は、すべてのレシピで必要とされるあらゆる食材をリスト化します。さらに、オンラインなどで見つけた一般的な食材リストと照合して検証します。

  • カスタムスロット値の合計数は対話モデル全体のサイズによります。これにはすべてのカスタムスロットのスロットタイプおよび値の合計数が含まれます。スロット値の数を減らす必要がある場合は、使われる可能性が高い値を優先してください。
  • カスタム値のリストにスキルで予測される必ずしもすべての値を含めない場合は、代表的な語数の代表的なカスタム値のセットを提供します。たとえば、1~4語の値が想定される場合、リストの値も1~4語のものを使用します。ただし、語数のバランスは使われる頻度に応じて変えるようにしてください。4語の値が10%しかない場合は、リスト内に含める4語の値も10%までにします。

スロット値は、文字形式でスキルに送信されます。たとえば、「AKBフォーティーエイト」の場合、「エーケービーフォーティーエイト」がスキルに送信されます。認識率を向上させるため、頭字語や個々に発音されるアルファベットは、すべて大文字にする(「AKB」)か、半角スペースで区切る(「a k b」)必要があります。頭字語に小文字を使うと、発音が正しく検出されないため認識率が低下する可能性があります。例を参照してください