

サポート終了通知: 2025 年 9 月 15 日、 AWS は Amazon Lex V1 のサポートを終了します。 V1 2025 年 9 月 15 日を過ぎると、Amazon Lex V1 コンソールまたは Amazon Lex V1 リソースにはアクセスできなくなります。Amazon Lex V2 を使用している場合は、代わりに [Amazon Lex V2 ガイド](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 組み込みのインテントとスロットタイプ
<a name="howitworks-builtins"></a>

Amazon Lex では、Alexa に標準で組み込まれているインテントおよびスロットタイプを使用してボットを簡単に作成できます。

**Topics**
+ [組み込みインテント](howitworks-builtins-intents.md)
+ [組み込みスロットタイプ](howitworks-builtins-slots.md)

# 組み込みインテント
<a name="howitworks-builtins-intents"></a>

一般的なアクションに対しては、標準の組み込みインテントライブラリを使用できます。組み込みインテントからインテントを作成するには、コンソールで組み込みインテントを選択し、新しい名前を付けます。新しいインテントは、サンプル発話など、元のインテントの設定を継承します。

現在の実装では、以下の操作は実行できません。
+ 元のインテントのサンプル発話を追加または削除する
+ 組み込みインテントのスロットを設定する

**ボットに組み込みインテントを追加するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/) で Amazon Lex コンソールを開きます。

1. 組み込みインテントを追加するボットを選択します。

1. ナビゲーションペインで、[**インテント**] の横のプラス (\$1) を選択します。

1. [**インテントの追加**] で、[**既存のインテントの検索**] を選択します。

1. **[Search intents]** (インテントの検索) ボックスに、ボットに追加する組み込みインテントの名前を入力します。

1. **[Copy built-in intent]** (組み込みインテントのコピー) で、インテントに名前を付け、**[Add]** (追加) を選択します。

1. インテントエディタを使用して、ボットに必要なインテントを構成します。

**Topics**
+ [AMAZON.CancelIntent](built-in-intent-cancel.md)
+ [AMAZON.FallbackIntent](built-in-intent-fallback.md)
+ [AMAZON.HelpIntent](built-in-intent-help.md)
+ [AMAZON.KendraSearchIntent](built-in-intent-kendra-search.md)
+ [AMAZON.PauseIntent](built-in-intent-pause.md)
+ [AMAZON.RepeatIntent](built-in-intent-repeat.md)
+ [AMAZON.ResumeIntent](built-in-intent-resume.md)
+ [AMAZON.StartOverIntent](built-in-intent-start-over.md)
+ [AMAZON.StopIntent](built-in-intent-stop.md)

