LexModelsV2 / Client / create_slot_type

create_slot_type#

LexModelsV2.Client.create_slot_type(**kwargs)#

Creates a custom slot type

To create a custom slot type, specify a name for the slot type and a set of enumeration values, the values that a slot of this type can assume.

See also: AWS API Documentation

Request Syntax

response = client.create_slot_type(
    slotTypeName='string',
    description='string',
    slotTypeValues=[
        {
            'sampleValue': {
                'value': 'string'
            },
            'synonyms': [
                {
                    'value': 'string'
                },
            ]
        },
    ],
    valueSelectionSetting={
        'resolutionStrategy': 'OriginalValue'|'TopResolution'|'Concatenation',
        'regexFilter': {
            'pattern': 'string'
        },
        'advancedRecognitionSetting': {
            'audioRecognitionStrategy': 'UseSlotValuesAsCustomVocabulary'
        }
    },
    parentSlotTypeSignature='string',
    botId='string',
    botVersion='string',
    localeId='string',
    externalSourceSetting={
        'grammarSlotTypeSetting': {
            'source': {
                's3BucketName': 'string',
                's3ObjectKey': 'string',
                'kmsKeyArn': 'string'
            }
        }
    },
    compositeSlotTypeSetting={
        'subSlots': [
            {
                'name': 'string',
                'slotTypeId': 'string'
            },
        ]
    }
)
Parameters:
  • slotTypeName (string) –

    [REQUIRED]

    The name for the slot. A slot type name must be unique within the intent.

  • description (string) – A description of the slot type. Use the description to help identify the slot type in lists.

  • slotTypeValues (list) –

    A list of SlotTypeValue objects that defines the values that the slot type can take. Each value can have a list of synonyms, additional values that help train the machine learning model about the values that it resolves for a slot.

    • (dict) –

      Each slot type can have a set of values. Each SlotTypeValue represents a value that the slot type can take.

      • sampleValue (dict) –

        The value of the slot type entry.

        • value (string) – [REQUIRED]

          The value that can be used for a slot type.

      • synonyms (list) –

        Additional values related to the slot type entry.

        • (dict) –

          Defines one of the values for a slot type.

          • value (string) – [REQUIRED]

            The value that can be used for a slot type.

  • valueSelectionSetting (dict) –

    Determines the strategy that Amazon Lex uses to select a value from the list of possible values. The field can be set to one of the following values:

    • ORIGINAL_VALUE - Returns the value entered by the user, if the user value is similar to the slot value.

    • TOP_RESOLUTION - If there is a resolution list for the slot, return the first value in the resolution list. If there is no resolution list, return null.

    If you don’t specify the valueSelectionSetting parameter, the default is ORIGINAL_VALUE.

    • resolutionStrategy (string) – [REQUIRED]

      Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The field can be set to one of the following values:

      • ORIGINAL_VALUE - Returns the value entered by the user, if the user value is similar to the slot value.

      • TOP_RESOLUTION - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned.

      If you don’t specify the valueSelectionStrategy, the default is ORIGINAL_VALUE.

    • regexFilter (dict) –

      A regular expression used to validate the value of a slot.

      • pattern (string) – [REQUIRED]

        A regular expression used to validate the value of a slot.

        Use a standard regular expression. Amazon Lex supports the following characters in the regular expression:

        • A-Z, a-z

        • 0-9

        • Unicode characters (”⁠u<Unicode>”)

        Represent Unicode characters with four digits, for example “⁠u0041” or “⁠u005A”.

        The following regular expression operators are not supported:

        • Infinite repeaters: *, +, or {x,} with no upper bound.

        • Wild card (.)

    • advancedRecognitionSetting (dict) –

      Provides settings that enable advanced recognition settings for slot values. You can use this to enable using slot values as a custom vocabulary for recognizing user utterances.

      • audioRecognitionStrategy (string) –

        Enables using the slot values as a custom vocabulary for recognizing user utterances.

  • parentSlotTypeSignature (string) –

    The built-in slot type used as a parent of this slot type. When you define a parent slot type, the new slot type has the configuration of the parent slot type.

    Only AMAZON.AlphaNumeric is supported.

  • botId (string) –

    [REQUIRED]

    The identifier of the bot associated with this slot type.

  • botVersion (string) –

    [REQUIRED]

    The identifier of the bot version associated with this slot type.

  • localeId (string) –

    [REQUIRED]

    The identifier of the language and locale that the slot type will be used in. The string must match one of the supported locales. All of the bots, intents, and slots used by the slot type must have the same locale. For more information, see Supported languages.

  • externalSourceSetting (dict) –

    Sets the type of external information used to create the slot type.

    • grammarSlotTypeSetting (dict) –

      Settings required for a slot type based on a grammar that you provide.

      • source (dict) –

        The source of the grammar used to create the slot type.

        • s3BucketName (string) – [REQUIRED]

          The name of the Amazon S3 bucket that contains the grammar source.

        • s3ObjectKey (string) – [REQUIRED]

          The path to the grammar in the Amazon S3 bucket.

        • kmsKeyArn (string) –

          The KMS key required to decrypt the contents of the grammar, if any.

  • compositeSlotTypeSetting (dict) –

    Specifications for a composite slot type.

    • subSlots (list) –

      Subslots in the composite slot.

      • (dict) –

        Subslot type composition.

        • name (string) – [REQUIRED]

          Name of a constituent sub slot inside a composite slot.

        • slotTypeId (string) – [REQUIRED]

          The unique identifier assigned to a slot type. This refers to either a built-in slot type or the unique slotTypeId of a custom slot type.

