Amazon.FallbackIntentが日本、フランス、イタリア、スペインで使用可能となりました。さらに、AMAZON.PhoneNumber(ベータ)とAMAZON.Ordinal(ベータ)のビルトインスロットタイプも合わせて使用可能となりました。
Alexaスキルの開発者であれば、スキルのインテントに幅広いバリエーションのサンプル発話を含めることで、発話のハンドリング精度が向上することはご存知だと思います。(さらに詳しい情報については、こちらのドキュメントをご参照ください)
しかし、インタラクションモデルがどれほど堅牢であっても、スキルのインテントとまったく一致しない発話を受け取ることがあります。 これらの種類のリクエスト(ドメイン外リクエスト)が意図していないインテントにマッピングされると、予期しない応答が発生する可能性があります。このような問題を解決するために、Alexa Skills Kit は昨年、AMAZON.FallbackIntent を英語ロケールとドイツ語のビルトインライブラリーに追加しました。
スキルのインタラクションモデルに FallbackIntent を追加すると、スキルの開発者とユーザーの両方にメリットをもたらします。 スキルユーザーに対しては、FallbackIntent がドメイン外リクエストを適切にルーティングすることで、より関連性の高い応答が提供されるようになります。 通常これは、ユーザーのリクエストがスキルでは対応できないものであることをユーザーに知らせ、スキルの機能に戻るためのガイダンスを提供するプロンプトとなります。
スキル開発者の場合、インテントリクエスト履歴 APIを使用することで、FallbackIntent カテゴリ内に表示されるドメイン外リクエストを分析することができます。これにより、スキルに期待されている発話や機能を判断し、必要に応じてドメイン外モデルを微調整することが可能となります。
以下は、AMAZON.FallbackIntentがどのように機能するかを示す例です。
ユーザー: アレクサ、トリッププランを開いて
Alexa: 旅行を計画しましょう。目的地はどこですか?
ユーザー: 札幌の天気を教えて (この発話は、トリッププランのどのインテントとも一致しません)
Alexaはこの発話をインテントにマッピングできる確率が低いと判断したため、スキルにAMAZON.FallbackIntentを送信します。
Alexa: トリッププランスキルではその質問にはお答えできませんが、フライトを調べたり、旅行の計画の手伝いをしたりすることはできます。どこに行きますか? (応答にスキルの名前を含めて、ユーザーを正しくガイドします)
AMAZON.FallbackIntentがスキルに追加されると、Alexaの機械学習を使用してスキルの既存のインテントとサンプル発話を自動的に評価し、そのスキルに固有のドメイン外モデルを作成します。 AMAZON.FallbackIntentは、サンプル発話を追加し、拡張することもできます。これにより、開発者は必要に応じてドメイン外モデルを微調整できます。 Alexaがある発話をカスタムインテントのいずれかにマッピングできる確率が高いと判断すると、そのインテントが選択されます。一方、発話がスキルのドメイン外(スキルでは意味をなさない)である確率が高いと判断すると、AlexaはAMAZON.FallbackIntentを選択します。すべてのインテントに対して信頼度が非常に低い場合(音声が不明瞭な場合や雑音が入った場合など)は、かわりに再プロンプトが出される可能性があります。その後、スキルバックエンドは AMAZON.FallbackIntent リクエストを受け取り、適切な指示やガイダンスで応答することができます。
AMAZON.FallbackIntent のドメイン外モデルは、スキルのモデルと、既存のサンプルデータのテンプレートから自動的に生成されます。 ドメイン外モデルはモデルのビルドごとに再生成され、他のインテントへの変更を自動的に組み込みます。(インタラクションモデルの改善に応じて自動的に更新されます。)
Alexa 開発者コンソール上でAMAZON.FallbackIntentを追加し、インタラクションモデルを更新します。
その後、対応するIntent handler をスキルバックエンドに追加します。
他のビルトインインテントと同様に、バックエンドにハンドラを実装する必要があります。 通常これは、ユーザーのリクエストがスキルでは対応できないものであることをユーザーに知らせ、そのスキルの機能に戻るためのガイダンスを提供するプロンプトとなります。また、プロンプトでは、自分がどのスキルと対話しているのかをユーザーが再度認識できるようにする必要があります。以下は ASK SDK for Node.jsを使用したサンプルです。
さらに詳しい情報については、こちらのテクニカルドキュメントを参照してください。
ビルトインスロットタイプを使用して電話番号と序数値をキャプチャする機能が、すべてのロケールに拡張されました。
AMAZON.PhoneNumber (ベータ) は、電話番号を表す数字または単語を句読点なしの文字列形式に変換し、国際電話番号、国番号、および地域の電話番号形式をサポートします。
AMAZON.Ordinal (ベータ) は、序数を表す単語を数字に変換します (例:「三番目」から 3)。音声による要素の選択など、複数のユースケースで役立ちます。 これにより、ユーザーはデバイス画面上のビジュアルコンポーネントをよりシームレスに操作できます。 たとえば、Ordinalインテントは、リスト選択をサポートすることができます(例:「二番目のアイテムを選択する」、「四番目のアイテムを選択する」)