

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用一个槽位中的多个值
<a name="multi-valued-slots"></a>

**注意**  
多值槽位仅适用于英语（美国）。

对于某些意图，您可能需要为单个槽位捕获多个值。例如，披萨订购机器人可能有以下言语的意图：

```
I want a pizza with {toppings}
```

此意图预期该 `{toppings}` 槽位包含客户想要加在所订购披萨上的一系列配料，例如“pepperoni and pineapple”（意大利辣香肠和菠萝）。

要将槽位配置为捕获多个值，请将槽位上的 `allowMultipleValues` 字段设置为 true。您可以使用控制台或使用[CreateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateSlot.html)或[UpdateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlot.html)操作来设置该字段。

您只能将具有自定义槽位类型的槽位标记为多值槽位。

对于多值插槽，Amazon Lex V2 会在响应[RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html)或[RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html)操作时返回插槽值列表。以下是机器人回答 “我想吃意大利辣香肠和菠萝披萨” 时返回的插槽信息。 OrderPizza 

```
    "slots": {
        "toppings": {
            "shape": "List",
            "value": {
                "interpretedValue": "pepperoni and pineapple",
                "originalValue": "pepperoni and pineapple",
                "resolvedValues": [
                    "pepperoni and pineapple"
                ]
            },
            "values": [
                {
                    "shape": "Scalar",
                    "value": {
                        "interpretedValue": "pepperoni",
                        "originalValue": "pepperoni",
                        "resolvedValues": [
                            "pepperoni"
                        ]
                    }
                },
                {
                    "shape": "Scalar",
                    "value:": {
                        "interpretedValue": "pineapple",
                        "originalValue": "pineapple",
                        "resolvedValues": [
                            "pineapple"
                        ]
                    }
                }
            ]
        }
    }
```

多值槽位始终返回一系列的值。当言语只包含一个值时，返回的值列表仅包含一个响应。

Amazon Lex V2 可识别由空格、逗号（,）和连词 “and” 分隔的多个值。多值槽位支持使用文本和语音输入。

您可以在提示中使用多个值的槽位。例如，您可以将意图的确认提示设置为

```
Would you like me to order your {toppings} pizza?
```

当 Amazon Lex V2 将向用户发送提示时，将发送“Would you like me to order your pepperoni and pineapple pizza?”（是否需要为您预定意大利辣香肠和菠萝披萨？）

多值槽位支持单个默认值。如果提供了多个默认值，Amazon Lex V2 将仅使用第一个可用值来填充槽位。有关更多信息，请参阅 [在 Lex V2 机器人的意图中使用默认槽位值](context-mgmt-default.md)。

您可以使用槽位模糊处理来掩盖对话日志中多值槽位的值。当您对槽位值进行模糊处理时，每个槽位值将被替换为槽位的名称。有关更多信息，请参阅 [从 Lex V2 掩盖对话日志中的槽位值](monitoring-obfuscate.md)。