Amazon Comprehend

2019/07/18 - Amazon Comprehend - 2 updated api methods

Changes  Amazon Comprehend now supports multiple entities for custom entity recognition

DescribeEntityRecognizer (updated) Link ¶
Changes (response)
{'EntityRecognizerProperties': {'RecognizerMetadata': {'EntityTypes': {'EvaluationMetrics': {'F1Score': 'double',
                                                                                             'Precision': 'double',
                                                                                             'Recall': 'double'},
                                                                       'NumberOfTrainMentions': 'integer'}}}}

Provides details about an entity recognizer including status, S3 buckets containing training data, recognizer metadata, metrics, and so on.

See also: AWS API Documentation

Request Syntax

client.describe_entity_recognizer(
    EntityRecognizerArn='string'
)
type EntityRecognizerArn

string

param EntityRecognizerArn

[REQUIRED]

The Amazon Resource Name (ARN) that identifies the entity recognizer.

rtype

dict

returns

Response Syntax

{
    'EntityRecognizerProperties': {
        'EntityRecognizerArn': 'string',
        'LanguageCode': 'en'|'es'|'fr'|'de'|'it'|'pt',
        'Status': 'SUBMITTED'|'TRAINING'|'DELETING'|'STOP_REQUESTED'|'STOPPED'|'IN_ERROR'|'TRAINED',
        'Message': 'string',
        'SubmitTime': datetime(2015, 1, 1),
        'EndTime': datetime(2015, 1, 1),
        'TrainingStartTime': datetime(2015, 1, 1),
        'TrainingEndTime': datetime(2015, 1, 1),
        'InputDataConfig': {
            'EntityTypes': [
                {
                    'Type': 'string'
                },
            ],
            'Documents': {
                'S3Uri': 'string'
            },
            'Annotations': {
                'S3Uri': 'string'
            },
            'EntityList': {
                'S3Uri': 'string'
            }
        },
        'RecognizerMetadata': {
            'NumberOfTrainedDocuments': 123,
            'NumberOfTestDocuments': 123,
            'EvaluationMetrics': {
                'Precision': 123.0,
                'Recall': 123.0,
                'F1Score': 123.0
            },
            'EntityTypes': [
                {
                    'Type': 'string',
                    'EvaluationMetrics': {
                        'Precision': 123.0,
                        'Recall': 123.0,
                        'F1Score': 123.0
                    },
                    'NumberOfTrainMentions': 123
                },
            ]
        },
        'DataAccessRoleArn': 'string',
        'VolumeKmsKeyId': 'string',
        'VpcConfig': {
            'SecurityGroupIds': [
                'string',
            ],
            'Subnets': [
                'string',
            ]
        }
    }
}

