回答:
カスタムスキルは、テキストをキャプチャして、スキルのAPIに送信できます。
Alexa Skillsの仕組みに完全に慣れていない場合、簡単な要約を以下に示します。
まず、インテントスキーマとサンプル発話を提供して、スキルをAmazonに登録します。インテントスキーマは、実行可能なアクションと、APIに送信されるカスタムデータのスロットを定義します。サンプルの発話は、ユーザーが各インテントをトリガーする方法の例を提供します。
ユーザーがスキルをアクティブにすると、Alexaは、彼らが言った内容をスキルのサンプル発話の1つに一致させようとします。それは場合はありません試合を、それが応答を求めるために、サーバーにHTTPSリクエストを送信します。
サーバーは応答を提供し(すべてがうまくいけば)、Alexaはスキルをトリガーしたユーザーにフィードバックを提供します。
AMAZON.LITERAL
スロットは、あなたが事実上すべての入力を受け付けることができます。現在、英語(米国)地域でのみサポートされていることに注意してください。英語(英国)およびドイツ語のスキルはを使用できませんAMAZON.LITERAL
。
インテントスキーマは次のようになります。
{
"intents": [
{
"intent": "SaveTodo",
"slots": [
{
"name": "Todo",
"type": "AMAZON.LITERAL"
}
]
}
]
}
サンプルの発話は次のようになります。
SaveTodo remind me to {fetch the shopping|Todo}
SaveTodo remind me to {write my English essay|Todo}
SaveTodo remind me to {buy some dog food tomorrow|Todo}
を使用する場合AMAZON.LITERAL
、大量のサンプル発声を提供する必要があります。入力の可能な長さごとに少なくとも1つのサンプルが必要ですが、理想的にはそれ以上です。Amazonのドキュメントでは、さまざまなタイプの入力を受け入れることができるスロットの数百のサンプルを狙う必要があることが示唆されています。
少し面倒に思えますが、これを行わないと、スキルがテキストを適切に認識する可能性は低くなります。おそらく、顧客データからサンプルの発話を生成して(個人情報が事前に削除されている限り!)、最も一般的な発話がサンプルに含まれるようにすることもできます。
ただし、 Amazon はAMAZON.LITERAL
スロットを推奨していません。可能なスロットをリストする必要があるカスタムスロットタイプを使用することをお勧めします。次のことを覚えておくことが重要です。
カスタムスロットタイプは、列挙に相当しません。話し言葉理解システムによって認識された場合、リスト外の値が返される場合があります。カスタムスロットタイプへの入力は、リスト内の値に向かって重み付けされますが、リスト上のアイテムだけに制限されるわけではありません。スロット値を使用するときは、コードに検証とエラーチェックを含める必要があります。