Return type:

dict

Returns:

Response Syntax

{
    'slotTypeId': 'string',
    'slotTypeName': 'string',
    'description': 'string',
    'slotTypeValues': [
        {
            'sampleValue': {
                'value': 'string'
            },
            'synonyms': [
                {
                    'value': 'string'
                },
            ]
        },
    ],
    'valueSelectionSetting': {
        'resolutionStrategy': 'OriginalValue'|'TopResolution'|'Concatenation',
        'regexFilter': {
            'pattern': 'string'
        },
        'advancedRecognitionSetting': {
            'audioRecognitionStrategy': 'UseSlotValuesAsCustomVocabulary'
        }
    },
    'parentSlotTypeSignature': 'string',
    'botId': 'string',
    'botVersion': 'string',
    'localeId': 'string',
    'creationDateTime': datetime(2015, 1, 1),
    'externalSourceSetting': {
        'grammarSlotTypeSetting': {
            'source': {
                's3BucketName': 'string',
                's3ObjectKey': 'string',
                'kmsKeyArn': 'string'
            }
        }
    },
    'compositeSlotTypeSetting': {
        'subSlots': [
            {
                'name': 'string',
                'slotTypeId': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) –

    • slotTypeId (string) –

      The unique identifier assigned to the slot type. Use this to identify the slot type in the UpdateSlotType and DeleteSlotType operations.

    • slotTypeName (string) –

      The name specified for the slot type.

    • description (string) –

      The description specified for the slot type.

    • slotTypeValues (list) –

      The list of values that the slot type can assume.

      • (dict) –

        Each slot type can have a set of values. Each SlotTypeValue represents a value that the slot type can take.

        • sampleValue (dict) –

          The value of the slot type entry.

          • value (string) –

            The value that can be used for a slot type.

        • synonyms (list) –

          Additional values related to the slot type entry.

          • (dict) –

            Defines one of the values for a slot type.

            • value (string) –

              The value that can be used for a slot type.

    • valueSelectionSetting (dict) –

      The strategy that Amazon Lex uses to select a value from the list of possible values.

      • resolutionStrategy (string) –

        Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The field can be set to one of the following values:

        • ORIGINAL_VALUE - Returns the value entered by the user, if the user value is similar to the slot value.

        • TOP_RESOLUTION - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned.

        If you don’t specify the valueSelectionStrategy, the default is ORIGINAL_VALUE.

      • regexFilter (dict) –

        A regular expression used to validate the value of a slot.

        • pattern (string) –

          A regular expression used to validate the value of a slot.

          Use a standard regular expression. Amazon Lex supports the following characters in the regular expression:

          • A-Z, a-z

          • 0-9

          • Unicode characters (”⁠u<Unicode>”)

          Represent Unicode characters with four digits, for example “⁠u0041” or “⁠u005A”.

          The following regular expression operators are not supported:

          • Infinite repeaters: *, +, or {x,} with no upper bound.

          • Wild card (.)

      • advancedRecognitionSetting (dict) –

        Provides settings that enable advanced recognition settings for slot values. You can use this to enable using slot values as a custom vocabulary for recognizing user utterances.

        • audioRecognitionStrategy (string) –

          Enables using the slot values as a custom vocabulary for recognizing user utterances.

    • parentSlotTypeSignature (string) –

      The signature of the base slot type specified for the slot type.

    • botId (string) –

      The identifier for the bot associated with the slot type.

    • botVersion (string) –

      The version of the bot associated with the slot type.

    • localeId (string) –

      The specified language and local specified for the slot type.

    • creationDateTime (datetime) –

      A timestamp of the date and time that the slot type was created.

    • externalSourceSetting (dict) –

      The type of external information used to create the slot type.

      • grammarSlotTypeSetting (dict) –

        Settings required for a slot type based on a grammar that you provide.

        • source (dict) –

          The source of the grammar used to create the slot type.

          • s3BucketName (string) –

            The name of the Amazon S3 bucket that contains the grammar source.

          • s3ObjectKey (string) –

            The path to the grammar in the Amazon S3 bucket.

          • kmsKeyArn (string) –

            The KMS key required to decrypt the contents of the grammar, if any.

    • compositeSlotTypeSetting (dict) –

      Specifications for a composite slot type.

      • subSlots (list) –

        Subslots in the composite slot.

        • (dict) –

          Subslot type composition.

          • name (string) –

            Name of a constituent sub slot inside a composite slot.

          • slotTypeId (string) –

            The unique identifier assigned to a slot type. This refers to either a built-in slot type or the unique slotTypeId of a custom slot type.

Exceptions

  • LexModelsV2.Client.exceptions.ThrottlingException

  • LexModelsV2.Client.exceptions.ServiceQuotaExceededException

  • LexModelsV2.Client.exceptions.ValidationException

  • LexModelsV2.Client.exceptions.PreconditionFailedException

  • LexModelsV2.Client.exceptions.ConflictException

  • LexModelsV2.Client.exceptions.InternalServerException