**注記**  
英語 (米国) (en-US) ロケールの場合、Amazon Lex は Alexa 標準の組み込みインテントからのインテントをサポートしています。組み込みインテントの一覧については、「[Alexa Skills Kit](https://developer.amazon.com/docs/custom-skills/standard-built-in-intents.html)」の「*Standard Built-in Intents*」を参照してください。  
Amazon Lex では、以下のインテントはサポートされません。  
`AMAZON.YesIntent`
`AMAZON.NoIntent` 
「[Alexa Skills Kit](https://developer.amazon.com/docs/custom-skills/built-in-intent-library.html)」の「*Built-in Intent Library*」のインテント

# AMAZON.CancelIntent
<a name="built-in-intent-cancel"></a>

ユーザーが現在の対話をキャンセルしたいことを示す単語やフレーズに応答します。アプリケーションはこのインテントを使用して、ユーザーとの対話を終了する前に、スロットタイプの値やその他の属性を削除できます。

一般的な発話:
+ キャンセル
+ 気にしないで
+ 忘れて

# AMAZON.FallbackIntent
<a name="built-in-intent-fallback"></a>

ユーザーがインテントに入力した内容がボットの想定通りでない場合、Amazon Lex が*フォールバックインテント*を呼び出すように設定できます。例えば、ユーザー入力「I'd to order candy」が `OrderFlowers` ボットのインテントと一致しない場合、Amazon Lex はフォールバックインテントを呼び出してレスポンスを処理します。

組み込みの `AMAZON.FallbackIntent` インテントタイプをボットに追加することで、フォールバックインテントを追加します。インテントを指定するには、[PutBot](API_PutBot.md) オペレーションを使用するか、コンソールの組み込みインテントのリストからインテントを選択します。

フォールバックインテントを呼び出すには、2 つのステップを使用します。最初のステップでは、フォールバックインテントはユーザーからの入力に基づいてマッチングされます。フォールバックインテントが一致した場合、ボットの動作は、プロンプトに設定された再試行回数によって異なります。例えば、インテントを決定する最大試行回数が 2 の場合、ボットはフォールバックインテントを呼び出す前に、ボットの明確化プロンプトを 2 回返します。

Amazon Lex は、次のような状況でフォールバックインテントを一致させます。
+ インテントへのユーザーの入力が、ボットが想定する入力と一致しません
+ オーディオ入力がノイズであるか、テキスト入力が単語として認識されません。
+ ユーザーの入力があいまいで、Amazon Lex が呼び出すインテントを判断できません。

フォールバックインテントは、次の場合に呼び出されます。
+ 会話の開始時に明確化のための試行回数を設定した後で、ボットがインテントとしてユーザー入力を認識しない場合。
+ 設定された試行回数後に、インテントがユーザー入力をスロット値として認識しない場合。
+ 設定された試行回数後に、インテントが確認プロンプトへの応答としてユーザー入力を認識しない場合。

フォールバックインテントは以下と使用できます。
+ フルフィルメント Lambda 関数
+ 結論ステートメント
+ フォローアッププロンプト

フォールバックインテントに以下を追加することはできません。
+ 発話
+ Slots
+ 初期化および検証 Lambda 関数 
+ 確認プロンプト

ボットに対して中止ステートメントとフォールバックインテントの両方を設定している場合、Amazon Lex はフォールバックインテントを使用します。ボットに中止ステートメントが必要な場合は、フォールバックインテントのフルフィルメント関数を使用して、中止ステートメントと同じ動作を提供できます。詳細については、「`abortStatement` オペレーション」の「[PutBot](API_PutBot.md) パラメータ」を参照してください。

## 明確化プロンプトの使用
<a name="fallback-clarification"></a>

ボットに明確化プロンプトを指定する場合、プロンプトはユーザーから有効なインテントを求めるために使用されます。明確化プロンプトは、設定した回数だけ繰り返されます。その後、フォールバックインテントが呼び出されます。

ボットの作成時に明確化プロンプトを設定せず、ユーザーが有効なインテントで会話を開始しない場合、Amazon Lex は直ちにフォールバックインテントを呼び出します。

明確化プロンプトなしでフォールバックインテントを使用すると、Amazon Lex は次の状況下ではフォールバックを呼び出しません。
+ ユーザーがフォローアッププロンプトに応答しても、インテントを提供しない場合。例えば、「今日は他に何か好きですか？」というフォローアッププロンプトに応答して、 とすると、ユーザーは「はい」と言います。Amazon Lex には、ユーザーからインテントを取得するための明確化プロンプトがないため、400 Bad Request 例外が返されます。
+  AWS Lambda 関数を使用する場合、`ElicitIntent`ダイアログタイプを返します。Amazon Lex には、ユーザーからインテントを取得するための明確化プロンプトがないため、400 Bad Request 例外が返されます。
+ `PutSession` オペレーションを使用するときは、`ElicitIntent` ダイアログタイプを送信します。Amazon Lex には、ユーザーからインテントを取得するための明確化プロンプトがないため、400 Bad Request 例外が返されます。

## フォールバックインテントでの Lambda 関数の使用
<a name="invoke-fallback"></a>

フォールバックインテントが呼び出されると、レスポンスは [PutIntent](API_PutIntent.md) オペレーションに対する `fulfillmentActivity` パラメータの設定によって異なります。ボットは、次のいずれかを実行します。
+ クライアントアプリケーションにインテント情報を返します。
+ フルフィルメント Lambda 関数を呼び出します。セッションに設定されたセッション変数を使用して関数を呼び出します。

フォールバックインテントが呼び出されたときのレスポンスの設定の詳細については、「`fulfillmentActivity` オペレーション」の「[PutIntent](API_PutIntent.md) パラメータ」を参照してください。

フォールバックインテントでフルフィルメント Lambda 関数を使用する場合、この関数を使用して、別のインテントを呼び出す、またはコールバック番号の収集やカスタマーサービス担当者とのセッションの開始など、ユーザーとの何らかの通信を行うことができます。

フルフィルメント関数で他のインテントに実行できる任意のアクションをフォールバックインテント Lambda 関数で実行できます。を使用してフルフィルメント関数を作成する方法の詳細については AWS Lambda、「」を参照してください[Lambda 関数を使用する](using-lambda.md)。

フォールバックインテントは、同じセッションで複数回呼び出すことができます。例えば、Lambda 関数で `ElicitIntent` ダイアログアクションを使用して、ユーザーに別のインテントの入力を求めるとします。設定された試行回数の後に Amazon Lex がユーザーのインテントを推測できない場合、フォールバックインテントを再度呼び出します。また、試行回数設定後にユーザーが有効なスロット値で応答しない場合に、フォールバックインテントを呼び出します。

セッション変数を使用して、フォールバックインテントが呼び出された回数を追跡するように Lambda 関数を設定できます。Lambda 関数で設定したしきい値を超えて呼び出された場合、Lambda 関数は別のアクションを実行できます。セッション変数の詳細については、「[セッション属性の設定](context-mgmt-session-attribs.md)」を参照してください。

# AMAZON.HelpIntent
<a name="built-in-intent-help"></a>

ボットとのやりとり中にユーザーが助けを必要としていることを示す単語やフレーズに応答します。このインテントが呼び出されると、Lambda 関数またはアプリケーションを設定して、ボットの機能に関する情報を提供したり、ヘルプの領域に関するフォローアップ質問をしたり、インタラクションを人間のエージェントに渡すことができます。

一般的な発話:
+ help
+ 助けて
+ 助けてくれますか

# AMAZON.KendraSearchIntent
<a name="built-in-intent-kendra-search"></a>

Amazon Kendra でインデックス付けしたドキュメントを検索するには、`AMAZON.KendraSearchIntent` インテントを使用します。Amazon Lex がユーザーとの会話の次のアクションを決定できない場合、検索インテントをトリガーします。

`AMAZON.KendraSearchIntent` は、英語 (米国) (en-US)、および米国東部 (バージニア北部)、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド) の各リージョンでのみ利用できます。

Amazon Kendra は、PDF ドキュメントや Microsoft Word ファイルなどの自然言語ドキュメントにインデックス付けする機械学習ベースの検索サービスです。インデックス付けされたドキュメントを検索し、質問に対して以下のタイプのレスポンスを返すことができます。
+ 回答 
+ 質問への回答になる可能性がある FAQ のエントリ
+ 質問に関連するドキュメント

`AMAZON.KendraSearchIntent` の使用例については、「[例: Amazon Kendra インデックスを使用する FAQ ボットを作成する](faq-bot-kendra-search.md)」を参照してください。

ボットに `AMAZON.KendraSearchIntent` インテントを設定した場合、Amazon Lex は、スロットまたはインテントのユーザー発話を判別できないときは常に、そのインテントを呼び出します。例えば、ボットが「ピザのトッピング」というスロットタイプのレスポンスを引き出し、ユーザーが「ピザって何?」と言った場合、Amazon Lex は `AMAZON.KendraSearchIntent` を呼び出してその質問を処理します。Amazon Kendra からのレスポンスがない場合、会話はボットで設定されたとおりに進みます。

同じボットで `AMAZON.KendraSearchIntent` と `AMAZON.FallbackIntent` の両方を使用する場合、Amazon Lex は以下のようにインテントを使用します。

1. Amazon Lex は `AMAZON.KendraSearchIntent` を呼び出します。インテントは Amazon Kendra `Query` オペレーションを呼び出します。

1. Amazon Kendra がレスポンスを返す場合、Amazon Lex はユーザーに結果を表示します。

1. Amazon Kendra からのレスポンスがない場合、Amazon Lex はユーザーに再度プロンプトを表示します。以下のアクションは、ユーザーからのレスポンスによって異なります。
   + ユーザーからのレスポンスに、スロット値の入力やインテントの確認など、Amazon Lex が認識する発話が含まれている場合、ユーザーとの会話はボットで設定されたとおりに進みます。
   + ユーザーからのレスポンスに Amazon Lex が認識する発話が含まれていない場合、Amazon Lex は `Query` オペレーションを再度呼び出します。

1. 設定された再試行回数の後にレスポンスがない場合、Amazon Lex は `AMAZON.FallbackIntent` を呼び出し、ユーザーとの会話を終了します。

`AMAZON.KendraSearchIntent` を使用して Amazon Kendra へのリクエストを作成するには、3 つの方法があります。
+ 検索インテントからリクエストを作成します。Amazon Lex では、ユーザーの発話を検索文字列として Amazon Kendra を呼び出します。インテントを作成するときに、Amazon Kendra が返すレスポンスの数を制限するクエリフィルタ文字列を定義できます。Amazon Lex は、クエリリクエストでフィルターを使用します。
+ ダイアログ Lambda 関数を使用して、追加のクエリパラメータをリクエストに追加します。Amazon Kendra クエリパラメータを含む `kendraQueryFilterString` フィールドを `delegate` ダイアログアクションに追加します。Lambda 関数を使用してクエリパラメータをリクエストに追加すると、それらのパラメータは、インテントを作成したときに定義したクエリフィルタよりも優先されます。
+ ダイアログ Lambda 関数を使用して、新しいクエリを作成します。Amazon Lex によって送信される完全な Amazon Kendra クエリリクエストを作成できます。`delegate` ダイアログアクションの `kendraQueryRequestPayload` フィールドでクエリを指定します。`kendraQueryRequestPayload` フィールドは `kendraQueryFilterString` フィールドよりも優先されます。

ボットを作成するときに `queryFilterString` パラメータを指定したり、ダイアログ Lambda 関数で `delegate` アクションを呼び出すときに `kendraQueryFilterString` フィールドを指定したりするには、Amazon Kendra クエリの属性フィルターとして使用する文字列を指定します。文字列が有効な属性フィルターでないと、実行時に `InvalidBotConfigException` 例外が発生します。属性ドキュメントの詳細については、*「Amazon Kendra Developer Guide」*(Amazon Kendra デベロッパーガイド) の[「Using document attributes to filter queries」](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering)(ドキュメント属性を使用してクエリをフィルタリングする) を参照してください。

Amazon Lex が Amazon Kendra に送信するクエリを制御するには、ダイアログ Lambda 関数の `kendraQueryRequestPayload` フィールドでクエリを指定できます。クエリが有効でない場合、Amazon Lex は `InvalidLambdaResponseException` の例外を返します。詳細については、*「Amazon Kendra Developer Guide」*(Amazon Kendra デベロッパーガイド) の [「Query operation」](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html) (クエリオペレーション) を参照してください。

`AMAZON.KendraSearchIntent` の使用方法の例については、「[例: Amazon Kendra インデックスを使用する FAQ ボットを作成する](faq-bot-kendra-search.md)」を参照してください。

## Amazon Kendra 検索の IAM ポリシー
<a name="kendra-search-iam"></a>

`AMAZON.KendraSearchIntent` インテントを使用するには、Amazon Lex が Amazon Kendra イン`Query`テントを呼び出すアクセス許可を持つランタイムロールを引き受けることができる AWS Identity and Access Management (IAM) ポリシーを提供するロールを使用する必要があります。使用する IAM 設定は、Amazon Lex コンソール`AMAZON.KendraSearchIntent`を使用するか、AWS SDK または AWS Command Line Interface () を使用するかによって異なりますAWS CLI。コンソールを使用する場合、Amazon Lex サービスにリンクされたロールに Amazon Kendra を呼び出すアクセス許可を追加するか、Amazon Kendra `Query` オペレーションを呼び出すための専用のロールを使用するかを選択できます。 AWS CLI または SDK を使用してインテントを作成する場合は、 `Query`オペレーションの呼び出し専用のロールを使用する必要があります。

### アクセス許可のアタッチ
<a name="kendra-iam-attach"></a>

コンソールを使用して、Amazon Kendra `Query` オペレーションに対するアクセス許可をデフォルトの Amazon Lex サービスにリンクされたロールにアタッチできます。サービスにリンクされたロールにアクセス許可をアタッチする場合は、Amazon Kendra インデックスに接続するための専用のランタイムロールを作成して管理する必要はありません。

Amazon Lex コンソールへのアクセスに使用するユーザー、ロール、またはグループには、ロールポリシーを管理するアクセス許可が必要です。以下の IAM ポリシーをコンソールのアクセスロールにアタッチします。これらのアクセス許可を付与すると、既存のサービスにリンクされたロールポリシーを変更するアクセス許可がロールに付与されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "iam:GetRolePolicy"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/lex.amazonaws.com/AWSServiceRoleForLexBots"
        },
        {
            "Effect": "Allow",
            "Action": "iam:ListRoles",
            "Resource": "*"
        }
    ]
}
```

------

### ロールの指定
<a name="kendra-iam-role"></a>

コンソール、 AWS CLI、または API を使用して、Amazon Kendra `Query`オペレーションを呼び出すときに使用するランタイムロールを指定できます。

ランタイムロールの指定に使用するユーザー、ロール、またはグループには、`iam:PassRole` アクセス許可が必要です。以下のポリシーでは、このアクセス許可を定義しています。`iam:AssociatedResourceArn` および `iam:PassedToService` 条件コンテキストキーを使用して、アクセス許可の範囲をさらに制限できます。詳細については、「 *AWS Identity and Access Management ユーザーガイド*」の[「IAM および AWS STS 条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html)」を参照してください。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role"
        }
    ]
}
```

