

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 iniciar un trabajo de detección de entidades personalizadas (API)
<a name="detecting-cer-async-api"></a>

Puede utilizar la API para iniciar y supervisar un trabajo de análisis asíncrono para el reconocimiento de entidades personalizado.

Para iniciar un trabajo de detección de entidades personalizado con la [StartEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartEntitiesDetectionJob.html)operación, debe proporcionar el EntityRecognizerArn, que es el nombre de recurso de Amazon (ARN) del modelo entrenado. Puede encontrar este ARN en la respuesta a la [CreateEntityRecognizer](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateEntityRecognizer.html)operación. 

**Topics**
+ [Detectar entidades personalizadas mediante el AWS Command Line Interface](#detecting-cer-async-api-cli)
+ [Detectar entidades personalizadas mediante el AWS SDK para Java](#detecting-cer-async-api-java)
+ [Detectar entidades personalizadas mediante el AWS SDK para Python (Boto3)](#detecting-cer-async-api-python)
+ [Anulación de las acciones de la API para los archivos PDF](#detecting-cer-api-pdf)

## Detectar entidades personalizadas mediante el AWS Command Line Interface
<a name="detecting-cer-async-api-cli"></a>

Utilice el ejemplo siguiente para entornos 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 (^). Para detectar entidades personalizadas en un conjunto de documentos, utilice la siguiente sintaxis de solicitud:

```
aws comprehend start-entities-detection-job \
     --entity-recognizer-arn "arn:aws:comprehend:{{region}}:{{account number}}:entity-recognizer/test-6" \
     --job-name infer-1 \
     --data-access-role-arn "arn:aws:iam::{{account number}}:role/service-role/AmazonComprehendServiceRole-role" \
     --language-code en \
     --input-data-config "S3Uri=s3://{{Bucket Name}}/{{Bucket Path}}" \
     --output-data-config "S3Uri=s3://{{Bucket Name}}/{{Bucket Path}}/" \
     --region {{region}}
```

Amazon Comprehend responde con `JobID` y `JobStatus` y devolverá la salida del trabajo en el bucket de S3 que especificó en la solicitud.

## Detectar entidades personalizadas mediante el AWS SDK para Java
<a name="detecting-cer-async-api-java"></a>

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).

## Detectar entidades personalizadas mediante el AWS SDK para Python (Boto3)
<a name="detecting-cer-async-api-python"></a>

En este ejemplo se crea un reconocedor de entidades personalizadas, se entrena el modelo y, a continuación, se ejecuta en una tarea de reconocimiento de entidades mediante el AWS SDK para Python (Boto3).

Crear una instancia del SDK para Python. 

```
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()
```

Espere a que el reconocedor de entidades alcance el estado 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)
```

Iniciar un trabajo de detección de entidades personalizadas: 

```
response = comprehend.start_entities_detection_job(
    EntityRecognizerArn=recognizer_arn,
    JobName="Detection-Job-Name-{}".format(str(uuid.uuid4())),
    LanguageCode="en",
    DataAccessRoleArn="{{Role ARN}}",
    InputDataConfig={
        "InputFormat": "ONE_DOC_PER_LINE",
        "S3Uri": "s3://{{Bucket Name}}/{{Bucket Path}}/documents"
    },
    OutputDataConfig={
        "S3Uri": "s3://{{Bucket Name}}/{{Bucket Path}}/output"
    }
)
```

## Anulación de las acciones de la API para los archivos PDF
<a name="detecting-cer-api-pdf"></a>

En el caso de los archivos de imagen y los archivos PDF, puede anular acciones de extracción predeterminadas usando el parámetro `DocumentReaderConfig` de `InputDataConfig`.

En el siguiente ejemplo, se define un archivo JSON denominado my InputDataConfig.json para establecer los `InputDataConfig` valores. Configura `DocumentReadConfig` para utilizar la API `DetectDocumentText` de Amazon Textract para todos los archivos PDF.

**Example**  

```
"InputDataConfig": {
  "S3Uri": s3://{{Bucket Name}}/{{Bucket Path}}",
  "InputFormat": "ONE_DOC_PER_FILE",
  "DocumentReaderConfig": {
      "DocumentReadAction": "TEXTRACT_DETECT_DOCUMENT_TEXT",
      "DocumentReadMode": "FORCE_DOCUMENT_READ_ACTION"
  }
}
```

En la `StartEntitiesDetectionJob` operación, especifique my InputDataConfig.json file como `InputDataConfig` parámetro:

```
  --input-data-config file://myInputDataConfig.json  
```

Para obtener más información acerca de los parámetros `DocumentReaderConfig`, consulte [Configuración de las opciones de extracción de texto](idp-set-textract-options.md).