Alexa Conversationsでのスロットタイプの使用
• (GA)
en-US
• (Beta)
en-AU
, en-CA
, en-IN
, en-GB
, de-DE
, ja-JP
, es-ES
, es-US
Alexa Conversationsでは、ユーザー発話、Alexa応答、APIの間でやり取りされるすべての変数にスロットタイプが必要です。インテントベースの対話モデルと同様に、Alexaがデータを認識してコンポーネント間で受け渡す方法をスロットタイプで定義します。
Alexa Conversationsを使用して開発を開始するには、Pet Matchスキル開発チュートリアルの手順を実行する、ピザ注文リファレンススキルのコードをダウンロードする、Alexa Conversationsのスキル設定とバックエンドスキルコードを含むAlexa-hostedサンプルスキルテンプレートを使用する、といった方法があります。
概要
開発者コンソールでダイアログにアノテーションを付ける場合は、ユーザー発話、発話、応答、API定義の変数にスロットタイプを割り当てます。たとえば、天気スキルではユーザーとAlexaの間で次のようなやり取りがあります。
ユーザー: 明日の神戸の天気を教えて。
Alexa: 明日の神戸の最高気温は二十二度、最低気温は十四度です。
このダイアログにアノテーションを付ける場合、次のようなスロットタイプを使用します。
- ユーザー発話と発話セット – 「明日の神戸の天気を教えて」というユーザー発話では、「明日」を
AMAZON.DATE
スロットタイプ、「神戸」をAMAZON.City
スロットタイプとして指定します。これはどちらもビルトインスロットタイプです。 - API定義の入力引数 –
GetWeather
APIには、date
(AMAZON.DATE
スロットタイプ)とcityName
(AMAZON.City
スロットタイプ)の2つの入力引数があります。 - API定義の戻り値 –
GetWeather
APIの戻り値には、returnedWeather
というカスタムスロットタイプを定義します。このスロットタイプには、cityName
、date
、highTemperature
、lowTemperature
というプロパティがあります。 - 応答引数 – ユーザーに対するAlexaの応答のしかたを定義する際に、その応答に渡される引数として
returnedWeather
を指定します。
使用するスロットタイプを決定する
変数や引数の必要性を特定した後、使用するスロットタイプを決定する際に、さまざまな要素を検討する必要があります。以下の表は、その選択肢をまとめたものです。
選択肢 | 説明 | 例 |
---|---|---|
ビルトインスロットタイプとカスタムスロットタイプ |
日付( |
ビルトインスロットタイプ: カスタムスロットタイプ: |
シングルスロットタイプとリストスロットタイプ |
Alexa Conversationsは、最大5項目までのリストスロットタイプに対応しています。 |
シングルスロットタイプ: リストスロットタイプ: |
ビルトインスロットタイプ
AMAZON.SearchQuery
以外のすべてのビルトインスロットタイプをサポートしています。ビルトインスロットタイプは既にAlexaがサポートしているスロットタイプです。日付(AMAZON.DATE
)や時刻(AMAZON.TIME
)など、一般的な種類のデータにはビルトインスロットタイプを使用できます。ビルトインスロットタイプの一覧については、スロットタイプリファレンスを参照してください。
Alexa Conversationsは、en-US
のAlexa Entitiesに対応しています。Alexa Entitiesは、実在の個人、場所、物を表します。エンティティ解決をサポートするビルトインスロットタイプを使用すると、あいまいなユーザー発話を既知のエンティティとして明確に識別できます。詳細については、Alexa Entitiesリファレンスを参照してください。
カスタムスロットタイプを作成する
ニーズに合うビルトインスロットタイプがない場合は、カスタムスロットタイプを作成できます。カスタムスロットタイプにはプロパティを持たせることができます。
プロパティを持つカスタムスロットタイプは、開発者コンソールを使用して、以下の手順で作成します。
API定義と応答の文字列を受け取るスロットタイプを作成するには、値を持つカスタムスロットタイプを作成しますが、値は設定しないでください(発話セットでは機能しません)。
プロパティを持つカスタムスロットタイプを作成するには
- 開発者コンソールにログインし、Alexa Conversationsスキルに移動します。
- 左側のペインでアセットを展開し、スロットタイプをクリックします。
- +スロットタイプをクリックします。
- プロパティを持つカスタムスロットタイプを作成を選択し、スロットタイプの名前を入力して、次へをクリックします。
- 新しいプロパティを追加をクリックし、プロパティの名前を入力して、スロットタイプを選択します。
- 他にも追加するプロパティがあれば、前述の手順を繰り返します。
- ヘッダーバーの保存をクリックします。
シングルスロットタイプ
ユーザーのリクエストに含まれる変数が一度に1つの値しか持たない場合、必要なのはシングルスロットタイプです。たとえば、Alexaが「どのサイズのピザにしますか?」とたずねた場合、ユーザーは複数のサイズのリストではなく1つのサイズを答えます。
リストスロットタイプ
Alexa Conversationsは、最大5項目までのリストスロットタイプに対応しています。「ペパロニとピーマンとオリーブのピザを注文して」といったユーザーのリクエストには、リストスロットタイプを使用します。 リストスロットタイプには以下の制限があります。
- リスト内の項目は、同じスロットタイプである必要があります。たとえば、1つのリストに
AMAZON.US_CITY
スロットタイプとAMAZON.US_STATE
スロットタイプの両方を含めることはできません。 - 作成できるリストはビルトインスロットタイプのリストのみです。カスタムスロットタイプ(APIから返されるスロットタイプなど)をリストにすることはできません。
- 1つのダイアログ内でも、別々のターンで使用するのであれば、複数のスロットリストを含めることができます。
関連トピック
最終更新日: 2022 年 01 月 14 日