------

Amazon Lex が Amazon Kendra の呼び出しに使用する必要があるランタイムロールには、`kendra:Query` アクセス許可が必要です。Amazon Kendra `Query` オペレーションを呼び出すアクセス許可に既存の IAM ロールを使用する場合、そのロールには以下のポリシーがアタッチされている必要があります。

IAM コンソール、IAM API、または AWS CLI を使用して、ポリシーを作成し、ロールにアタッチすることができます。以下の手順では、AWS CLI を使用してロールとポリシーを作成します。

**注記**  
次のコードは、Linux と MacOS 用にフォーマットされています。Windows の場合、Linux 行連結記号 (\$1) をキャレット (^) に置き換えます。

**Query オペレーションのアクセス許可をロールに追加するには**

1. 現在のディレクトリに **KendraQueryPolicy.json** という名前でドキュメントを作成し、以下のコードを追加して保存します。

1. で AWS CLI、次のコマンドを実行して、Amazon Kendra `Query`オペレーションを実行するための IAM ポリシーを作成します。

   ```
   aws iam create-policy \
       --policy-name query-policy-name \
       --policy-document file://KendraQueryPolicy.json
   ```

1. `Query` オペレーションの呼び出しに使用している IAM ロールに、そのポリシーをアタッチします。

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/query-policy-name
       --role-name role-name
   ```

Amazon Lex サービスにリンクされたロールを更新するか、ボット用に `AMAZON.KendraSearchIntent` を作成したときに作成したロールを使用するかを選択できます。以下の手順は、使用する IAM ロールを選択する方法を示しています。

**AMAZON.KendraSearchIntent のランタイムロールを指定するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/) で Amazon Lex コンソールを開きます。

1. `AMAZON.KendraSearchIntent` を追加するボットを選択します。

1. [**インテント**] の横のプラス (\$1) を選択します。

1. [**インテントの追加**] で、[**既存のインテントの検索**] を選択します。

1. [**インテントの検索**] に「**AMAZON.KendraSearchIntent**」と入力し、[**追加**] を選択します。

1. [**組み込みインテントのコピー**] にインテントの名前 (「**KendraSearchIntent**」など) を入力し、[**追加**] を選択します。

1. [**Amazon Kendra クエリ**] セクションを開きます。

1. [**IAM ロール**] で、以下のいずれかのオプションを選択します。
   + ボットが Amazon Kendra インデックスをクエリできるように Amazon Lex サービスにリンクされたロールを更新するには、**[Add Amazon Kendra permissions]** (Amazon Kendra アクセス許可の追加) を選択します。
   + Amazon Kendra `Query` オペレーションを呼び出すアクセス許可を持つロールを使用するには、**[Use an existing role]** (既存のロールを使用) を選択します。

## フィルタとしてのリクエスト属性とセッション属性の使用
<a name="kendra-search-filter"></a>

Amazon Kendra から現在の会話に関連するアイテムへのレスポンスをフィルター処理するには、ボットの作成時に `queryFilterString` パラメータを追加して、セッション属性とリクエスト属性をフィルターとして使用します。インテントを作成するときに属性のプレースホルダーを指定します。それにより、Amazon Lex V2 が Amazon Kendra を呼び出す前にプレースホルダーを値に置き換えます。リクエスト属性の詳細については、「[リクエスト属性の設定](context-mgmt-request-attribs.md)」を参照してください。セッション属性の詳細については、「[セッション属性の設定](context-mgmt-session-attribs.md)」を参照してください。

以下に示しているのは、string to filter というリクエスト属性を使用して Amazon Kendra クエリをフィルター処理する `queryFilterString` パラメータの例です。

```
"{"equalsTo": {"key": "City", "value": {"stringValue": "Seattle"}}}"
```

以下に示しているのは、`"SourceURI"` というセッション属性を使用して Amazon Kendra クエリをフィルター処理する `queryFilterString` パラメータの例です。

```
"{"equalsTo": {"key": "SourceURI","value": {"stringValue": "[FileURL]"}}}"
```

以下に示しているのは、`"DepartmentName"` というリクエスト属性を使用して Amazon Kendra クエリをフィルター処理する `queryFilterString` パラメータの例です。

```
"{"equalsTo": {"key": "Department","value": {"stringValue": "((DepartmentName))"}}}"
```

`AMAZON.KendraSearchInteng` フィルターは Amazon Kendra 検索フィルターと同じ形式を使用します。詳細については、[*Amazon Kendra デベロッパーガイド*] の [[ドキュメント属性を使用して検索結果をフィルターする](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering)] を参照してください。

`AMAZON.KendraSearchIntent` で使用されるクエリフィルタ文字列は、各フィルターの最初の文字には小文字を使用する必要があります。例えば、次は `AMAZON.KendraSearchIntent` の有効なクエリフィルターです。

```
{
    "andAllFilters": [
        {
            "equalsTo": {
                "key": "City",
                "value": {
                    "stringValue": "Seattle"
                }
            }
        },
        {
            "equalsTo": {
                "key": "State",
                "value": {
                    "stringValue": "Washington"
                }
            }
        }
    ]
}
```

## 検索レスポンスの使用
<a name="kendra-search-response"></a>

Amazon Kendra は、インテントの `conclusion` ステートメントでの検索に対するレスポンスを返します。フルフィルメント Lambda 関数が結論メッセージを生成しない限り、インテントには `conclusion` ステートメントが必要です。

Amazon Kendra には 4 タイプのレスポンスがあります。
+ `x-amz-lex:kendra-search-response-question_answer-question-<N>` - 検索に一致する FAQ からの質問。
+ `x-amz-lex:kendra-search-response-question_answer-answer-<N>` - 検索に一致する FAQ からの回答。
+ `x-amz-lex:kendra-search-response-document-<N>` - 発話のテキストに関連するインデックス内のドキュメントからの抜粋。
+ `x-amz-lex:kendra-search-response-document-link-<N>` - 発話のテキストに関連するインデックス内のドキュメントからの抜粋。
+ `x-amz-lex:kendra-search-response-answer-<N>` - 質問への回答があるインデックス内のドキュメントからの抜粋。

レスポンスは `request` 属性で返されます。各属性には、最大 5 つのレスポンスがあり 1～5 の番号が付けられます。レスポンスの詳細については、[*Amazon Kendra デベロッパーガイド*] の [[レスポンスのタイプ](https://docs.aws.amazon.com/kendra/latest/dg/response-types.html)] を参照してください。

`conclusion` ステートメントには、1 つ以上のメッセージグループが必要です。各メッセージグループには、1 つ以上のメッセージが含まれます。各メッセージには、Amazon Kendra からのレスポンスでリクエスト属性によって置き換えられる 1 つ以上のプレースホルダー変数を含めることができます。メッセージ内のすべての変数がランタイムレスポンスのリクエスト属性値で置き換えられるメッセージグループには、1 つ以上のメッセージが必要です。プレースホルダー変数のないメッセージグループには、1 つのメッセージが必要です。リクエスト属性は二重かっこ (( )) で囲みます。以下のメッセージグループのメッセージは Amazon Kendra からのレスポンスに一致します。
+ 「FAQ の質問 ((x-amz-lex:kendra-search-response-question\$1answer-question-1)) を見つけました。回答は ((x-amz-lex:kendra-search-response-question\$1answer -answer-1)) です」
+ 「参考になるドキュメント ((x-amz-lex:kendra-search-response-document-1)) からの抜粋を見つけました」
+ 「質問への回答はおそらく ((x-amz-lex:kendra-search-response-answer-1)) です」

## Lambda 関数を使用したリクエストとレスポンスの管理
<a name="kendra-search-lambda"></a>

`AMAZON.KendraSearchIntent` インテントでは、ダイアログコードフックとフルフィルメントコードフックを使用して、Amazon Kendra へのリクエストとレスポンスを管理できます。Amazon Kendra に送信するクエリを変更する場合はダイアログコードフック Lambda 関数を使用し、レスポンスを変更する場合はフルフィルメントコードフック Lambda 関数を使用します。

### ダイアログコードフックを使用したクエリの作成
<a name="kendra-search-lambda-dialog"></a>

ダイアログコードフックを使用して、Amazon Kendra に送信するクエリを作成できます。ダイアログコードフックを使用するかどうかはオプションです。ダイアログコードフックを指定しない場合、Amazon Lex によってユーザー発話からクエリが作成され、`queryFilterString` が使用されます (インテントの設定時に指定した場合)。

ダイアログコードフックレスポンスで 2 つのフィールドを使用して、Amazon Kendra へのリクエストを変更できます。
+ `kendraQueryFilterString` - この文字列を使用して、Amazon Kendra リクエストの属性フィルタを指定します。インデックスで定義されたインデックスフィールドのいずれかを使用して、クエリをフィルタ処理できます。フィルター文字列の構造については、*「Amazon Kendra Developer Guide」*(Amazon Kendra デベロッパーガイド) の[「Using document attributes to filter queries」](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering)(ドキュメント属性を使用してクエリをフィルタリングする) を参照してください。指定したフィルタ文字列が有効でないと、`InvalidLambdaResponseException` 例外が発生します。`kendraQueryFilterString` 文字列は、インテント用に設定された `queryFilterString` で指定されたクエリ文字列を上書きします。
+ `kendraQueryRequestPayload` - この文字列を使用して、Amazon Kendra クエリを指定します。クエリでは、Amazon Kendra の任意の機能を使用できます。有効なクエリを指定しないと、`InvalidLambdaResponseException` 例外が発生します。これらの制限の詳細については、*「Amazon Kendra Developer Guide」*(Amazon Kendra デベロッパーガイド) の[「Query」](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html)(クエリ) を参照してください。

フィルターまたはクエリ文字列を作成したら、レスポンスの `dialogAction` フィールドを `delegate` に設定してAmazon Lex にレスポンスを送信します。Amazon Lex は、クエリを Amazon Kendra に送信し、クエリレスポンスをフルフィルメントコードフックに返します。

### レスポンスでのフルフィルメントコードフックの使用
<a name="kendra-search-lambda-fulfillment"></a>

Amazon Lex がクエリを Amazon Kendra に送信すると、クエリレスポンスが `AMAZON.KendraSearchIntent` フルフィルメント Lambda 関数に返されます。コードフックへの入力イベントには、Amazon Kendra からの完全なレスポンスが含まれます。クエリデータは、Amazon Kendra `Query` オペレーションによって返されるものと同じ構造になります。詳細については、[*Amazon Kendra デベロッパーガイド*] の [[クエリレスポンス構文](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax)] を参照してください。

フルフィルメントコードフックはオプションです。フルフィルメントコードフックがない場合、またはレスポンスでメッセージを返さない場合、Amazon Lex はレスポンスに `conclusion` ステートメントを使用します。

# 例: Amazon Kendra インデックスを使用する FAQ ボットを作成する
<a name="faq-bot-kendra-search"></a>

この例では、Amazon Kendra インデックスを使用してユーザーの質問への回答を返す Amazon Lex ボットを作成します。FAQ ボットはユーザーのダイアログを管理します。`AMAZON.KendraSearchIntent` インテントを使用して、インデックスをクエリし、ユーザーにレスポンスを返します。ボットを作成するには、以下の操作を行います。

1. 顧客と対話して回答を返すボットを作成します。

1. カスタムインテントを作成します。ボットには、少なくとも 1 つのインテントと 1 つの発話が必要です。このインテントはボットのビルドに使用されるだけで、それ以外には使用されません。

1. ボットに `KendraSearchIntent` インテントを追加し、Amazon Kendra インデックスで使用されるように設定します。

1. ボットをテストするには、Amazon Kendra インデックス内のドキュメントに回答がある質問をします。

この例を使用する前に、Amazon Kendra インデックスを作成する必要があります。詳細については、*「Amazon Kendra Developer Guide」*(Amazon Kendra デベロッパーガイド) の[「Getting started with an S3 bucket (console)」](https://docs.aws.amazon.com/kendra/latest/dg/gs-console.html)(S3 バケットの使用を開始する (コンソール)) を参照してください。

**FAQ ボットを作成するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/) で Amazon Lex コンソールを開きます。

1. ナビゲーションペインで、[**ボット**] を選択します。

1. **[作成]** を選択します。

1. **[Custom bot]** (カスタムボット) を選択します。以下のようにボットを設定します。
   + **[Bot name]** (ボット名) - ボットには、**KendraTestBot** などの目的を示す名前を付けます。
   + **[Output voice]** (音声出力) - **[None]** (なし) を選択します。
   + **[Session timeout]** (セッションタイムアウト) -「**5**」と入力します。
   + **[Sentiment analysis]** (センチメント分析) - **[No]** (いいえ) を選択します。
   + **[COPPA**] - **[No]** (いいえ) を選択します。
   + **[User utterance storage]** (ユーザー発話の保存) - **[Do not store]** (保存しない) を選択します。

1. **[作成]** を選択します。

ボットを正常にビルドするには、1 つ以上のインテントと 1 つ以上のサンプル発話を作成する必要があります。このインテントは Amazon Lex ボットのビルドに必要ですが、FAQ のレスポンスには使用されません。このインテントの発話は、顧客が尋ねるどの質問にも適用されないようにしてください。

**必要なインテントを作成するには**

1. [**ボットの開始方法**] ページで、[**インテントの作成**] を選択します。

1. [**インテントの追加**] で、[**インテントの作成**] を選択します。

1. [**インテントの作成**] ダイアログボックスで、インテントに「**RequiredIntent**」などの名前を付けます。

1. [**サンプル発話**] に「**Required utterance**」などの発話を入力します。

1. [**インテントの保存**] を選択します。

次は、Amazon Kendra インデックスを検索するインテント、および返すレスポンスメッセージを作成します。

**AMAZON.KendraSearchIntent インテントとレスポンスメッセージを作成するには**

1. ナビゲーションペインで、[**インテント**] の横のプラス (\$1) を選択します。

1. [**インテントの追加**] で、[**既存のインテントの検索**] を選択します。

1. **[Search intents]** (インテントの検索) ボックスに **AMAZON.KendraSearchIntent** と入力し、リストからそのインテントを選択します。

1. [**組み込みインテントのコピー**] で、インテントに「**KendraSearchIntent**」などの名前を付け、[**追加**] を選択します。

1. インテントエディタで、[**Amazon Kendra クエリ**] を選択してクエリオプションを開きます。

1. [**Amazon Kendra インデックス**] メニューから、検索するインデックスを選択します。

1. [**レスポンス**] セクションで、以下の 3 つのメッセージを追加します。

   ```
   I found a FAQ question for you: ((x-amz-lex:kendra-search-response-question_answer-question-1)) and the answer is ((x-amz-lex:kendra-search-response-question_answer-answer-1)).
   I found an excerpt from a helpful document: ((x-amz-lex:kendra-search-response-document-1)).
   I think the answer to your questions is ((x-amz-lex:kendra-search-response-answer-1)).
   ```

1. [**インテントの保存**] を選択してから、[**ビルド**] を選択してボットをビルドします。

最後に、コンソールテストウィンドウを使用して、ボットからのレスポンスをテストします。質問は、インデックスがサポートするドメインにあることが必要です。

**FAQ ボットをテストするには**

1. コンソールテストウィンドウで、インデックスに対する質問を入力します。

1. テストウィンドウのレスポンスセクションで、回答を確認します。

1. 別の質問のためにテストウィンドウをリセットするには、[**チャットの履歴をクリア**] を選択します。

# AMAZON.PauseIntent
<a name="built-in-intent-pause"></a>

ユーザーがボットとの対話を一時停止して、後で再開できるようにするための単語やフレーズに応答します。Lambda関数やアプリケーションでは、セッション変数にインテントデータを保存したり、現在のインテントを再開する際に [GetSession](API_runtime_GetSession.md) オペレーションでインテントデータを取得したりする必要があります。

一般的な発話:
+ 一時停止
+ 一時停止します

# AMAZON.RepeatIntent
<a name="built-in-intent-repeat"></a>

ユーザーが前のメッセージを繰り返すことができる単語やフレーズに応答します。お客様のアプリケーションでは、Lambda関数を使用して前回のインテント情報をセッション変数に保存するか、[GetSession](API_runtime_GetSession.md) オペレーションを使用して前回のインテント情報を取得する必要があります。

一般的な発話:
+ 繰り返し
+ もう一回言う
+ 繰り返す

# AMAZON.ResumeIntent
<a name="built-in-intent-resume"></a>

単語や語句に応答して、ユーザーが以前一時停止したインテントを再開できるようにします。Lambda 関数またはアプリケーションは、前のインテントを再開するために必要な情報を管理する必要があります。

一般的な発話:
+ 再開する
+ 継続する
+ 続ける

# AMAZON.StartOverIntent
<a name="built-in-intent-start-over"></a>

ユーザーが現在のインテントの処理を停止し、最初からやり直しを有効にする単語やフレーズに応答します。Lambda 関数または `PutSession` オペレーションを使用して、最初のスロット値を再び取得できます。

一般的な発話:
+ 最初からやり直す
+ 再起動
+ 再開

# AMAZON.StopIntent
<a name="built-in-intent-stop"></a>

ユーザーが現在のインテントの処理を停止し、ボットとの対話を終了したいことを示す単語やフレーズに応答します。Lambda 関数またはアプリケーションは、既存の属性とスロットタイプの値をクリアしてから、対話を終了する必要があります。

一般的な発話:
+ 停止
+ オフ
+ 黙って

# 組み込みスロットタイプ
<a name="howitworks-builtins-slots"></a>

Amazon Lex では、スロット内のデータの認識と処理方法を定義する組み込みスロットタイプがサポートされています。これらのスロットタイプはインテントで作成できます。これにより、よく使用されるスロットデータの列挙値 (日付、時刻、場所など) を作成する必要がなくなります。組み込みスロットタイプにはバージョンがありません。


| スロットタイプ | 短い説明 | サポート対象ロケール | 
| --- | --- | --- | 
| [AMAZON.Airport](built-in-slot-airport.md) | 空港を表す単語を認識します。 | すべてのロケール | 
| [AMAZON.AlphaNumeric](built-in-slot-alphanumeric.md) | 文字と数字で構成される単語を認識します。 | 韓国語 (ko-KR) を除くすべてのロケール | 
| [AMAZON.City](built-in-slot-city.md) | 都市を表す単語を認識します。 | すべてのロケール | 
| [AMAZON.Country](built-in-slot-country.md) | 国を表す単語を認識します。 | すべてのロケール | 
| [AMAZON.DATE](built-in-slot-date.md) | 日付を表す単語を認識し、標準形式に変換します。 | すべてのロケール | 
| [AMAZON.DURATION](built-in-slot-duration.md) | 継続時間を表す単語を認識し、標準形式に変換します。 | すべてのロケール | 
| [AMAZON.EmailAddress](built-in-slot-email.md) | E メールアドレスを表す単語を認識して、標準の E メールアドレスに変換 | すべてのロケール | 
| [AMAZON.FirstName](built-in-slot-first-name.md) | 名を表す単語を認識します。 | すべてのロケール | 
| [AMAZON.LastName](built-in-slot-last-name.md) | 名を表す単語を認識します。 | すべてのロケール | 
| [AMAZON.NUMBER](built-in-slot-number.md) | 数語を認識し、数字に変換します。 | すべてのロケール | 
| [AMAZON.Percentage](built-in-slot-percent.md) | パーセンテージを表す単語を認識して、数値とパーセント記号 (%) に変換 | すべてのロケール | 
| [AMAZON.PhoneNumber](built-in-slot-phone.md) | 電話番号を表す単語を認識して、数値の文字列に変換 | すべてのロケール | 
| [AMAZON.SpeedUnit](built-in-slot-speed.md) | 速度の単位を表す単語を認識して、標準の略語に変換 | 英語 (米国) (en-US) | 
| [AMAZON.State](built-in-slot-state.md) | 州を表す単語を認識します。 | すべてのロケール | 
| [AMAZON.StreetName](built-in-slot-street-name.md) | 区画の名前を表す単語を認識します。 | 英語 (米国) (en-US) を除くすべてのロケール | 
| [AMAZON.TIME](built-in-slot-time.md) | 時間を示す単語を時間形式に変換します。 | すべてのロケール | 
| [AMAZON.WeightUnit](built-in-slot-weight.md) | 重量の単位を表す単語を認識して、標準の略語に変換  | 英語 (米国) (en-US) | 

**注記**  
英語 (米国) (en-US) ロケールの場合、Amazon Lex はAlexaスキルキットのスロットタイプをサポートしています。使用可能な組み込みスロットタイプの一覧については、Alexa スキルキットのドキュメントの「[スロットタイプリファレンス](https://developer.amazon.com/docs/custom-skills/slot-type-reference.html)」を参照してください。  
Amazon Lex では、`AMAZON.LITERAL` または `AMAZON.SearchQuery` 組み込みスロットタイプをサポートしていません。

# AMAZON.Airport
<a name="built-in-slot-airport"></a>

空港の一覧を示します。以下に例を示します。
+ ジョン・F・ケネディ国際空港
+ メルボルン空港

# AMAZON.AlphaNumeric
<a name="built-in-slot-alphanumeric"></a>

文字と数字で構成される文字列 (**APQ123** など) を認識します。

このスロットタイプは、韓国語 (ko-KR) ロケールでは使用できません。

以下を含む文字列には、`AMAZON.AlphaNumeric` スロットタイプを使用できます。
+ 英字 (**ABC** など)
+ 数値 (**123** など)
+ 英数字の組み合わせ (**ABC123** など)

スロットに入力された値を検証するために、`AMAZON.AlphaNumeric` スロットタイプに正規表現を追加できます。例えば、正規表現を使用して次のことを検証できます。
+ イギリスまたはカナダの郵便番号
+ 運転免許証番号
+ 車両識別番号

標準の正規表現を使用します。Amazon Lex は、正規表現で以下の文字をサポートします。
+ A～Z、a～z
+ 0-9

Amazon Lex はまた、正規表現で Unicode 文字をサポートします。その形式は `\uUnicode` です。Unicode 文字を表すには、4 桁の数字を使用します。例えば、`[\u0041-\u005A]` は [A-Z] と同じです。

次の正規表現演算子はサポートされていません。
+ 無限リピーター: \$1、\$1、または 上限のない \$1x,\$1
+ ワイルドカード (.)

正規表現の最大長は 300 文字です。正規表現を使用する AMAZON.AlphaNumeric スロットタイプに保存される文字列の最大長は 30 文字です。

正規表現の例を次に示します。
+ **APQ123** または **APQ1** などの英数字の文字列: `[A-Z]{3}[0-9]{1,3}` またはより制約がある `[A-DP-T]{3} [1-5]{1,3}`
+ 米国国際プライオリティー郵便の形式 (**CP123456789US** など): `CP[0-9]{9}US`
+ 銀行ルーティング番号 (**123456789** など): `[0-9]{9}`

スロットタイプの正規表現を設定するには、コンソールまたは [PutSlotType](API_PutSlotType.md) オペレーションを使用します。スロットタイプを保存するときに、正規表現が検証されます。正規表現が有効でない場合、Amazon Lex はエラーメッセージを返します。

スロットタイプで正規表現を使用するときに、Amazon Lex はそのタイプのスロットへの入力を正規表現と照合します。入力が式と一致する場合、値はスロットに対して受け入れられます。入力が一致しない場合、Amazon Lex は入力を繰り返すようユーザーに要求します。

# AMAZON.City
<a name="built-in-slot-city"></a>

ローカルおよび世界の都市のリストを提供します。スロットタイプは、都市名の共通のバリエーションを認識します。Amazon Lex はバリエーションから正式名称に変換されません。

例:
+ ニューヨーク
+ レイキャビク
+ 東京
+ ヴェルサイユ

# AMAZON.Country
<a name="built-in-slot-country"></a>

世界の国の名前。例:
+ オーストラリア
+ ドイツ
+ 日本
+ アメリカ
+ ウルグアイ

# AMAZON.DATE
<a name="built-in-slot-date"></a>

日付を表す単語を日付形式に変換します。

日付は ISO-8601 の日付形式でインテントに提供されます。スロットでインテントが受け取る日付は、ユーザーが発した特定のフレーズによって異なります。
+ 「今日」、「今」、「11 月 25 日」など、特定の日付にマップされる発話は、完全な日付に変換されます `2020-11-25`。デフォルトでは、[*現在または以降*] の日付になります。
+ 「今週」や「来週」など、特定の週に対応する発話は、その週の 1 日目の日付に変換されます。ISO-8601 形式では、週は月曜日に始まり、日曜日に終了します。例えば、今日が 2020-11-25 の場合、「来週」は `2020-11-30` に変換されます。
+ 「来月」などの特定の日付ではなく、月にマップされる発話は、その月の最終日に変換されます。例えば、今日が2020-11-25 の場合、「来月」は `2020-12-31` に変換されます。
+ 「来年」など、特定の月や日ではなく、年にマップされる発話は、翌年の最終日に変換されます。例えば、今日が2020-11-25 の場合、「来年」は `2021-12-31` に変換されます。

# AMAZON.DURATION
<a name="built-in-slot-duration"></a>

期間を示す単語を数値の期間に変換します。

期間は、[[ISO-8601 期間形式](https://en.wikipedia.org/wiki/ISO_8601#Durations)] に基づいた形式 `PnYnMnWnDTnHnMnS` に変換されます。`P` は期間であることを示し、`n` は数値で、次の大文字 `n` は、特定の日付または時刻の要素です。例えば、`P3D` は、3 日を意味します。`T` は、残りの値が日付要素ではなく時間要素を表していることを示すために使用されます。

例:
+ 「10 分」: `PT10M`
+ 「5 時間」: `PT5H`
+ 「3 日間」: `P3D`
+ 「45 秒」：`PT45S`
+ 「8 週間」: `P8W`
+ 「7 年間」: `P7Y`
+ 「5 時間 10 分」: `PT5H10M`
+ 「2 年 3 時間 10 分」：`P2YT3H10M`

# AMAZON.EmailAddress
<a name="built-in-slot-email"></a>

username@domain としての E メールアドレスを表す単語を認識します。アドレスのユーザー名には、特殊文字のアンダースコア (\$1)、ハイフン (-)、ピリオド (.)、プラス記号 (\$1) を含めることができます。

# AMAZON.FirstName
<a name="built-in-slot-first-name"></a>

よく使われる名前。このスロットタイプは、正式な名前と非公式のニックネームの両方を認識します。インテントに送信される名前は、ユーザーが送信した値です。Amazon Lex はニックネームから正式名に変換しません。

名前が似ているがスペルが異なる場合、Amazon Lex からインテントに共通フォームが送信されます。

英語 (米国) (en-US) ロケールのスロット名 AMAZON.US\$1First\$1Name を使用してください。

例:
+ エミリー
+ ジョン
+ ソフィー

# AMAZON.LastName
<a name="built-in-slot-last-name"></a>

一般的に使用される姓。同じ名前のスペルが異なる場合、Amazon Lex からインテントに共通フォームが送信されます。

英語 (米国) (en-US) ロケールのスロット名 AMAZON.US\$1Last\$1Name を使用してください。

例:
+ ブロスキー
+ ダッシャー
+ エバース
+ パレス
+ ウェルト

# AMAZON.NUMBER
<a name="built-in-slot-number"></a>

数値を表す単語や数値を少数を含む数値に変換します。次の表は、`AMAZON.NUMBER` スロットタイプでの数値語の変換方法を示しています。


| Input | 応答 | 
| --- | --- | 
| one hundred twenty three point four five | 123.45 | 
| one hundred twenty three dot four five | 123.45 | 
| point four two | 0.42 | 
| point forty two | 0.42 | 
| 232.998 | 232.998 | 
| 50 | 50 | 

# AMAZON.Percentage
<a name="built-in-slot-percent"></a>

パーセンテージを表す単語と記号を数値とパーセント記号 (%) に変換します。

パーセント記号や単語「percent」を使わずに数値を入力すると、スロット値は数値に設定されます。次の表は、`AMAZON.Percentage` スロットタイプでのパーセンテージの変換方法を示しています。


| Input | 応答 | 
| --- | --- | 
| 50 percent | 50% | 
| 0.4 パーセント | 0.4% | 
| 23.5% | 23.5% | 
| 25 パーセント | 25% | 

# AMAZON.PhoneNumber
<a name="built-in-slot-phone"></a>

電話番号を表す数値や単語を、次に示すように、区切り文字を使用しない文字列形式に変換します。


| 型 | 説明 | Input | 結果 | 
| --- | --- | --- | --- | 
| 先頭にプラス記号 (\$1) が付いた国際番号 | 先頭にプラス記号が付いた 11 桁の番号 | \$161 7 4445 1061 \$11 (509) 555-1212 | `+61744431061` `+15095551212` | 
| 先頭にプラス記号 (\$1) がない国際番号 | 先頭にプラス記号がない 11 桁の番号 | 1 (509) 555-1212 61 7 4445 1061 | `15095551212` `61744451061` | 
| 国内番号 | 国番号がない 10 桁の番号 | (03) 5115 4444 (509) 555-1212 | `0351154444` `5095551212` | 
| ローカル番号 | 国番号や市外局番がない 7 桁の電話番号 | 555-1212 | 5551212 | 

# AMAZON.SpeedUnit
<a name="built-in-slot-speed"></a>

速度の単位を表す単語を、対応する略語に変換します。例えば、「miles per hour」は `mph` に変換されます。

スロットタイプは、英語 (英国) (en-GB) ロケールのみで使用できます。

次の例は、`AMAZON.SpeedUnit` スロットタイプでの速度単位の変換方法を示しています。


| 速度の単位 | 略語 | 
| --- | --- | 
|  miles per hour、mph、MPH、m/h  | mph | 
|  kilometers per hour、km per hour、kmph、KMPH、km/h  | kmph | 
|  meters per second、mps、MPS、m/s  | mps | 
| nautical miles per hour、knots、knot | knot | 

# AMAZON.State
<a name="built-in-slot-state"></a>

国内の地理的および政治的地域の名前。

例:
+ バイエルン州
+ 福島県
+ 太平洋北西部
+ クイーンズランド
+ ウェールズ

# AMAZON.StreetName
<a name="built-in-slot-street-name"></a>

一般的な住所内の通りの名前。これには通りの名前だけが含まれ、番地は含まれません。

スロットタイプは、英語 (英国) (en-GB) ロケールのみで使用できます。

例:
+ キャンベラアベニュー
+ フロントストリート
+ マーケットロード

# AMAZON.TIME
<a name="built-in-slot-time"></a>

時刻を表す単語を時刻値に変換します。あいまいな時間の解決を含みます。ユーザーがあいまいな時刻を入力すると、Amazon Lex は Lambda イベントの `slotDetails` 属性を使用して、あいまいな時刻の解決を Lambda 関数に渡します。例えば、ボットからユーザーに配達時間を尋ねたときにユーザーが「10 時」と答えると、この時刻はあいまいです。午前 10:00 なのか午後 10:00 なのかが不明です。この場合、`slots` マップの値は `null` となり、`slotDetails` エンティティに 2 つの可能な時刻の解決が含まれます。Amazon Lex は Lambda 関数に次のように入力します。

```
"slots": {
   "deliveryTime": null
},
"slotDetails": {
   "deliveryTime": {
      "resolutions": [
         {
            "value": "10:00"
         },
         {
            "value": "22:00"
         }
      ]
   }
}
```

ユーザーからあいまいではない時刻が返されると、Amazon Lex は Lambda イベントの `slots` 属性で時刻を Lambda 関数に送信し、`slotDetails` 属性は空になります。例えば、ユーザーが配達時間を求めるプロンプトに対して「10:00 PM」と返答すると、Amazon Lex は Lambda 関数に次のように入力します。

```
"slots": {
   "deliveryTime": "22:00"
}
```

Amazon Lex から Lambda 関数に送信されるデータの詳細については、「[入力イベントの形式](lambda-input-response-format.md#using-lambda-input-event-format)」を参照してください。

# AMAZON.WeightUnit
<a name="built-in-slot-weight"></a>

重量の単位を表す単語を対応する略語に変換します。例えば、「kilogram」は `kg` に変換されます。

スロットタイプは、英語 (英国) (en-GB) ロケールのみで使用できます。

以下の例は、`AMAZON.WeightUnit` スロットタイプでの重量単位の変換方法を示しています。


| 重量の単位 | 略語 | 
| --- | --- | 
| kilograms、kilos、kgs、KGS | kg | 
| grams、gms、gm、GMS、g | g | 
| milligrams、mg、mgs | mg | 
| pounds、lbs、LBS | lbs | 
| ounces、oz、OZ | oz | 
| tonne、ton、t | t | 
| kiloton、kt | kt | 