発話の概要
発話とは、ユーザーがAlexaに話しかけるフレーズのことです。ここでは、発話とローカライズの全般的な概念について説明します。ロケールごとのAlexaインターフェースによる全発話のリファレンスについては、発話リファレンスを参照してください。
ロケールごとの発話の選択
発話リファレンスでは、発話サンプルの言語を選択できます。一部のロケールはまだサポート対象外ですが、これらの地域でもビデオスキルを早く開発できるように、ローカライズされた発話が提供されています。サポートされているロケールの詳細については、サポート対象国を参照してください。
ローカライズされた発話では、「エンティティ」もローカライズされることに注意してください。 エンティティは、その地域の番組、チャンネル、俳優、映画などを指します。たとえば、「スポーツのチームで再生」機能では、対象となるチーム名が英語、ドイツ語、イタリア語でそれぞれ異なります。以下に例を示します。
- 英語:
Watch seahawks
- ドイツ語:
Erster. FC Heidenheim, Erster FC Heidenheim, Erster FC Kaiserslautern
- イタリア語:
Aberdeen, ac milan
エンティティのローカライズとは、このようなことを意味します。Alexa言語チームは、Alexaがサポートするロケールごとにエンティティのリストを収集します。これらのエンティティを使用することで、Alexaは、発話のエンティティスロットに収まる用語の認識を向上させることができます。
ロケールのグループ化
ロケールセレクターでさまざまなロケールを選択すると、一部のロケールがグループ化されていることがわかります。英語にはen-US、en-GB、en-IN、en-NZ、en-IEのロケールがありますが、ロケールセレクターには「英語(すべてのロケール)」と表示されます。 この場合、これらのロケール間で発話に大きな違いはないため、これらはグループ化されています。
スペイン語の場合も同様です。es-ES、es-MX、es-USには大きな違いがないため、「スペイン語(すべてのロケール)」としてグループ化されています。 また、ドイツ語でも、de-DEとde-ATは同じように扱われるため、ロケールセレクターでは「ドイツ語(すべてのロケール)」としてグループ化されています。
違いがあるのは、fr-FRとfr-CAだけです。フランス語のロケールの場合、フランスとカナダでは発話に違いがあるため、ロケールセレクターには異なるオプションとして表示されます。
また、ロケールセレクターには利用可能なすべてのロケールが表示されますが、一部のロケールはサポートされていない場合があります。公式にサポートされているロケールの一覧については、サポート対象国を参照してください。たとえば、es-ES、es-MX、es-USのすべてがサポートされているわけではありません。es-ESはサポートされていますが、es-MXはパブリックベータ版であり、es-USはサポート対象外です(2020年7月現在)。それでも、ロケールセレクターには「スペイン語(すべてのロケール)」と表示されます。ローカライズされた発話は、それらの地域でビデオスキルを早く開発できるように提供されています。
また、ロケールによっては発話に複数のバージョンがある場合と、1つのバージョンしかない場合があります。発話の収集方法には、ロケールに応じて多少差異があります。Alexaのトレーニングに使用する発話を収集するために、ローカライズ研究者によって該当ロケールの人々を対象とした聞き取り調査が実施され、さまざまなシナリオで最も一般的なフレーズの確認・収集が行われました。Alexaの自然言語理解には、その際に収集されたフレーズがマッピングされています。
ロケールで同じ情報を伝達する方法が複数ある場合、人気度や最も一般的といった指標はないことに注意してください。ロケールごとに少なくとも1つのフレーズでアプリをテストできれば、通常は十分です。
統計的マッチングと決定論的マッチング
発話には、決定論的マッチングを使用するものと、統計的マッチングを使用するものがあります。その違いを知ることは重要ではありませんが、決定論的マッチングは、本質的にはフレーズのハードコーディングと似ています。Alexaは、「アレクサ、やめて」など、特定のフレーズとの完全一致をリッスンします。
これに対して、統計的マッチングはあいまいマッチングであり、Alexaは認識された特定の用語を選び出し、ユーザーのインテントを推測しようとします。自然な会話ではフレーズの順序が無限に変化することを考えると、すべてのフレーズをハードコーディングすることは不可能です。そのため、Alexaが発話のインテントを特定するのに役立つ自然言語アルゴリズムが利用されます。
このアルゴリズムの要素の1つは入力デバイスです。ユーザーが「『ロケットマン』を再生して」(楽曲と映画の両方がある)と話しかけた場合、このアルゴリズムでは、ユーザーがオーディオスピーカー(Echo)とFire TVのどちらに話しかけているかが考慮され、該当するデバイスを使用してインテントが通知されます。
必須の発話と省略可能な発話
認定に必須の発話には、発話の下に認定に必須と表示されています。サポートが任意の発話の場合は、省略可能と表示されています。
認定に必須の発話は、アプリで(テキスト入力により)その機能をサポートする場合にのみ必須となります。また、一部の発話は、対象のディレクティブをサポートする場合にのみ必須となります。たとえば、ChannelController
をサポートしない場合は、ChannelController
に関連する発話をサポートする必要はありません。ただし、ChannelController
をサポートする場合は、認定に必須のマークが付いているChannelController
の発話をサポートする必要があります。
この表には [完了] 列があり、チェックボックスが用意されています。必要に応じて、このページを印刷し、完了した項目にチェックを入れて、必須の発話のサポート状況を確認できるようにしておくとよいでしょう。
暗黙的なコンテキストと明示的なコンテキスト
アプリによる発話の処理をテストする際には、発話ごとに暗黙的なコンテキストと明示的なコンテキストの両方をテストする必要があります。明示的な発話では発話にアプリ名が含まれるのに対して、暗黙的な発話では発話にアプリ名が含まれません。アプリのみの統合では、Amazonアプリストアまたはライブアプリテスト(LAT)に申請したことのないアプリの場合(この場合Alexaでカタログが認識されません)、明示的な発話は機能しません。アプリがフォアグラウンドにある状態でAlexaにリクエストをすると、明示的な発話と同様の状態を模擬的に再現できます。詳細については、暗黙的な発話と明示的な発話を参照してください。