Response Structure

  • (dict) --

    • EntityRecognizerProperties (dict) --

      Describes information associated with an entity recognizer.

      • EntityRecognizerArn (string) --

        The Amazon Resource Name (ARN) that identifies the entity recognizer.

      • LanguageCode (string) --

        The language of the input documents. All documents must be in the same language. Only English ("en") is currently supported.

      • Status (string) --

        Provides the status of the entity recognizer.

      • Message (string) --

        A description of the status of the recognizer.

      • SubmitTime (datetime) --

        The time that the recognizer was submitted for processing.

      • EndTime (datetime) --

        The time that the recognizer creation completed.

      • TrainingStartTime (datetime) --

        The time that training of the entity recognizer started.

      • TrainingEndTime (datetime) --

        The time that training of the entity recognizer was completed.

      • InputDataConfig (dict) --

        The input data properties of an entity recognizer.

        • EntityTypes (list) --

          The entity types in the input data for an entity recognizer. A maximum of 12 entity types can be used at one time to train an entity recognizer.

          • (dict) --

            Information about an individual item on a list of entity types.

            • Type (string) --

              Entity type of an item on an entity type list.

        • Documents (dict) --

          S3 location of the documents folder for an entity recognizer

          • S3Uri (string) --

            Specifies the Amazon S3 location where the training documents for an entity recognizer are located. The URI must be in the same region as the API endpoint that you are calling.

        • Annotations (dict) --

          S3 location of the annotations file for an entity recognizer.

          • S3Uri (string) --

            Specifies the Amazon S3 location where the annotations for an entity recognizer are located. The URI must be in the same region as the API endpoint that you are calling.

        • EntityList (dict) --

          S3 location of the entity list for an entity recognizer.

          • S3Uri (string) --

            Specifies the Amazon S3 location where the entity list is located. The URI must be in the same region as the API endpoint that you are calling.

      • RecognizerMetadata (dict) --

        Provides information about an entity recognizer.

        • NumberOfTrainedDocuments (integer) --

          The number of documents in the input data that were used to train the entity recognizer. Typically this is 80 to 90 percent of the input documents.

        • NumberOfTestDocuments (integer) --

          The number of documents in the input data that were used to test the entity recognizer. Typically this is 10 to 20 percent of the input documents.

        • EvaluationMetrics (dict) --

          Detailed information about the accuracy of an entity recognizer.

          • Precision (float) --

            A measure of the usefulness of the recognizer results in the test data. High precision means that the recognizer returned substantially more relevant results than irrelevant ones.

          • Recall (float) --

            A measure of how complete the recognizer results are for the test data. High recall means that the recognizer returned most of the relevant results.

          • F1Score (float) --

            A measure of how accurate the recognizer results are for the test data. It is derived from the Precision and Recall values. The F1Score is the harmonic average of the two scores. The highest score is 1, and the worst score is 0.

        • EntityTypes (list) --

          Entity types from the metadata of an entity recognizer.

          • (dict) --

            Individual item from the list of entity types in the metadata of an entity recognizer.

            • Type (string) --

              Type of entity from the list of entity types in the metadata of an entity recognizer.

            • EvaluationMetrics (dict) --

              Detailed information about the accuracy of the entity recognizer for a specific item on the list of entity types.

              • Precision (float) --

                A measure of the usefulness of the recognizer results for a specific entity type in the test data. High precision means that the recognizer returned substantially more relevant results than irrelevant ones.

              • Recall (float) --

                A measure of how complete the recognizer results are for a specific entity type in the test data. High recall means that the recognizer returned most of the relevant results.

              • F1Score (float) --

                A measure of how accurate the recognizer results are for for a specific entity type in the test data. It is derived from the Precision and Recall values. The F1Score is the harmonic average of the two scores. The highest score is 1, and the worst score is 0.

            • NumberOfTrainMentions (integer) --

              indicates the number of times the given entity name was seen in the training data.

      • DataAccessRoleArn (string) --

        The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

      • VolumeKmsKeyId (string) --

        ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

        • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

        • Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

      • VpcConfig (dict) --

        Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom entity recognizer. For more information, see Amazon VPC.

        • SecurityGroupIds (list) --

          The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you’ll be accessing on the VPC. This ID number is preceded by "sg-", for instance: "sg-03b388029b0a285ea". For more information, see Security Groups for your VPC.

          • (string) --

        • Subnets (list) --

          The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC’s region. This ID number is preceded by "subnet-", for instance: "subnet-04ccf456919e69055". For more information, see VPCs and Subnets.

          • (string) --

ListEntityRecognizers (updated) Link ¶
Changes (response)
{'EntityRecognizerPropertiesList': {'RecognizerMetadata': {'EntityTypes': {'EvaluationMetrics': {'F1Score': 'double',
                                                                                                 'Precision': 'double',
                                                                                                 'Recall': 'double'},
                                                                           'NumberOfTrainMentions': 'integer'}}}}

