

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Cómo entrenar reconocedores personalizados de entidades (API)
<a name="train-cer-model"></a>

Para crear y entrenar un modelo de reconocimiento de entidades personalizado, utilice la operación de la API Amazon Comprehend [CreateEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateEntityRecognizer.html)

**Topics**
+ [Capacite a los reconocedores de entidades personalizados mediante el AWS Command Line Interface](#get-started-api-cer-cli)
+ [Entrenar reconocedores de entidades personalizados mediante el AWS SDK para Java](#get-started-api-cer-java)
+ [Entrenamiento de los reconocedores de entidades personalizados mediante Python (Boto3)](#cer-python)

## Capacite a los reconocedores de entidades personalizados mediante el AWS Command Line Interface
<a name="get-started-api-cer-cli"></a>

Los siguientes ejemplos muestran el uso de la operación `CreateEntityRecognizer` y otras API asociadas con AWS CLI. 

Los ejemplos están preparados para Unix, Linux y macOS. Para Windows, sustituya la barra diagonal invertida (\\) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).

Cree un reconocedor de entidades personalizado mediante el comando de la CLI `create-entity-recognizer`. *Para obtener información sobre el parámetro input-data-config, consulte la referencia de la API de [CreateEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateEntityRecognizer.html)Amazon Comprehend.*

```
aws comprehend create-entity-recognizer \
     --language-code en \
     --recognizer-name test-6 \
     --data-access-role-arn "arn:aws:iam::{{account number}}:role/service-role/AmazonComprehendServiceRole-role" \
     --input-data-config "EntityTypes=[{Type=PERSON}],Documents={S3Uri=s3://{{Bucket Name}}/{{Bucket Path}}/documents},
                Annotations={S3Uri=s3://{{Bucket Name}}/{{Bucket Path}}/annotations}" \
     --region {{region}}
```

Enumere todos los reconocedores de entidades de una región mediante el comando de la CLI `list-entity-recognizers`.

```
aws comprehend list-entity-recognizers \
     --region {{region}}
```

Compruebe el estado del trabajo de los reconocedores personalizados de entidades mediante el comando de la CLI `describe-entity-recognizer`.

```
aws comprehend describe-entity-recognizer \
     --entity-recognizer-arn arn:aws:comprehend:{{region}}:{{account number}}:entity-recognizer/test-6 \
     --region {{region}}
```

## Entrenar reconocedores de entidades personalizados mediante el AWS SDK para Java
<a name="get-started-api-cer-java"></a>

En este ejemplo se crea un reconocedor personalizado de entidades y se entrena el modelo mediante Java

Para ver ejemplos de Amazon Comprehend que utilicen Java, consulte [Ejemplos de Java con Amazon Comprehend](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/comprehend).

## Entrenamiento de los reconocedores de entidades personalizados mediante Python (Boto3)
<a name="cer-python"></a>

Instanciar el SDK de Boto3: 

```
import boto3
import uuid
comprehend = boto3.client("comprehend", region_name="{{region}}")
```

Crear un reconocedor de entidades: 

```
response = comprehend.create_entity_recognizer(
    RecognizerName="Recognizer-Name-Goes-Here-{}".format(str(uuid.uuid4())),
    LanguageCode="en",
    DataAccessRoleArn="{{Role ARN}}",
    InputDataConfig={
        "EntityTypes": [
            {
                "Type": "{{ENTITY_TYPE}}"
            }
        ],
        "Documents": {
            "S3Uri": "s3://{{Bucket Name}}/{{Bucket Path}}/documents"
        },
        "Annotations": {
            "S3Uri": "s3://{{Bucket Name}}/{{Bucket Path}}/annotations"
        }
    }
)
recognizer_arn = response["EntityRecognizerArn"]
```

Enumerar todos los reconocedores: 

```
response = comprehend.list_entity_recognizers()
```

Esperar a que el reconocedor de entidades alcance el estado TRAINED (ENTRENADO): 

```
while True:
    response = comprehend.describe_entity_recognizer(
        EntityRecognizerArn=recognizer_arn
    )

    status = response["EntityRecognizerProperties"]["Status"]
    if "IN_ERROR" == status:
        sys.exit(1)
    if "TRAINED" == status:
        break

    time.sleep(10)
```