メニュー
Amazon Lex
開発者ガイド

カスタムスロットタイプ

インテントごとに、ユーザーのリクエストの達成に必要な情報を示すパラメータを指定できます。これらのパラメータ (スロット) にはタイプがあります。スロットタイプ は、スロット値を認識するように機械学習モデルをトレーニングするために Amazon Lex で使用する値のリストです。たとえば、Genres. というスロットタイプを定義できます。このスロットタイプの各値は、ジャンル名を示す「comedy」、「adventure」、「documentary」などです。スロットタイプ値にはシノニムを定義できます。たとえば、「comedy」値のシノニムとして「funny」や「humorous」を定義できます。

スロット値に解決される候補を制限するようにスロットタイプを設定できます。スロット値は列挙値として使用されます。ユーザーが入力した値は、スロット値のいずれかまたはシノニムと一致した場合にのみ、スロット値として解決されます。シノニムは、対応するスロット値に解決されます。たとえば、ユーザーが「funny」と入力した場合、これはスロット値「comedy」に解決されます。

また、値を拡張するようにスロットタイプを設定することもできます。スロット値はトレーニングデータとして使用され、スロットはスロット値やシノニムに類似している場合に、ユーザーが指定した値に解決されます。これがデフォルトの動作です。

Amazon Lex には、スロットの解決の候補リストが保持されています。リスト内のエントリごとに、Amazon Lex でスロットの追加候補として認識された解決値があります。解決値は、スロット値と一致させるための最適な方法です。リストには最大 5 つの値が含まれます。

ユーザーが入力した値がシノニムである場合、解決値のリストの最初のエントリはスロットタイプ値になります。たとえば、ユーザーが「funny」と入力すると、slots フィールドに「funny」が入り、slotDetails フィールドの最初のエントリが「comedy」になります。PutSlotType オペレーションを使用してスロットタイプを作成または更新するときに、スロット値が解決リストの最初の値になるように、valueSelectionStrategy を設定できます。

Lambda 関数を使用している場合は、関数への入力イベントに slotDetails という解決リストが含まれています。次の例は、Lambda 関数への入力のスロットとスロット詳細のセクションを示しています。

"slots": { "MovieGenre": "funny"; }, "slotDetails": { "Movie": { "resolutions": [ "value": "comedy" ] } }

スロットタイプごとに、最大 10,000 個の値とシノニムを定義できます。各ボットには、合計 50,000 個のスロットタイプ値とシノニムを含めることができます。