Gets a list of the properties of all entity recognizers that you created, including recognizers currently in training. Allows you to filter the list of recognizers based on criteria such as status and submission time. This call returns up to 500 entity recognizers in the list, with a default number of 100 recognizers in the list.

The results of this list are not in any particular order. Please get the list and sort locally if needed.

See also: AWS API Documentation

Request Syntax

client.list_entity_recognizers(
    Filter={
        'Status': 'SUBMITTED'|'TRAINING'|'DELETING'|'STOP_REQUESTED'|'STOPPED'|'IN_ERROR'|'TRAINED',
        'SubmitTimeBefore': datetime(2015, 1, 1),
        'SubmitTimeAfter': datetime(2015, 1, 1)
    },
    NextToken='string',
    MaxResults=123
)
type Filter

dict

param Filter

Filters the list of entities returned. You can filter on Status , SubmitTimeBefore , or SubmitTimeAfter . You can only set one filter at a time.

  • Status (string) --

    The status of an entity recognizer.

  • SubmitTimeBefore (datetime) --

    Filters the list of entities based on the time that the list was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in descending order, newest to oldest.

  • SubmitTimeAfter (datetime) --

    Filters the list of entities based on the time that the list was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in ascending order, oldest to newest.

type NextToken

string

param NextToken

Identifies the next page of results to return.

type MaxResults

integer

param MaxResults

The maximum number of results to return on each page. The default is 100.

rtype

dict

returns

Response Syntax

