2021年1月19日より一部の英語ロケールで、Multi-Value Slot (MVS) が利用できるようになりました。今までスキルで複数のスロット値を受け取るためにはサンプル発話でその数だけスロットを追加する必要がありました。MVSを利用すると、一つのスロットで複数の値を取得できるようになります。
ピザのトッピングを追加する発話を例にあげます。「order pizza with pepperoni and mushrooms」の発話でトッピングをスロットにした場合のサンプル発話は「order pizza with {toppings_one} and {toppings_two}」となります。MVSを利用すると「order pizza with {toppings}」となります。この {toppings}で複数の値を取得することができます。
従来:
インテント: OrderIntent
スロット名: toppings_one、 toppings_two
スロットタイプ: どちらもAMAZON.Food
サンプル発話: order pizza with {toppings_one} and {toppings_two}
リクエスト抜粋:
"request": { "type": "IntentRequest", "requestId": "amzn1.echo-api.request...", "locale": "en-US", "timestamp": "2021-01-29T06:56:09Z", "intent": { "name": "OderIntent", "confirmationStatus": "NONE", "slots": { "toppings_one": { "name": "toppings_one", "value": "pepperoni", "confirmationStatus": "NONE", "source": "USER", "slotValue": { "type": "Simple", "value": "pepperoni" } }, "toppings_two": { "name": "toppings_two", "value": "mushrooms", "confirmationStatus": "NONE", "source": "USER", "slotValue": { "type": "Simple", "value": "mushrooms" } } } } }
MVS:
インテント: OrderIntent
スロット名: toppings
スロットタイプ: AMAZON.Food
サンプル発話: order pizza with {toppings}
リクエスト抜粋:
"request": { "type": "IntentRequest", "requestId": "amzn1.echo-api.request...", "locale": "en-US", "timestamp": "2021-01-29T06:02:20Z", "intent": { "name": "OderIntent", "confirmationStatus": "NONE", "slots": { "__Conjunction": { "name": "__Conjunction", "value": "and", "confirmationStatus": "NONE", "source": "USER", "slotValue": { "type": "Simple", "value": "and" } }, "toppings": { "name": "toppings", "confirmationStatus": "NONE", "source": "USER", "slotValue": { "type": "List", "values": [ { "type": "Simple", "value": "pepperoni" }, { "type": "Simple", "value": "mushrooms" } ] } } } } }
Alexaブログ(英語):Now Available: Use Multi-Value Slots to build more Natural conversations
技術資料(英語):Collect Multiple Values in a Slot