{
    'EntityRecognizerPropertiesList': [
        {
            'EntityRecognizerArn': 'string',
            'LanguageCode': 'en'|'es'|'fr'|'de'|'it'|'pt',
            'Status': 'SUBMITTED'|'TRAINING'|'DELETING'|'STOP_REQUESTED'|'STOPPED'|'IN_ERROR'|'TRAINED',
            'Message': 'string',
            'SubmitTime': datetime(2015, 1, 1),
            'EndTime': datetime(2015, 1, 1),
            'TrainingStartTime': datetime(2015, 1, 1),
            'TrainingEndTime': datetime(2015, 1, 1),
            'InputDataConfig': {
                'EntityTypes': [
                    {
                        'Type': 'string'
                    },
                ],
                'Documents': {
                    'S3Uri': 'string'
                },
                'Annotations': {
                    'S3Uri': 'string'
                },
                'EntityList': {
                    'S3Uri': 'string'
                }
            },
            'RecognizerMetadata': {
                'NumberOfTrainedDocuments': 123,
                'NumberOfTestDocuments': 123,
                'EvaluationMetrics': {
                    'Precision': 123.0,
                    'Recall': 123.0,
                    'F1Score': 123.0
                },
                'EntityTypes': [
                    {
                        'Type': 'string',
                        'EvaluationMetrics': {
                            'Precision': 123.0,
                            'Recall': 123.0,
                            'F1Score': 123.0
                        },
                        'NumberOfTrainMentions': 123
                    },
                ]
            },
            'DataAccessRoleArn': 'string',
            'VolumeKmsKeyId': 'string',
            'VpcConfig': {
                'SecurityGroupIds': [
                    'string',
                ],
                'Subnets': [
                    'string',
                ]
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • EntityRecognizerPropertiesList (list) --

      The list of properties of an entity recognizer.

      • (dict) --

        Describes information about an entity recognizer.

        • EntityRecognizerArn (string) --

          The Amazon Resource Name (ARN) that identifies the entity recognizer.

        • LanguageCode (string) --

          The language of the input documents. All documents must be in the same language. Only English ("en") is currently supported.

        • Status (string) --

          Provides the status of the entity recognizer.

        • Message (string) --

          A description of the status of the recognizer.

        • SubmitTime (datetime) --

          The time that the recognizer was submitted for processing.

        • EndTime (datetime) --

          The time that the recognizer creation completed.

        • TrainingStartTime (datetime) --

          The time that training of the entity recognizer started.

        • TrainingEndTime (datetime) --

          The time that training of the entity recognizer was completed.

        • InputDataConfig (dict) --

          The input data properties of an entity recognizer.

          • EntityTypes (list) --

            The entity types in the input data for an entity recognizer. A maximum of 12 entity types can be used at one time to train an entity recognizer.

            • (dict) --

              Information about an individual item on a list of entity types.

              • Type (string) --

                Entity type of an item on an entity type list.

          • Documents (dict) --

            S3 location of the documents folder for an entity recognizer

            • S3Uri (string) --

              Specifies the Amazon S3 location where the training documents for an entity recognizer are located. The URI must be in the same region as the API endpoint that you are calling.

          • Annotations (dict) --

            S3 location of the annotations file for an entity recognizer.

            • S3Uri (string) --

              Specifies the Amazon S3 location where the annotations for an entity recognizer are located. The URI must be in the same region as the API endpoint that you are calling.

          • EntityList (dict) --

            S3 location of the entity list for an entity recognizer.

            • S3Uri (string) --

              Specifies the Amazon S3 location where the entity list is located. The URI must be in the same region as the API endpoint that you are calling.

        • RecognizerMetadata (dict) --

          Provides information about an entity recognizer.

          • NumberOfTrainedDocuments (integer) --

            The number of documents in the input data that were used to train the entity recognizer. Typically this is 80 to 90 percent of the input documents.

          • NumberOfTestDocuments (integer) --

            The number of documents in the input data that were used to test the entity recognizer. Typically this is 10 to 20 percent of the input documents.

          • EvaluationMetrics (dict) --

            Detailed information about the accuracy of an entity recognizer.

            • Precision (float) --

              A measure of the usefulness of the recognizer results in the test data. High precision means that the recognizer returned substantially more relevant results than irrelevant ones.

            • Recall (float) --

              A measure of how complete the recognizer results are for the test data. High recall means that the recognizer returned most of the relevant results.

            • F1Score (float) --

              A measure of how accurate the recognizer results are for the test data. It is derived from the Precision and Recall values. The F1Score is the harmonic average of the two scores. The highest score is 1, and the worst score is 0.

          • EntityTypes (list) --

            Entity types from the metadata of an entity recognizer.

            • (dict) --

              Individual item from the list of entity types in the metadata of an entity recognizer.

              • Type (string) --

                Type of entity from the list of entity types in the metadata of an entity recognizer.

              • EvaluationMetrics (dict) --

                Detailed information about the accuracy of the entity recognizer for a specific item on the list of entity types.

                • Precision (float) --

                  A measure of the usefulness of the recognizer results for a specific entity type in the test data. High precision means that the recognizer returned substantially more relevant results than irrelevant ones.

                • Recall (float) --

                  A measure of how complete the recognizer results are for a specific entity type in the test data. High recall means that the recognizer returned most of the relevant results.

                • F1Score (float) --

                  A measure of how accurate the recognizer results are for for a specific entity type in the test data. It is derived from the Precision and Recall values. The F1Score is the harmonic average of the two scores. The highest score is 1, and the worst score is 0.

              • NumberOfTrainMentions (integer) --

                indicates the number of times the given entity name was seen in the training data.

        • DataAccessRoleArn (string) --

          The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

        • VolumeKmsKeyId (string) --

          ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

          • KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"

          • Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

        • VpcConfig (dict) --

          Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom entity recognizer. For more information, see Amazon VPC.

          • SecurityGroupIds (list) --

            The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you’ll be accessing on the VPC. This ID number is preceded by "sg-", for instance: "sg-03b388029b0a285ea". For more information, see Security Groups for your VPC.

            • (string) --

          • Subnets (list) --

            The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC’s region. This ID number is preceded by "subnet-", for instance: "subnet-04ccf456919e69055". For more information, see VPCs and Subnets.

            • (string) --

    • NextToken (string) --

      Identifies the next page of results to return.