

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.

# Clasificación personalizada
<a name="how-document-classification"></a>

Utilice la *clasificación personalizada* para organizar los documentos en las categorías (clases) que usted defina. La clasificación personalizada es un proceso de dos pasos. En primer lugar, se entrena un modelo de clasificación personalizado (también denominado “clasificador”) para que reconozca las clases que le interesan. A continuación, utilice el modelo para clasificar cualquier número de conjuntos de documentos.

Por ejemplo, puede clasificar el contenido de las solicitudes de soporte para poder enviarlas al equipo de soporte adecuado. O bien, puede clasificar los correos electrónicos recibidos de los clientes para proporcionar orientación en función del tipo de solicitud del cliente. Puede combinar Amazon Comprehend con Amazon Transcribe para convertir la voz en texto y, a continuación, clasificar las solicitudes procedentes de las llamadas telefónicas de asistencia.

Puede ejecutar una clasificación personalizada en un único documento de forma sincrónica (en tiempo real) o iniciar un trabajo asíncrono para clasificar un conjunto de documentos. Puede tener varios clasificadores personalizados en su cuenta, cada uno entrenado con datos diferentes. La clasificación personalizada admite diversos tipos de documentos de entrada, como texto sin formato, PDF, Word e imágenes.

Al enviar un trabajo de clasificación, se elige el modelo de clasificador que se va a utilizar en función del tipo de documentos que se deben analizar. Por ejemplo, para analizar documentos de texto sin formato, obtendrá los resultados más precisos utilizando un modelo que haya entrenado con documentos de texto sin formato. Para analizar documentos semiestructurados (como PDF, Word, imágenes, documentos de Amazon Textract o archivos escaneados), obtendrá los resultados más precisos mediante un modelo que haya entrenado con documentos nativos.

**Topics**
+ [Preparación de los datos de entrenamiento del clasificador](prep-classifier-data.md)
+ [Modelos de clasificación de entrenamiento](training-classifier-model.md)
+ [Ejecución del análisis en tiempo real](running-class-sync.md)
+ [Ejecución de trabajos asíncronos](running-classifiers.md)

# Preparación de los datos de entrenamiento del clasificador
<a name="prep-classifier-data"></a>

Para una clasificación personalizada, se entrena el modelo en modo multiclase o en modo multietiqueta. El modo multiclase asocia una sola clase a cada documento. El modo multietiqueta asocia una o más clases a cada documento. Los formatos de archivo de entrada son diferentes para cada modo, por lo que debe elegir el modo que desea utilizar antes de crear los datos de entrenamiento. 

**nota**  
La consola Amazon Comprehend se refiere al modo multiclase como modo de etiqueta única.

La clasificación personalizada admite los modelos que se entrenan con documentos de texto sin formato y los modelos que se entrenan con documentos nativos (como PDF, Word o imágenes). Para obtener más información sobre los modelos de clasificadores y los tipos de documentos compatibles, consulte [Modelos de clasificación de entrenamiento](training-classifier-model.md).

Cómo preparar los datos para entrenar un modelo de clasificador personalizado: 

1. Identifique las clases que desea que analice este clasificador. Decida qué modo utilizar (multiclase o multietiqueta).

1. Decida el tipo de modelo de clasificador, en función de si el modelo es para analizar documentos de texto sin formato o documentos semiestructurados. 

1. Reúna ejemplos de documentos para cada una de las clases. Para conocer los requisitos mínimos del entrenamiento, consulte [Cuotas generales para la clasificación de documentos](guidelines-and-limits.md#limits-class-general).

1. Para un modelo de texto sin formato, elija el formato de archivo de entrenamiento que desee utilizar (archivo CSV o archivo de manifiesto aumentado). Para entrenar un modelo de documento nativo, siempre debe utilizar un archivo CSV. 

**Topics**
+ [Formatos de archivos de entrenamiento del clasificador](prep-class-data-format.md)
+ [Modo multiclase](prep-classifier-data-multi-class.md)
+ [Modo multietiqueta](prep-classifier-data-multi-label.md)

# Formatos de archivos de entrenamiento del clasificador
<a name="prep-class-data-format"></a>

Para un modelo de texto sin formato, puedes proporcionar los datos de entrenamiento del clasificador como un archivo CSV o como un archivo de manifiesto aumentado que crees con AI Ground SageMaker Truth. El archivo CSV o el archivo de manifiesto aumentado incluyen el texto de cada documento de entrenamiento y sus etiquetas asociadas.

En el caso de un modelo de documento nativo, los datos de entrenamiento del clasificador se proporcionan en un archivo CSV. El archivo CSV incluye el nombre de archivo de cada documento de entrenamiento y sus etiquetas asociadas. Debe incluir los documentos de entrenamiento en la carpeta de entrada de Amazon S3 para el trabajo de entrenamiento.

## Archivo CSV
<a name="prep-data-csv"></a>

Los datos de entrenamiento etiquetados se proporcionan como texto codificado en UTF-8 en un archivo CSV. No incluya una fila de encabezado. Agregar una fila de encabezado al archivo puede provocar errores en el tiempo de ejecución.

Para cada fila del archivo CSV, la primera columna contiene una o más etiquetas de clase. Una etiqueta de clase puede ser cualquier cadena UTF-8 válida. Recomendamos utilizar nombres de clase claros y donde no se superpongan en sus significados. El nombre puede incluir espacios en blanco y puede consistir en varias palabras conectadas por guiones bajos o guiones.

No deje ningún espacio antes o después de las comas que separan los valores de una fila. 

El contenido exacto del archivo CSV depende del modo de clasificación y del tipo de datos de entrenamiento. Para obtener más información, consulte las secciones en [Modo multiclase](prep-classifier-data-multi-class.md) y [Modo multietiqueta](prep-classifier-data-multi-label.md).

## Archivo de manifiesto aumentado
<a name="prep-data-annotations"></a>

Un archivo de manifiesto aumentado es un conjunto de datos etiquetado que se crea con SageMaker AI Ground Truth. Ground Truth es un servicio de etiquetado de datos que le ayuda a usted —o al personal que emplee— a crear conjuntos de datos de entrenamiento para modelos de machine learning. 

Para obtener más información sobre Ground Truth y los resultados que produce, consulte [Use SageMaker AI Ground Truth para etiquetar datos](https://docs.aws.amazon.com/sagemaker/latest/dg/sms.html) en la *Guía para desarrolladores de Amazon SageMaker AI*.

Los archivos de manifiesto aumentados están en formato de líneas JSON. En estos archivos, cada línea es un objeto JSON completo que contiene un documento de entrenamiento y sus etiquetas asociadas. El contenido exacto de cada línea depende del modo del clasificador. Para obtener más información, consulte las secciones en [Modo multiclase](prep-classifier-data-multi-class.md) y [Modo multietiqueta](prep-classifier-data-multi-label.md).

Cuando proporciona sus datos de entrenamiento a Amazon Comprehend, especifica uno o más nombres de atributos de etiqueta. El número de nombres de atributos que especifique depende de si el archivo de manifiesto aumentado es el resultado de un único trabajo de etiquetado o de un trabajo de etiquetado encadenado.

Si el archivo es el resultado de un único trabajo de etiquetado, especifique el nombre del atributo de etiqueta único del trabajo Ground Truth. 

Si el archivo es el resultado de un trabajo de etiquetado encadenado, especifique el nombre del atributo de etiqueta para uno o más trabajos de la cadena. Cada nombre de atributo de etiqueta proporciona las anotaciones de un trabajo individual. Puede especificar hasta cinco de estos atributos para los archivos de manifiesto aumentados procedentes de trabajos de etiquetado encadenados. 

Para obtener más información sobre los trabajos de etiquetado encadenado y ver ejemplos del resultado que producen, consulte [Chaining Labeling Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-reusing-data.html) en la Guía para desarrolladores de Amazon SageMaker AI.

# Modo multiclase
<a name="prep-classifier-data-multi-class"></a>

En el modo multiclase, la clasificación asigna una clase a cada documento. Las clases individuales se excluyen mutuamente. Por ejemplo, puede clasificar una película como comedia o ciencia ficción, pero no ambas. 

**nota**  
La consola Amazon Comprehend se refiere al modo multiclase como modo de etiqueta única.

**Topics**
+ [Modelos de texto sin formato](#prep-multi-class-plaintext)
+ [Modelos de documentos nativos](#prep-multi-class-structured)

## Modelos de texto sin formato
<a name="prep-multi-class-plaintext"></a>

Para entrenar un modelo de texto sin formato, puedes proporcionar datos de entrenamiento etiquetados como un archivo CSV o como un archivo de manifiesto aumentado de SageMaker AI Ground Truth.

### archivo CSV
<a name="prep-multi-class-plaintext-csv"></a>

Para obtener información general sobre el uso de archivos CSV para entrenar clasificadores, consulte [Archivo CSV](prep-class-data-format.md#prep-data-csv).

Proporcione los datos de entrenamiento en un archivo CSV de dos columnas. Para cada fila, la primera columna contiene el valor de la etiqueta de la clase. La segunda columna contiene un documento de texto de ejemplo para esa clase. Cada fila debe terminar con caracteres \$1n o \$1r\$1n.

El siguiente ejemplo muestra un archivo CSV que contiene tres documentos.

```
CLASS,Text of document 1
CLASS,Text of document 2
CLASS,Text of document 3
```

El siguiente ejemplo muestra una fila de un archivo CSV que entrena un clasificador personalizado para detectar si un mensaje de correo electrónico es correo no deseado:

```
SPAM,"Paulo, your $1000 award is waiting for you! Claim it while you still can at http://example.com."
```

### Archivo de manifiesto aumentado
<a name="prep-multi-class-plaintext-manifest"></a>

Para obtener información general sobre el uso de archivos de manifiesto aumentados para entrenar clasificadores, consulte [Archivo de manifiesto aumentado](prep-class-data-format.md#prep-data-annotations).

En el caso de los documentos de texto sin formato, cada línea del archivo de manifiesto aumentado es un objeto JSON completo que contiene un documento de entrenamiento, un nombre de clase único y otros metadatos de Ground Truth. El siguiente ejemplo es un archivo de manifiesto aumentado para entrenar un clasificador personalizado para que reconozca los mensajes de correo no deseado:

```
{"source":"Document 1 text", "MultiClassJob":0, "MultiClassJob-metadata":{"confidence":0.62, "job-name":"labeling-job/multiclassjob", "class-name":"not_spam", "human-annotated":"yes", "creation-date":"2020-05-21T17:36:45.814354", "type":"groundtruth/text-classification"}}
{"source":"Document 2 text", "MultiClassJob":1, "MultiClassJob-metadata":{"confidence":0.81, "job-name":"labeling-job/multiclassjob", "class-name":"spam", "human-annotated":"yes", "creation-date":"2020-05-21T17:37:51.970530", "type":"groundtruth/text-classification"}}
{"source":"Document 3 text", "MultiClassJob":1, "MultiClassJob-metadata":{"confidence":0.81, "job-name":"labeling-job/multiclassjob", "class-name":"spam", "human-annotated":"yes", "creation-date":"2020-05-21T17:37:51.970566", "type":"groundtruth/text-classification"}}
```

 El siguiente ejemplo muestra un objeto JSON del archivo de manifiesto aumentado, formateado para facilitar la lectura: 

```
{
   "source": "Paulo, your $1000 award is waiting for you! Claim it while you still can at http://example.com.",
   "MultiClassJob": 0,
   "MultiClassJob-metadata": {
       "confidence": 0.98,
       "job-name": "labeling-job/multiclassjob",
       "class-name": "spam",
       "human-annotated": "yes",
       "creation-date": "2020-05-21T17:36:45.814354",
       "type": "groundtruth/text-classification"
   }
}
```

En este ejemplo, el atributo `source` proporciona el texto del documento de entrenamiento y el atributo `MultiClassJob` asigna el índice de una clase de una lista de clasificación. El atributo `job-name` es el nombre que ha definido para el trabajo de etiquetado en Ground Truth. 

 Al iniciar el trabajo de entrenamiento sobre clasificadores en Amazon Comprehend, debe especificar el mismo nombre del trabajo de etiquetado. 

## Modelos de documentos nativos
<a name="prep-multi-class-structured"></a>

Un modelo de documento nativo es un modelo que se entrena con documentos nativos (como PDF, DOCX e imágenes). Los datos de entrenamiento se proporcionan como un archivo CSV.

### archivo CSV
<a name="prep-multi-class-structured-csv"></a>

Para obtener información general sobre el uso de archivos CSV para entrenar clasificadores, consulte [Archivo CSV](prep-class-data-format.md#prep-data-csv).

Proporcione los datos de entrenamiento en un archivo CSV de tres columnas. Para cada fila, la primera columna contiene el valor de la etiqueta de la clase. La segunda columna contiene el nombre de archivo de un documento de ejemplo para esta clase. La tercera columna contiene el número de página. El número de página es opcional si el documento de ejemplo es una imagen.

El siguiente ejemplo muestra un archivo CSV que hace referencia a tres documentos de entrada. 

```
CLASS,input-doc-1.pdf,3
CLASS,input-doc-2.docx,1
CLASS,input-doc-3.png
```

El siguiente ejemplo muestra una fila de un archivo CSV que entrena un clasificador personalizado para detectar si un mensaje de correo electrónico es correo no deseado. La página 2 del archivo PDF contiene el ejemplo de correo no deseado. 

```
SPAM,email-content-3.pdf,2
```

# Modo multietiqueta
<a name="prep-classifier-data-multi-label"></a>

En el modo multietiqueta, las clases individuales representan categorías diferentes que no se excluyen mutuamente. La clasificación multietiqueta asigna una o más clases a cada documento. Por ejemplo, puede clasificar una película como documental y otra como de ciencia ficción, acción y comedia. 

Para el entrenamiento, el modo multietiqueta admite hasta 1 millón de ejemplos que contienen hasta 100 clases únicas.

**Topics**
+ [Modelos de texto sin formato](#prep-multi-label-plaintext)
+ [Modelos de documentos nativos](#prep-multi-label-structured)

## Modelos de texto sin formato
<a name="prep-multi-label-plaintext"></a>

Para entrenar un modelo de texto sin formato, puedes proporcionar datos de entrenamiento etiquetados como un archivo CSV o como un archivo de manifiesto aumentado de SageMaker AI Ground Truth.

### archivo CSV
<a name="prep-multi-label-plaintext-csv"></a>

Para obtener información general sobre el uso de archivos CSV para entrenar clasificadores, consulte [Archivo CSV](prep-class-data-format.md#prep-data-csv).

Proporcione los datos de entrenamiento en un archivo CSV de dos columnas. Para cada fila, la primera columna contiene los valores de las etiquetas de clase y la segunda columna contiene un documento de texto de ejemplo para estas clases. Para introducir más de una clase en la primera columna, utilice un delimitador (como \$1) entre cada clase.

```
CLASS,Text of document 1
CLASS,Text of document 2
CLASS|CLASS|CLASS,Text of document 3
```

En el siguiente ejemplo, se muestra una fila de un archivo CSV que entrena un clasificador personalizado para detectar los géneros en los resúmenes de películas:

```
COMEDY|MYSTERY|SCIENCE_FICTION|TEEN,"A band of misfit teens become unlikely detectives when they discover troubling clues about their high school English teacher. Could the strange Mrs. Doe be an alien from outer space?"
```

El delimitador predeterminado entre los nombres de las clases es una barra vertical (\$1). Ahora bien, puede utilizar un carácter distinto como delimitador. El delimitador debe ser distinto de todos los caracteres de los nombres de las clases. Por ejemplo, si las clases son CLASS\$11, CLASS\$12 y CLASS\$13, el guion bajo (**\$1**) forma parte del nombre de la clase. Por lo tanto, no utilice un guion bajo como delimitador para separar los nombres de las clases.

### Archivo de manifiesto aumentado
<a name="prep-multi-label-plaintext-manifest"></a>

Para obtener información general sobre el uso de archivos de manifiesto aumentados para entrenar clasificadores, consulte [Archivo de manifiesto aumentado](prep-class-data-format.md#prep-data-annotations).

En el caso de los documentos de texto sin formato, cada línea del archivo de manifiesto aumentado es un objeto JSON completo. Contiene un documento de entrenamiento, nombres de clases y otros metadatos de Ground Truth. El siguiente ejemplo es un archivo de manifiesto aumentado para entrenar un clasificador personalizado para detectar géneros en los resúmenes de películas:

```
{"source":"Document 1 text", "MultiLabelJob":[0,4], "MultiLabelJob-metadata":{"job-name":"labeling-job/multilabeljob", "class-map":{"0":"action", "4":"drama"}, "human-annotated":"yes", "creation-date":"2020-05-21T19:02:21.521882", "confidence-map":{"0":0.66}, "type":"groundtruth/text-classification-multilabel"}}
{"source":"Document 2 text", "MultiLabelJob":[3,6], "MultiLabelJob-metadata":{"job-name":"labeling-job/multilabeljob", "class-map":{"3":"comedy", "6":"horror"}, "human-annotated":"yes", "creation-date":"2020-05-21T19:00:01.291202", "confidence-map":{"1":0.61,"0":0.61}, "type":"groundtruth/text-classification-multilabel"}}
{"source":"Document 3 text", "MultiLabelJob":[1], "MultiLabelJob-metadata":{"job-name":"labeling-job/multilabeljob", "class-map":{"1":"action"}, "human-annotated":"yes", "creation-date":"2020-05-21T18:58:51.662050", "confidence-map":{"1":0.68}, "type":"groundtruth/text-classification-multilabel"}}
```

 El siguiente ejemplo muestra un objeto JSON del archivo de manifiesto aumentado, formateado para facilitar la lectura: 

```
{
      "source": "A band of misfit teens become unlikely detectives when 
                   they discover troubling clues about their high school English teacher. 
                     Could the strange Mrs. Doe be an alien from outer space?",
      "MultiLabelJob": [
          3,
          8,
          10,
          11
      ],
      "MultiLabelJob-metadata": {
          "job-name": "labeling-job/multilabeljob",
          "class-map": {
              "3": "comedy",
              "8": "mystery",
              "10": "science_fiction",
              "11": "teen"
          },
          "human-annotated": "yes",
          "creation-date": "2020-05-21T19:00:01.291202",
          "confidence-map": {
              "3": 0.95,
              "8": 0.77,
              "10": 0.83,
              "11": 0.92
          },
          "type": "groundtruth/text-classification-multilabel"
      }
  }
```

En este ejemplo, el atributo `source` proporciona el texto del documento de entrenamiento y el atributo `MultiLabelJob` asigna los índices de varias clases de una lista de clasificación. El nombre del trabajo en los metadatos `MultiLabelJob` es el nombre que definió para el trabajo de etiquetado en Ground Truth. 

## Modelos de documentos nativos
<a name="prep-multi-label-structured"></a>

Un modelo de documento nativo es un modelo que se entrena con documentos nativos (como PDF, DOCX y archivos de imagen). Proporciona datos de entrenamiento etiquetados como un archivo CSV.

### archivo CSV
<a name="prep-multi-label-structured-csv"></a>

Para obtener información general sobre el uso de archivos CSV para entrenar clasificadores, consulte [Archivo CSV](prep-class-data-format.md#prep-data-csv).

Proporcione los datos de entrenamiento en un archivo CSV de tres columnas. Para cada fila, la primera columna contiene los valores de las etiquetas de clase. La segunda columna contiene el nombre de archivo de un documento de ejemplo para estas clases. La tercera columna contiene el número de página. El número de página es opcional si el documento de ejemplo es una imagen.

Para introducir más de una clase en la primera columna, utilice un delimitador (como \$1) entre cada clase.

```
CLASS,input-doc-1.pdf,3
CLASS,input-doc-2.docx,1
CLASS|CLASS|CLASS,input-doc-3.png,2
```

En el siguiente ejemplo, se muestra una fila de un archivo CSV que entrena un clasificador personalizado para detectar los géneros en los resúmenes de películas. La página 2 del archivo PDF contiene el ejemplo de una comedy/teen película.

```
COMEDY|TEEN,movie-summary-1.pdf,2
```

El delimitador predeterminado entre los nombres de las clases es una barra vertical (\$1). Ahora bien, puede utilizar un carácter distinto como delimitador. El delimitador debe ser distinto de todos los caracteres de los nombres de las clases. Por ejemplo, si las clases son CLASS\$11, CLASS\$12 y CLASS\$13, el guion bajo (**\$1**) forma parte del nombre de la clase. Por lo tanto, no utilice un guion bajo como delimitador para separar los nombres de las clases.

# Modelos de clasificación de entrenamiento
<a name="training-classifier-model"></a>

Para entrenar un modelo para una clasificación personalizada, debe definir las categorías y proporcionar documentos de ejemplo para entrenar el modelo personalizado. El modelo se entrena en modo multiclase o multietiqueta. El modo multiclase asocia una sola clase a cada documento. El modo multietiqueta asocia una o más clases a cada documento.

La clasificación personalizada admite dos tipos de modelos de clasificadores: modelos de texto sin formato y modelos de documentos nativos. Un modelo de texto sin formato clasifica los documentos en función de su contenido de texto. Un modelo de documento nativo también clasifica los documentos en función del contenido del texto. Un modelo de documento nativo también puede utilizar señales adicionales, como las del diseño del documento. Se entrena un modelo de documento nativo con documentos nativos para que el modelo aprenda la información de diseño. 

Los modelos de texto sin formato tienen las siguientes características: 
+ El modelo se entrena con documentos de texto codificados en UTF-8. 
+ Puede entrenar el modelo con documentos en uno de los siguientes idiomas: inglés, español, alemán, italiano, francés o portugués. 
+ Todos los documentos de entrenamiento de un clasificador determinado deben utilizar el mismo idioma. 
+ Los documentos de entrenamiento son texto sin formato, por lo que no hay cargos adicionales por la extracción del texto. 

Los modelos de documentos nativos tienen las siguientes características: 
+ El modelo se entrena con documentos semiestructurados que incluyen los siguientes tipos de documentos:
  + Documentos PDF digitales y escaneados.
  + Documentos Word (DOCX).
  + Imágenes: archivos JPG, archivos PNG y archivos TIFF de una sola página.
  + La API Textract genera archivos JSON.
+ El modelo se entrena con documentos redactados en inglés. 
+ Si sus documentos de entrenamiento incluyen archivos de documentos escaneados, incurrirá en cargos adicionales por la extracción del texto. Consulte la página de [precios de Amazon Comprehend](https://aws.amazon.com/comprehend/pricing) para obtener más información. 

Puede clasificar cualquiera de los tipos de documentos admitidos utilizando cualquier tipo de modelo. Sin embargo, para obtener resultados más precisos, se recomienda utilizar un modelo de texto sin formato para clasificar los documentos de texto sin formato y un modelo de documento nativo para clasificar los documentos semiestructurados.

**Topics**
+ [Cómo entrenar clasificadores personalizados (consola)](create-custom-classifier-console.md)
+ [Cómo entrenar clasificadores personalizados (API)](train-custom-classifier-api.md)
+ [Prueba de los datos de entrenamiento](testing-the-model.md)
+ [Resultado del entrenamiento del clasificador](train-classifier-output.md)
+ [Métricas de clasificadores personalizadas](cer-doc-class.md)

# Cómo entrenar clasificadores personalizados (consola)
<a name="create-custom-classifier-console"></a>

Puede crear y entrenar un clasificador personalizado mediante la consola y, a continuación, utilizar el clasificador personalizado para analizar los documentos.

Para entrenar un clasificador personalizado, necesita un conjunto de documentos de entrenamiento. Etiquete estos documentos con las categorías que desee que el clasificador de documentos reconozca. Para obtener información sobre cómo preparar los documentos de entrenamiento, consulte [Preparación de los datos de entrenamiento del clasificador](prep-classifier-data.md).



**Cómo crear y entrenar un modelo de clasificador de documentos**

1. Inicie sesión en la consola Amazon Comprehend Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/comprehend/](https://console.aws.amazon.com/comprehend/)

1. En el menú de la izquierda, seleccione **Personalización** y, a continuación, seleccione **Clasificación personalizada**.

1. Seleccione **Crear nuevo modelo**.

1. En **Configuración del modelo**, introduzca un nombre de modelo para el clasificador. El nombre debe ser único dentro de su cuenta y región actuales.

   (Opcional) Especifique un nombre de versión. El nombre debe ser único dentro de su cuenta y región actuales.

1. Seleccione el idioma de los documentos de entrenamiento. Para conocer los idiomas que admiten los clasificadores, consulte [Modelos de clasificación de entrenamiento](training-classifier-model.md). 

1. (Opcional) Si desea cifrar los datos del volumen de almacenamiento mientras Amazon Comprehend procesa su trabajo de entrenamiento, elija **Cifrado con clasificador**. A continuación, elija si desea utilizar una clave KMS asociada a su cuenta actual o una de otra cuenta.
   + Si utiliza una clave asociada a la cuenta actual, elija el ID de clave para el **ID de la clave KMS**.
   + Si utiliza una clave asociada a una cuenta diferente, introduzca el ARN del ID de clave que figura en el **ID de la clave KMS**.
**nota**  
Para obtener más información sobre la creación y el uso de claves KMS y sobre el cifrado asociado, consulte [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).

1. En **Especificaciones de datos**, elija el **Tipo de modelo de entrenamiento** que desee utilizar.
   + **Documentos de texto sin formato:** seleccione esta opción para crear un modelo de texto sin formato. Entrene el modelo con documentos de texto sin formato.
   + **Documentos nativos:** elija esta opción para crear un modelo de documento nativo. Entrene el modelo con documentos nativos (PDF, Word, imágenes). 

1. Elija el **formato de datos** de sus datos de entrenamiento. Para obtener información sobre el formato de datos, consulte [Formatos de archivos de entrenamiento del clasificador](prep-class-data-format.md).
   + **Archivo CSV:** elija esta opción si sus datos de entrenamiento utilizan el formato de archivo CSV.
   + **Manifiesto aumentado:** elija esta opción si ha utilizado Ground Truth para crear archivos de manifiesto aumentados para sus datos de entrenamiento. Este formato está disponible si ha elegido **documentos de texto sin formato** como tipo de modelo de entrenamiento.

1. Elija el **modo de clasificador** que desee utilizar.
   + **Modo de etiqueta única:** elija este modo si las categorías que va a asignar a los documentos se excluyen entre sí y si está entrenando al clasificador para que asigne una etiqueta a cada documento. En la API de Amazon Comprehend, el modo de etiqueta única se conoce como “modo multiclase”.
   + **Modo de etiquetas múltiples:** elija este modo si se pueden aplicar varias categorías a un documento al mismo tiempo y si está entrenando al clasificador para que asigne una o más etiquetas a cada documento. 

1. Si elige el **modo multietiqueta**, puede seleccionar el **delimitador** para las etiquetas. Utilice este carácter delimitador para separar las etiquetas cuando haya varias clases en un documento de entrenamiento. El delimitador predeterminado es el carácter de barra vertical.

1. (Opcional) Si ha elegido el **manifiesto aumentado** como formato de datos, puede introducir hasta cinco archivos de manifiesto aumentado. Cada archivo de manifiesto aumentado contiene un conjunto de datos de entrenamiento o un conjunto de datos de prueba. Debe proporcionar, al menos, un conjunto de datos de entrenamiento. Los conjuntos de datos de prueba son opcionales. Siga los pasos siguientes para configurar los archivos de manifiesto aumentados:

   1. En **Conjunto de datos de entrenamiento y prueba**, expanda el panel de **ubicación de entrada**.

   1. En **Tipo de conjunto de datos**, seleccione **Datos de entrenamiento** o **Datos de prueba**.

   1. Para la **ubicación S3 del archivo de manifiesto aumentado SageMaker AI Ground Truth**, introduce la ubicación del depósito de Amazon S3 que contiene el archivo de manifiesto o navega hasta él seleccionando **Browse S3**. El rol de IAM que utilice para obtener permisos de acceso al trabajo de entrenamiento debe tener permisos de lectura para el bucket de S3. 

   1. Para los **nombres de los atributos**, introduzca el nombre del atributo que contiene las anotaciones. Si el archivo contiene anotaciones de varios trabajos de etiquetado encadenados, añada un atributo para cada trabajo.

   1. Para agregar otra ubicación de entrada, elija **Añadir ubicación de entrada** y, a continuación, configure la siguiente ubicación.

1. (Opcional) Si ha elegido un **archivo CSV** como formato de datos, siga estos pasos para configurar el conjunto de datos de entrenamiento y el conjunto de datos de prueba opcional:

   1. En **Conjunto de datos de entrenamiento**, introduzca la ubicación del bucket de Amazon S3 que contiene el archivo CSV de datos de entrenamiento o diríjase a él seleccionando **Explorar S3**. El rol de IAM que utilice para obtener permisos de acceso al trabajo de entrenamiento debe tener permisos de lectura para el bucket de S3. 

      (Opcional) Si eligió **Documentos nativos** como tipo de modelo de entrenamiento, también proporcionará la URL de la carpeta Amazon S3 que contiene los archivos de ejemplo de entrenamiento.

   1. En **Probar conjunto de datos**, seleccione si va a proporcionar datos adicionales para que Amazon Comprehend pruebe el modelo entrenado.
      + **Autosplit**: Autosplit selecciona automáticamente el 10 % de los datos de entrenamiento a fin de reservarlos para usarlos como datos de prueba.
      + (Opcional) **Cliente provisto**: introduzca la URL del archivo CSV de datos de prueba en Amazon S3. También puede ir a su ubicación en Amazon S3 y elegir **Seleccionar carpeta**.

        (Opcional) Si eligió **Documentos nativos** como tipo de modelo de entrenamiento, también proporcionará la URL de la carpeta Amazon S3 que contiene los archivos de prueba.

1. (Opcional) En el **modo de lectura de documentos**, puede anular las acciones de extracción de texto predeterminadas. Esta opción no es necesaria para los modelos de texto sin formato, ya que se aplica a la extracción de texto de documentos escaneados. Para obtener más información, consulte [Configuración de las opciones de extracción de texto](idp-set-textract-options.md). 

1. (Opcional para los modelos de texto sin formato) En el caso de los **datos de salida**, introduzca la ubicación de un bucket de Amazon S3 para guardar los datos de salida del entrenamiento, como la matriz de confusión. Para obtener más información, consulte [Matriz de confusión](train-classifier-output.md#conf-matrix).

   (Opcional) Si decide cifrar el resultado de su trabajo de entrenamiento, elija **Cifrado**. A continuación, elija si desea utilizar una clave de KMS asociada a la cuenta actual o una de otra cuenta.
   + Si utiliza una clave asociada a la cuenta actual, seleccione el alias de clave para el **ID de la clave KMS**.
   + Si utiliza una clave asociada a una cuenta diferente, introduzca el ARN del alias o ID de la clave que figura en el **ID de la clave KMS**.

1. Para el **rol de IAM**, seleccione **Elegir un rol de IAM existente** y, a continuación, elija un rol de IAM existente que tenga permisos de lectura para el bucket de S3 y que contenga sus documentos de entrenamiento. La función debe tener una política de confianza que comience con `comprehend.amazonaws.com` para ser válida.

   Si aún no tiene un rol de IAM con estos permisos, elija **Crear un rol de IAM** para crear uno. Seleccione los permisos de acceso para conceder este rol y, a continuación, seleccione un sufijo de nombre para distinguir el rol de los roles de IAM de su cuenta.
**nota**  
En el caso de los documentos de entrada cifrados, el rol de IAM utilizada también debe tener permiso `kms:Decrypt`. Para obtener más información, consulte [Permisos necesarios para utilizar el cifrado KMS](security_iam_id-based-policy-examples.md#auth-kms-permissions).

1. (Opcional) Para lanzar sus recursos a Amazon Comprehend desde una VPC, introduzca el ID de VPC en **VPC** o elija el ID de la lista desplegable. 

   1. Seleccione la subred en **Subred(es)**. Después de seleccionar la primera subred, puede elegir otras adicionales.

   1. En **Grupo(s) de seguridad**, seleccione el grupo de seguridad que desea usar si especificó uno. Después de seleccionar el primer grupo de seguridad, puede elegir otros adicionales.
**nota**  
Cuando utiliza una VPC con su trabajo de clasificación, el `DataAccessRole` utilizado para las operaciones de crear e iniciar debe tener permisos para la VPC que accede a los documentos de entrada y al bucket de salida.

1. (Opcional) Para agregar una etiqueta al clasificador personalizado, ingrese un par clave-valor en **Etiquetas**. Elija **Añadir etiqueta**. **Para eliminar este par antes de crear el clasificador, seleccione Quitar etiqueta**. Para obtener más información, consulte [Etiquetado de los recursos](tagging.md).

1. Seleccione **Crear**.

La consola muestra la página **Clasificadores**. El nuevo clasificador aparece en la tabla y se muestra `Submitted` como su estado. Cuando el clasificador comienza a procesar los documentos de entrenamiento, el estado cambia a `Training`. Cuando un clasificador está listo para usarse, el estado cambia a `Trained` o a `Trained with warnings`. Si el estado es `TRAINED_WITH_WARNINGS`, revise la carpeta de archivos omitidos en [Resultado del entrenamiento del clasificador](train-classifier-output.md).

Si Amazon Comprehend detectó errores durante la creación o el entrenamiento, el estado cambia a `In error`. Puede elegir un trabajo de clasificador de la tabla para obtener más información sobre el clasificador, incluidos los mensajes de error.

![\[La lista de clasificadores personalizados.\]](http://docs.aws.amazon.com/es_es/comprehend/latest/dg/images/class-list.png)


# Cómo entrenar clasificadores personalizados (API)
<a name="train-custom-classifier-api"></a>

Para crear y entrenar un clasificador personalizado, usa la [CreateDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateDocumentClassifier.html)operación.

Puede supervisar el progreso de la solicitud mediante la [DescribeDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeDocumentClassifier.html)operación. Una vez que el campo `Status` pase a `TRAINED`, puede utilizar el clasificador para clasificar los documentos. Si el estado es `TRAINED_WITH_WARNINGS`, revise la carpeta de archivos omitidos en [Resultado del entrenamiento del clasificador](train-classifier-output.md) en la operación `CreateDocumentClassifier`.

**Topics**
+ [Entrenamiento de clasificación personalizada mediante el AWS Command Line Interface](#get-started-api-customclass-cli)
+ [Uso del AWS SDK para Java o SDK para Python](#get-started-api-customclass-java)

## Entrenamiento de clasificación personalizada mediante el AWS Command Line Interface
<a name="get-started-api-customclass-cli"></a>

Los siguientes ejemplos muestran cómo utilizar la `CreateDocumentClassifier` operación, la `DescribeDocumentClassificationJob` operación y otros clasificadores personalizados APIs con el AWS CLI. 

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

Cree un clasificador personalizado de texto sin formato con la operación `create-document-classifier`.

```
aws comprehend create-document-classifier \
     --region region \
     --document-classifier-name testDelete \
     --language-code en \
     --input-data-config S3Uri=s3://S3Bucket/docclass/file name \
     --data-access-role-arn arn:aws:iam::account number:role/testFlywheelDataAccess
```

Para crear un clasificador personalizado nativo, proporcione los siguientes parámetros adicionales en la solicitud `create-document-classifier`.

1. DocumentType: establezca el valor en SEMI\$1STRUCTURED\$1DOCUMENT.

1. Documentos: la ubicación S3 de los documentos de entrenamiento (y, opcionalmente, de los documentos de prueba).

1. OutputDataConfig: proporcione la ubicación en S3 para los documentos de salida (y una clave KMS opcional). 

1. DocumentReaderConfig: campo opcional para la configuración de extracción de texto.

```
aws comprehend create-document-classifier \
     --region region \
     --document-classifier-name testDelete \
     --language-code en \
     --input-data-config 
          S3Uri=s3://S3Bucket/docclass/file name \
           DocumentType \
             Documents  \
     --output-data-config S3Uri=s3://S3Bucket/docclass/file name \
     --data-access-role-arn arn:aws:iam::account number:role/testFlywheelDataAccess
```

Obtenga información sobre un clasificador personalizado con el clasificador de documentos ARN mediante la operación `DescribeDocumentClassifier`.

```
aws comprehend describe-document-classifier \
     --region region \
     --document-classifier-arn arn:aws:comprehend:region:account number:document-classifier/file name
```

Elimine un clasificador personalizado mediante la operación `DeleteDocumentClassifier`.

```
aws comprehend delete-document-classifier \
     --region region \
     --document-classifier-arn arn:aws:comprehend:region:account number:document-classifier/testDelete
```

Enumere todos los clasificadores personalizados de la cuenta mediante la operación `ListDocumentClassifiers`.

```
aws comprehend list-document-classifiers
     --region region
```

## Uso del AWS SDK para Java o SDK para Python
<a name="get-started-api-customclass-java"></a>

Para ver ejemplos del SDK sobre cómo crear y entrenar un clasificador personalizado, consulte [Úselo `CreateDocumentClassifier` con un AWS SDK o CLI](example_comprehend_CreateDocumentClassifier_section.md).

# Prueba de los datos de entrenamiento
<a name="testing-the-model"></a>

Tras entrenar el modelo, Amazon Comprehend prueba el modelo de clasificador personalizado. Si no proporciona un conjunto de datos de prueba, Amazon Comprehend entrena el modelo con el 90 % de los datos de entrenamiento. Reserva el 10 % de los datos de entrenamiento para usarlos en las pruebas. Si proporciona un conjunto de datos de prueba, los datos de la prueba deben incluir; al menos, un ejemplo para cada etiqueta única del conjunto de datos de entrenamiento. 

Probar el modelo le proporciona métricas que puede usar para estimar la precisión del modelo. La consola muestra las métricas en la sección **Rendimiento del clasificador** de la página **Detalles del clasificador** de la consola. También se devuelven en los `Metrics` campos devueltos por la [DescribeDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeDocumentClassifier.html)operación.

En el siguiente ejemplo de datos de entrenamiento, hay cinco etiquetas: DOCUMENTAL, DOCUMENTAL, CIENCIA\$1FICCIÓN, DOCUMENTAL y COMEDIA\$1ROMÁNTICA. Hay tres clases únicas: DOCUMENTAL, CIENCIA\$1FICCIÓN y COMEDIA\$1ROMÁNTICA. 


| Columna 1 | Columna 2 | 
| --- | --- | 
| DOCUMENTAL | texto del documento 1 | 
| DOCUMENTAL | texto del documento 2 | 
| CIENCIA\$1FICCIÓN | texto del documento 3 | 
| DOCUMENTAL | texto del documento 4 | 
| COMEDIA\$1ROMÁNTICA | texto del documento 5 | 

En el caso de la división automática (en la que Amazon Comprehend reserva el 10 % de los datos de entrenamiento para utilizarlos en las pruebas), si los datos de entrenamiento contienen ejemplos limitados de una etiqueta específica, es posible que el conjunto de datos de prueba no contenga ningún ejemplo de esa etiqueta. Por ejemplo, si el conjunto de datos de entrenamiento contiene 1000 instancias de la clase DOCUMENTAL, 900 instancias de CIENCIA\$1FICCIÓN y una sola instancia de la clase COMEDIA\$1ROMÁNTICA, el conjunto de datos de prueba puede contener 100 instancias de DOCUMENTAL y 90 de CIENCIA\$1FICCIÓN, pero no instancias de COMEDIA\$1ROMÁNTICA, ya que hay un solo ejemplo disponible. 

Al terminar de entrenar su modelo, las métricas de entrenamiento le proporcionarán información que podrá usar para decidir si el modelo es lo suficientemente preciso para sus necesidades. 

# Resultado del entrenamiento del clasificador
<a name="train-classifier-output"></a>

Una vez que Amazon Comprehend complete el entrenamiento del modelo de clasificador personalizado, crea los archivos de salida en la ubicación de salida de Amazon S3 que especificó en la solicitud de [CreateDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateDocumentClassifier.html)API o en la solicitud de consola equivalente.

Amazon Comprehend crea una matriz de confusión cuando entrena un modelo de texto sin formato o un modelo de documento nativo. Puede crear archivos de salida adicionales al entrenar un modelo de documento nativo.

**Topics**
+ [Matriz de confusión](#conf-matrix)
+ [Salidas adicionales para modelos de documentos nativos](#train-class-output-native)

## Matriz de confusión
<a name="conf-matrix"></a>

Cuando entrena un modelo de clasificador personalizado, Amazon Comprehend crea una matriz de confusión que proporciona métricas sobre el rendimiento del modelo durante el entrenamiento. Esta matriz muestra una matriz de etiquetas que el modelo predijo, en comparación con las etiquetas reales de los documentos. Amazon Comprehend utiliza una parte de los datos de entrenamiento para crear la matriz de confusión.

Una matriz de confusión proporciona una indicación de qué clases podrían utilizar más datos para mejorar el rendimiento del modelo. Una clase con una alta fracción de predicciones correctas tiene el mayor número de resultados a lo largo de la diagonal de la matriz. Si el número de la diagonal es un número inferior, la clase tiene una fracción menor de predicciones correctas. Puede agregar más ejemplos de entrenamiento para esta clase y volver a entrenar el modelo. Por ejemplo, si el 40 % de las muestras de la etiqueta A se clasifican como la etiqueta D, agregar más muestras para la etiqueta A y la etiqueta D mejora el rendimiento del clasificador.

Una vez que Amazon Comprehend haya creado el modelo de clasificador, la matriz de confusión estará disponible en el archivo `confusion_matrix.json` de la ubicación de salida de S3. 

El formato de la matriz de confusión varía en función de si ha entrenado el clasificador en el modo multiclase o en el modo multietiqueta.

**Topics**
+ [Matriz de confusión para el modo multiclase](#m-c-matrix)
+ [Matriz de confusión para el modo multietiqueta](#m-l-matrix)

### Matriz de confusión para el modo multiclase
<a name="m-c-matrix"></a>

En el modo multiclase, las clases individuales se excluyen mutuamente, por lo que la clasificación asigna una etiqueta a cada documento. Por ejemplo, un animal puede ser un perro o un gato, pero no ambos al mismo tiempo.

Considere el siguiente ejemplo de una matriz de confusión para un clasificador entrenado multiclase:

```
  A B X Y <-(predicted label)
A 1 2 0 4
B 0 3 0 1
X 0 0 1 0
Y 1 1 1 1
^
|
(actual label)
```

En este caso, el modelo predijo lo siguiente:
+ Una etiqueta “A” se predijo con precisión, dos etiquetas “A” se predijeron incorrectamente como etiquetas “B” y cuatro etiquetas “A” se predijeron incorrectamente como etiquetas “Y”.
+ Tres etiquetas “B” se predijeron con precisión y una etiqueta “B” se predijo incorrectamente como etiqueta “Y”.
+ Se predijo con precisión una “X”.
+ Una etiqueta “Y” se predijo con precisión, otra se predijo incorrectamente como etiqueta “A”, otra se predijo incorrectamente como etiqueta “B” y otra se predijo incorrectamente como etiqueta “X”.

La línea diagonal de la matriz (A:A, B:B, X:X e Y:Y) muestra las predicciones precisas. Los errores de predicción son los valores que se encuentran fuera de la diagonal. En este caso, la matriz muestra las siguientes tasas de error de predicción: 
+ Etiquetas A: 86 %
+ Etiquetas B: 25 %
+ Etiquetas X: 0 %
+ Etiquetas Y: 75 %

El clasificador devuelve la matriz de confusión como un archivo en formato JSON. El siguiente archivo JSON representa la matriz del ejemplo anterior.

```
{
 "type": "multi_class",
 "confusion_matrix": [
 [1, 2, 0,4],
 [0, 3, 0, 1],
 [0, 0, 1, 0],
 [1, 1, 1, 1]],
 "labels": ["A", "B", "X", "Y"],
 "all_labels": ["A", "B", "X", "Y"]
}
```

### Matriz de confusión para el modo multietiqueta
<a name="m-l-matrix"></a>

En el modo de multietiqueta, la clasificación puede asignar una o más clases a un documento. Considere el siguiente ejemplo de una matriz de confusión para un clasificador entrenado multiclase.

En este ejemplo, hay tres etiquetas posibles: `Comedy`, `Action` y `Drama`. La matriz de confusión multietiqueta crea una matriz de 2x2 para cada etiqueta.

```
Comedy                   Action                   Drama 
     No Yes                   No Yes                   No Yes   <-(predicted label)                                      
 No  2   1                No  1   1                No  3   0                                                         
Yes  0   2               Yes  2   1               Yes  1   1   
 ^                        ^                        ^
 |                        |                        |
 |-----------(was this label actually used)--------|
```

En este caso, el modelo devolvió lo siguiente para la etiqueta `Comedy`:
+ Dos casos en los que se predijo con precisión la presencia de una etiqueta `Comedy`. Verdadero positivo (VP) 
+ Dos casos en los que se predijo con precisión la ausencia de una etiqueta `Comedy`. Verdadero negativo (VN)
+ No hubo casos en los que se predijera incorrectamente la presencia de una etiqueta `Comedy`. Falso positivo (FP)
+ Un caso en el que se predijo incorrectamente que una etiqueta `Comedy` estaba ausente. Falso negativo (FN)

Al igual que en una matriz de confusión multiclase, la línea diagonal de cada matriz muestra las predicciones precisas.

En este caso, el modelo predijo las etiquetas `Comedy` con una precisión del 80 % de las veces (VP más VN) y las predijo incorrectamente el 20 % de las veces (FP más FN).



El clasificador devuelve la matriz de confusión como un archivo en formato JSON. El siguiente archivo JSON representa la matriz del ejemplo anterior.

```
{
"type": "multi_label",
"confusion_matrix": [
 [[2, 1],        
 [0, 2]],
 [[1, 1],        
 [2, 1]],      
 [[3, 0],        
 [1, 1]]
], 
"labels": ["Comedy", "Action", "Drama"]
"all_labels": ["Comedy", "Action", "Drama"]
}
```

## Salidas adicionales para modelos de documentos nativos
<a name="train-class-output-native"></a>

Amazon Comprehend puede crear archivos de salida adicionales cuando entrena un modelo de documento nativo.

### Salida de Amazon Textract
<a name="textract-output"></a>

Si Amazon Comprehend ha invocado Amazon APIs Textract para extraer texto de alguno de los documentos de formación, guarda los archivos de salida de Amazon Textract en la ubicación de salida de S3. Utiliza la siguiente estructura de directorios:
+ **Documentos de entrenamiento:** 

  `amazon-textract-output/train/<file_name>/<page_num>/textract_output.json` 
+ **Documentos de prueba:** 

  `amazon-textract-output/test/<file_name>/<page_num>/textract_output.json`

Amazon Comprehend rellena la carpeta de pruebas si proporcionó los documentos de prueba en la solicitud de API.

### Fallos de anotación de documentos
<a name="failed-files-output"></a>

 Si hay alguna anotación fallida, Amazon Comprehend crea los siguientes archivos en la ubicación de salida de Amazon S3 (en la carpeta **skipped\$1documents/**):
+ failed\$1annotations\$1train.jsonl

  El archivo existe si alguna anotación falló en los datos de entrenamiento.
+ failed\$1annotations\$1test.jsonl

  El archivo existe si la solicitud incluía datos de prueba y si alguna anotación falló en los datos de prueba.

Los archivos de anotaciones fallidas son archivos JSON con el siguiente formato:

```
{
     "File": "String", "Page": Number, "ErrorCode": "...", "ErrorMessage": "..."}
    {"File": "String", "Page": Number, "ErrorCode": "...", "ErrorMessage": "..."
  }
```

# Métricas de clasificadores personalizadas
<a name="cer-doc-class"></a>

Amazon Comprehend proporciona métricas para ayudarle a estimar el rendimiento de un clasificador personalizado. Amazon Comprehend calcula las métricas utilizando los datos de prueba del trabajo de entrenamiento del clasificador. El formato de matrículas de los vehículos de pasajeros suele ser de cinco a ocho dígitos y consta de letras mayúsculas y números. 

Utilice operaciones de API, por ejemplo, [DescribeDocumentClassifier](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeDocumentClassifier.html)para recuperar las métricas de un clasificador personalizado.

**nota**  
Consulte [Métricas: precisión, recuperación y FScore](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html) para comprender las métricas subyacentes de precisión, recuperación y puntuación F1. Estas métricas se definen a nivel de clase. Amazon Comprehend utiliza el promedio **macro** para combinar estas métricas en los conjuntos de pruebas P, R y F1, tal y como se explica a continuación.

**Topics**
+ [Métricas](#cer-doc-class-metrics)
+ [Mejora del rendimiento de su clasificador personalizado](#improving-metrics-doc)

## Métricas
<a name="cer-doc-class-metrics"></a>

Amazon Comprehend admite las siguientes métricas: 

**Topics**
+ [Exactitud](#class-accuracy-metric)
+ [Precisión (macroprecisión)](#class-macroprecision-metric)
+ [Recuperación (recuperación de macros)](#class-macrorecall-metric)
+ [Puntuación F1 (puntuación macro F1)](#class-macrof1score-metric)
+ [Pérdida de Hamming](#class-hammingloss-metric)
+ [Microprecisión](#class-microprecision-metric)
+ [Microrrecuperación](#class-microrecall-metric)
+ [Puntuación micro F1](#class-microf1score-metric)

Para ver las métricas de un clasificador, abra la página **Detalles del clasificador** en la consola.

![\[Métricas de clasificadores personalizadas\]](http://docs.aws.amazon.com/es_es/comprehend/latest/dg/images/classifierperformance.png)


### Exactitud
<a name="class-accuracy-metric"></a>

La precisión indica el porcentaje de etiquetas de los datos de prueba que el modelo predijo con precisión. Para calcular la precisión, divida el número de etiquetas previstas con precisión en los documentos de prueba por el número total de etiquetas de los documentos de prueba.

Por ejemplo


| Etiqueta real | Etiqueta prevista | Preciso/incorrecto | 
| --- | --- | --- | 
|  1  |  1  |  Preciso  | 
|  0  |  1  |  Incorrecto   | 
|  2  |  3  |  Incorrecto  | 
|  3  |  3  |  Preciso  | 
|  2  |  2.  |  Preciso  | 
|  1  |  1  |  Preciso  | 
|  3  |  3  | Preciso | 

La precisión consiste en el número de predicciones precisas dividido por el número total de muestras de ensayo = 5/7 = 0,714 o 71,4 %

### Precisión (macroprecisión)
<a name="class-macroprecision-metric"></a>

La precisión es una medida de la utilidad de los resultados del clasificador en los datos de la prueba. Se define como el número de documentos clasificados con precisión, dividido por el número total de clasificaciones de la clase. La alta precisión significa que el clasificador arrojó resultados significativamente más relevantes que los irrelevantes. 

La métrica `Precision` también se conoce como *macroprecisión*. 

El siguiente ejemplo muestra los resultados de precisión de un conjunto de pruebas.


| Etiqueta | Tamaño de muestra | Precisión de etiquetas | 
| --- | --- | --- | 
|  Etiqueta\$11  |  400  |  0.75  | 
|  Etiqueta\$12  |  300  |  0.80  | 
|  Etiqueta\$13  |  30000  |  0.90  | 
|  Etiqueta\$14  |  20  |  0.50  | 
|  Etiqueta\$15  |  10  |  0,40  | 

Por lo tanto, la métrica de precisión (macroprecisión) del modelo es:

```
Macro Precision = (0.75 + 0.80 + 0.90 + 0.50 + 0.40)/5 = 0.67
```

### Recuperación (recuperación de macros)
<a name="class-macrorecall-metric"></a>

Esto indica el porcentaje de categorías correctas del texto que el modelo puede predecir. Esta métrica se obtiene al promediar las puntuaciones de recuperación de todas las etiquetas disponibles. La recuperación es una medida del grado de completitud de los resultados del clasificador para los datos de la prueba. 

Una recuperación alta significa que el clasificador arrojó la mayoría de los resultados relevantes. 

La métrica `Recall` también se conoce como *recuperación de macros*.

En el siguiente ejemplo, se muestran los resultados de recuperación de un conjunto de pruebas.


| Etiqueta | Tamaño de muestra | Retiro de etiquetas | 
| --- | --- | --- | 
|  Etiqueta\$11  |  400  |  0,70  | 
|  Etiqueta\$12  |  300  |  0,70  | 
|  Etiqueta\$13  |  30000  |  0.98  | 
|  Etiqueta\$14  |  20  |  0,80  | 
|  Etiqueta\$15  |  10  |  0.10  | 

Por lo tanto, la métrica de recuperación (recuperación de macros) del modelo es:

```
Macro Recall = (0.70 + 0.70 + 0.98 + 0.80 + 0.10)/5 = 0.656
```

### Puntuación F1 (puntuación macro F1)
<a name="class-macrof1score-metric"></a>

La puntuación F1 se deriva de los valores `Precision` y `Recall`. Mide la precisión general del clasificador. La puntuación más alta es 1 y la más baja es 0. 

Amazon Comprehend calcula la *puntuación macro F1*. Es el promedio no ponderado de las puntuaciones de F1 de la etiqueta. Uso del siguiente conjunto de pruebas como ejemplo:


| Etiqueta | Tamaño de muestra | Etiqueta la puntuación de F1 | 
| --- | --- | --- | 
|  Etiqueta\$11  |  400  |  0.724  | 
|  Etiqueta\$12  |  300  |  0,824  | 
|  Etiqueta\$13  |  30000  |  0.94  | 
|  Etiqueta\$14  |  20  |  0.62  | 
|  Etiqueta\$15  |  10  |  0,16  | 

La puntuación F1 (puntuación macro F1) del modelo se calcula de la siguiente manera:

```
Macro F1 Score = (0.724 + 0.824 + 0.94 + 0.62 + 0.16)/5 = 0.6536
```

### Pérdida de Hamming
<a name="class-hammingloss-metric"></a>

Se trata de la fracción de etiquetas que se predice incorrectamente. También se considera la fracción de etiquetas incorrectas en comparación con el número total de etiquetas. Las puntuaciones más cercanas a cero son mejores.

### Microprecisión
<a name="class-microprecision-metric"></a>

Original: 

Similar a la métrica de precisión, excepto que la microprecisión se basa en la puntuación general de todas las puntuaciones de precisión sumadas.

### Microrrecuperación
<a name="class-microrecall-metric"></a>

Similar a la métrica de recuperación, excepto que la microrrecuperación se basa en la puntuación general de todas las puntuaciones de recuperación sumadas.

### Puntuación micro F1
<a name="class-microf1score-metric"></a>

La puntuación micro F1 es una combinación de las métricas de microprecisión y de microrrecuperación.

## Mejora del rendimiento de su clasificador personalizado
<a name="improving-metrics-doc"></a>

Las métricas proporcionan información sobre el rendimiento de su clasificador personalizado durante un trabajo de clasificación. Si las métricas son bajas, es posible que el modelo de clasificación no sea efectivo para su caso de uso. Dispone de varias opciones para mejorar el rendimiento del clasificador:

1. En sus datos de entrenamiento, proporcione ejemplos concretos que definan una separación clara de las categorías. Por ejemplo, proporcione documentos cuyo uso sea único words/sentences para representar la categoría. 

1. Agregue más datos para las etiquetas infrarrepresentadas en sus datos de entrenamiento.

1. Intente reducir el sesgo en las categorías. Si la etiqueta más grande de los datos contiene más de 10 veces la cantidad de documentos de la etiqueta más pequeña, intente aumentar el número de documentos de la etiqueta más pequeña. Asegúrese de reducir la relación de sesgo a un máximo de 10:1 entre las clases altamente representadas y las menos representadas. También puede intentar eliminar los documentos de entrada de las clases altamente representadas.

# Ejecución del análisis en tiempo real
<a name="running-class-sync"></a>

Después de entrenar un clasificador personalizado, puede clasificar los documentos mediante un análisis en tiempo real. El análisis en tiempo real toma un único documento como entrada y devuelve los resultados de forma sincrónica. La clasificación personalizada acepta una variedad de tipos de documentos como entradas para el análisis en tiempo real. Para obtener más información, consulte [Entradas para análisis personalizados en tiempo real](idp-inputs-sync.md).

Si planea analizar archivos de imagen o documentos PDF escaneados, su política de IAM debe conceder permisos para usar dos métodos de la API Amazon Textract DetectDocumentText ( AnalyzeDocumenty). Amazon Comprehend invoca estos métodos durante la extracción de texto. Para ver una política de ejemplo, consulte [Permisos necesarios para realizar acciones de análisis de documentos](security_iam_id-based-policy-examples.md#security-iam-based-policy-perform-cmp-actions).

Debe crear un punto de conexión para ejecutar el análisis en tiempo real mediante un modelo de clasificación personalizado. 

**Topics**
+ [Análisis en tiempo real para una clasificación personalizada (consola)](custom-sync.md)
+ [Análisis en tiempo real para una clasificación personalizada (API)](class-sync-api.md)
+ [Salidas para análisis en tiempo real](outputs-class-sync.md)

# Análisis en tiempo real para una clasificación personalizada (consola)
<a name="custom-sync"></a>

Puede utilizar la consola Amazon Comprehend para ejecutar análisis en tiempo real mediante un modelo de clasificación personalizado.

Usted crea un punto de conexión para ejecutar el análisis en tiempo real. Un punto de conexión incluye recursos gestionados que permiten que su modelo personalizado esté disponible para su inferencia en tiempo real.

Para obtener información sobre el aprovisionamiento, el rendimiento de los puntos de conexión y los costes asociados, consulte [Uso de puntos de conexión de Amazon Comprehend](using-endpoints.md).

**Topics**
+ [Creación de un punto de conexión para una clasificación personalizada](#create-endpoint)
+ [Ejecución de clasificación personalizada en tiempo real](#cc-real-time-analysis)

## Creación de un punto de conexión para una clasificación personalizada
<a name="create-endpoint"></a>

**Cómo crear un punto de conexión (consola)**

1. Inicie sesión en la consola Amazon Comprehend Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/comprehend/](https://console.aws.amazon.com/comprehend/)

1. En el menú de la izquierda, seleccione **Puntos de conexión** y haga clic sobre la opción **Crear un punto de conexión**. Se abre la pantalla **Crear un punto de conexión**.

1. Asigne un nombre al punto de conexión. El nombre debe ser único en la región y la cuenta actuales.

1. Elija un modelo personalizado al que desea asociar el punto de conexión recién creado. En el menú desplegable, puede buscar por nombre de modelo.
**nota**  
Debe crear un modelo antes de poder adjuntarle un punto de conexión. Si aún no tiene ningún modelo, consulte [Modelos de clasificación de entrenamiento](training-classifier-model.md).

1. (Opcional) Para agregar una etiqueta al punto de conexión, introduzca un par clave-valor en **Etiquetas** y elija **Agregar etiqueta**. Para eliminar este par antes de crear el punto de conexión, seleccione **Quitar etiqueta**

1. Introduzca el número de unidades de inferencia (IUs) que desee asignar al punto final. Cada unidad representa un rendimiento de 100 caracteres por segundo para un máximo de dos documentos por segundo. Para obtener más información acerca del rendimiento del punto de conexión, consulte [Uso de puntos de conexión de Amazon Comprehend](using-endpoints.md). 

1. (Opcional) Si va a crear un nuevo punto de conexión, tiene la opción de utilizar el estimador de IU. Según el rendimiento o la cantidad de caracteres que desee analizar por segundo, puede resultar difícil saber cuántas unidades de inferencia necesita. Este paso opcional puede ayudarle a determinar el número de IUs solicitudes. 

1. En el **Resumen de compras**, revise el coste estimado por hora, día y mes de los puntos de conexión. 

1. Seleccione la casilla de verificación si entiende que su cuenta acumula cargos por el punto de conexión desde el momento en que se inicia hasta que lo elimina.

1. Elija **Crear punto de conexión**

## Ejecución de clasificación personalizada en tiempo real
<a name="cc-real-time-analysis"></a>

Una vez creado un punto de conexión, puede ejecutar análisis en tiempo real con su modelo personalizado. Hay dos formas de ejecutar el análisis en tiempo real desde la consola. Puede introducir texto o cargar un archivo, tal como se muestra a continuación. 

**Cómo ejecutar un análisis en tiempo real mediante un modelo personalizado (consola)**

1. Inicie sesión en la consola Amazon Comprehend Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/comprehend/](https://console.aws.amazon.com/comprehend/)

1. En el menú de la izquierda, seleccione **Análisis en tiempo real**.

1. En **Tipo de entrada**, seleccione **Personalizado** para el **Tipo de análisis**. 

1. En **Tipo de modelo personalizado**, seleccione **Clasificación personalizada**. 

1. En **Punto de conexión**, elija el punto de conexión que desea usar. Este punto de conexión enlaza con un modelo personalizado específico. 

1. Para especificar los datos de entrada para el análisis, puede introducir texto o cargar un archivo.
   + Cómo introducir texto:

     1. Seleccione **Introducir texto**.

     1. Introduzca el texto que desea analizar. 
   + Cómo cargar un archivo:

     1. Seleccione **Cargar archivo** e introduzca el nombre del archivo que desee cargar.

     1. (Opcional) En **Acciones de lectura avanzadas**, usted puede anular las acciones predeterminadas para la extracción de texto. Para obtener más información, consulte [Configuración de las opciones de extracción de texto](idp-set-textract-options.md)

   Para obtener los mejores resultados, haga coincidir el tipo de entrada con el tipo de modelo del clasificador. La consola muestra un mensaje de advertencia si envía un documento nativo a un modelo de texto sin formato o un texto sin formato a un modelo de documento nativo. Para obtener más información, consulte [Modelos de clasificación de entrenamiento](training-classifier-model.md).

1. Seleccione **Analizar**. Amazon Comprehend analiza los datos de entrada mediante su modelo personalizado. Amazon Comprehend muestra las clases descubiertas; asimismo, muestra una evaluación de confianza para cada clase. 

# Análisis en tiempo real para una clasificación personalizada (API)
<a name="class-sync-api"></a>

Puede utilizar la API Amazon Comprehend para ejecutar clasificaciones en tiempo real con un modelo personalizado. En primer lugar, debe crear un punto de conexión para llevar a cabo el análisis en tiempo real. Tras crear el punto de conexión, ejecute la clasificación en tiempo real.

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

Para obtener información sobre el aprovisionamiento, el rendimiento de los puntos de conexión y los costes asociados, consulte [Uso de puntos de conexión de Amazon Comprehend](using-endpoints.md).

**Topics**
+ [Creación de un punto de conexión para una clasificación personalizada](#create-endpoint-api)
+ [Ejecución de clasificación personalizada en tiempo real](#cc-real-time-analysis-api)

## Creación de un punto de conexión para una clasificación personalizada
<a name="create-endpoint-api"></a>

El siguiente ejemplo muestra la operación [CreateEndpoint](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_CreateEndpoint.html)de la API con. AWS CLI

```
aws comprehend create-endpoint \
    --desired-inference-units number of inference units \
    --endpoint-name endpoint name \
    --model-arn arn:aws:comprehend:region:account-id:model/example \
    --tags Key=My1stTag,Value=Value1
```

Amazon Comprehend responde con lo siguiente:

```
{
   "EndpointArn": "Arn"
}
```

## Ejecución de clasificación personalizada en tiempo real
<a name="cc-real-time-analysis-api"></a>

Después de crear un punto final para su modelo de clasificación personalizado, utilice el punto final para ejecutar la operación de la [ClassifyDocument](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ClassifyDocument.html)API. Puede introducir texto utilizando el parámetro `text` o `bytes`. Introduzca los demás tipos de entrada mediante el parámetro `bytes`.

En el caso de los archivos de imagen y los archivos PDF, puede utilizar el parámetro `DocumentReaderConfig` para anular las acciones de extracción de texto predeterminadas. Para obtener más información, consulte [Configuración de las opciones de extracción de texto](idp-set-textract-options.md)

Para obtener los mejores resultados, haga coincidir el tipo de entrada con el tipo de modelo del clasificador. La respuesta de la API incluye un mensaje de advertencia si envía un documento nativo a un modelo de texto sin formato o un archivo de texto sin formato a un modelo de documento nativo. Para obtener más información, consulte [Modelos de clasificación de entrenamiento](training-classifier-model.md).

### Usando el AWS Command Line Interface
<a name="cc-real-time-analysis-api-cli"></a>

Los siguientes ejemplos muestran cómo utilizar el comando de la CLI *clasify-document*. 

#### Clasifique el texto utilizando el AWS CLI
<a name="cc-real-time-analysis-api-run-cli1"></a>

El siguiente ejemplo ejecuta la clasificación en tiempo real de un bloque de texto.

```
aws comprehend classify-document \
     --endpoint-arn arn:aws:comprehend:region:account-id:endpoint/endpoint name \
     --text 'From the Tuesday, April 16th, 1912 edition of The Guardian newspaper: The maiden voyage of the White Star liner Titanic, 
     the largest ship ever launched ended in disaster. The Titanic started her trip from Southampton for New York on Wednesday. Late 
     on Sunday night she struck an iceberg off the Grand Banks of Newfoundland. By wireless telegraphy she sent out signals of distress, 
     and several liners were near enough to catch and respond to the call.'
```

Amazon Comprehend responde con lo siguiente:

```
{
    "Classes": [ 
       { 
          "Name": "string",
          "Score": 0.9793661236763
       }
    ]
 }
```

#### Clasifique un documento semiestructurado mediante el AWS CLI
<a name="cc-real-time-analysis-api-run-cli2"></a>

Para analizar la clasificación personalizada de un archivo PDF, Word o imagen, ejecute el comando `classify-document` con el archivo de entrada en el parámetro `bytes`.

En el siguiente ejemplo, se utiliza una imagen como archivo de entrada. Utiliza la opción `fileb` para codificar en base 64 los bytes del archivo de imagen. Para obtener más información, consulte [Objetos binarios grandes](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-types.html#parameter-type-blob) en la Guía del AWS Command Line Interface usuario. 

En este ejemplo, también se incluye un archivo JSON denominado `config.json`, destinado a configurar las opciones de extracción de texto.

```
$ aws comprehend classify-document \
> --endpoint-arn arn \
> --language-code en \
> --bytes fileb://image1.jpg   \
> --document-reader-config file://config.json
```

El archivo **config.json** contiene la salida siguiente.

```
 {
    "DocumentReadMode": "FORCE_DOCUMENT_READ_ACTION",
    "DocumentReadAction": "TEXTRACT_DETECT_DOCUMENT_TEXT"    
 }
```

Amazon Comprehend responde con lo siguiente:

```
{
    "Classes": [ 
       { 
          "Name": "string",
          "Score": 0.9793661236763
       }
    ]
 }
```

Para obtener más información, consulte la [ClassifyDocument](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ClassifyDocument.html)referencia de la *API de Amazon Comprehend*.

# Salidas para análisis en tiempo real
<a name="outputs-class-sync"></a>

## Salidas para entradas de texto
<a name="outputs-class-sync-text"></a>

En el caso de las entradas de texto, la salida incluye la lista de clases o etiquetas identificadas por el análisis del clasificador. En el siguiente ejemplo, se muestra una lista con dos clases.

```
"Classes": [
  {
     "Name": "abc",
     "Score": 0.2757999897003174,
     "Page": 1
  },
  {
    "Name": "xyz",
    "Score": 0.2721000015735626,
    "Page": 1
  }
]
```

## Salidas para entradas semiestructuradas
<a name="outputs-class-sync-other"></a>

En el caso de un documento de entrada semiestructurado o un archivo de texto, la salida puede incluir los siguientes campos adicionales:
+ DocumentMetadata — Información de extracción sobre el documento. Los metadatos incluyen una lista de páginas del documento, con el número de caracteres extraídos de cada página. Este campo está presente en la respuesta si la solicitud incluía el parámetro `Byte`.
+ DocumentType — El tipo de documento para cada página del documento de entrada. Este campo está presente en la respuesta si la solicitud incluía el parámetro `Byte`.
+ Errores: errores a nivel de la página que el sistema detectó al procesar el documento de entrada. El campo está vacío si el sistema no ha detectado ningún error.
+ Advertencias: se detectaron mensajes de advertencia al procesar el documento de entrada. La respuesta incluye un mensaje de advertencia si hay una discrepancia entre el tipo de documento de entrada y el tipo de modelo asociado al punto de conexión que especificó. El campo está vacío si el sistema no ha generado ningún mensaje de advertencia.

Para obtener más información sobre estos campos de salida, consulte la referencia [ClassifyDocument](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ClassifyDocument.html)de la *API de Amazon Comprehend*.

En el siguiente ejemplo se muestra el resultado de un documento de entrada de PDF original de una página.

```
{
  "Classes": [
      {
          "Name": "123",
          "Score": 0.39570000767707825,
          "Page": 1
      },
      {
          "Name": "abc",
          "Score": 0.2757999897003174,
          "Page": 1
      },
      {
          "Name": "xyz",
          "Score": 0.2721000015735626,
          "Page": 1
      }
  ],
  "DocumentMetadata": {
      "Pages": 1,
      "ExtractedCharacters": [
          {
              "Page": 1,
              "Count": 2013
          }
      ]
  },
  "DocumentType": [
      {
          "Page": 1,
          "Type": "NATIVE_PDF"
      }
  ]
}
```

# Ejecución de trabajos asíncronos
<a name="running-classifiers"></a>

Después de entrenar un clasificador personalizado, puede utilizar trabajos asíncronos para analizar documentos grandes o varios documentos en un lote.

La clasificación personalizada acepta una variedad de tipos de documentos de entrada. Para obtener más información, consulte [Entradas para análisis personalizados asíncronos](idp-inputs-async.md).

Si planea analizar archivos de imagen o documentos PDF escaneados, su política de IAM debe conceder permisos para usar dos métodos de la API Amazon Textract DetectDocumentText ( AnalyzeDocumenty). Amazon Comprehend invoca estos métodos durante la extracción de texto. Para ver una política de ejemplo, consulte [Permisos necesarios para realizar acciones de análisis de documentos](security_iam_id-based-policy-examples.md#security-iam-based-policy-perform-cmp-actions).

Para clasificar documentos semiestructurados (archivos de imagen, PDF o Docx) mediante un modelo de texto sin formato, utilice el formato de entrada `one document per file`. Además, incluya el `DocumentReaderConfig` parámetro en su solicitud. [StartDocumentClassificationJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartDocumentClassificationJob.html)

**Topics**
+ [Formatos de archivo para análisis asíncrono](class-inputs-async.md)
+ [Trabajos de análisis para una clasificación personalizada (consola)](analysis-jobs-custom-classifier.md)
+ [Trabajos de análisis para una clasificación personalizada (API)](analysis-jobs-custom-class-api.md)
+ [Salidas para trabajos de análisis asíncronos](outputs-class-async.md)

# Formatos de archivo para análisis asíncrono
<a name="class-inputs-async"></a>

Cuando ejecuta un análisis asíncrono con su modelo, puede elegir entre varios formatos para los documentos de entrada: `One document per line` o `one document per file`. El formato que utilice depende del tipo de documentos que desee analizar, tal como se describe en la tabla siguiente.


| Description (Descripción) | Formato | 
| --- | --- | 
| La entrada contiene varios archivos. Cada archivo contiene un documento de entrada. Este formato es el mejor para colecciones de documentos grandes, como artículos de periódicos o artículos científicos. Utilice también este formato para documentos semiestructurados (archivos de imagen, PDF o Docx) mediante un clasificador de documentos nativo. | Un documento por archivo | 
|  La entrada comprende uno o más archivos. Cada línea del archivo es un documento de entrada independiente. Este formato es el mejor para documentos cortos, como mensajes de texto o publicaciones en redes sociales.  | Un documento por línea | 

**Un documento por archivo**

Con el formato `one document per file`, cada archivo representa un documento de entrada. 

**Un documento por línea**

Con el formato `One document per line`, cada documento se coloca en una línea independiente y no se utiliza ningún encabezado. La etiqueta no está incluida en cada línea (ya que aún no conoce la etiqueta del documento). Cada línea del archivo (el final del documento individual) debe terminar con un salto de línea (LF, \$1n), un retorno de carro (CR, \$1r) o ambas (CRLF, \$1r\$1n). No utilice el separador de líneas UTF-8 (u\$12028) para terminar una línea.

En el ejemplo siguiente se muestra el formato del archivo de entrada.

```
Text of document 1 \n
Text of document 2 \n
Text of document 3 \n
Text of document 4 \n
```

Para cualquiera de los dos formatos, utilice la codificación UTF-8 para los archivos de texto. Después de preparar los archivos, colóquelos en el bucket de S3 que está utilizando para introducir los datos de entrada.

Al iniciar un trabajo de clasificación, debe especificar esta ubicación de Amazon S3 para los datos de entrada. El URI debe estar situado en la misma región que el punto de conexión al que está llamando. El URI puede apuntar a un único archivo (como cuando se utiliza el método “un documento por línea”), o puede ser el prefijo de un conjunto de archivos de datos. 

Por ejemplo, si utiliza el URI `S3://bucketName/prefix` y si el prefijo es un único archivo, Amazon Comprehend utilizará ese archivo como entrada. Si más de un archivo comienza con el prefijo, Amazon Comprehend los utiliza a todos como entrada. 

Conceda a Amazon Comprehend acceso al bucket de S3 que contiene la colección de documentos y los archivos de salida. Para obtener más información, consulte [Se requieren permisos basados en roles para las operaciones asíncronas](security_iam_id-based-policy-examples.md#auth-role-permissions).

# Trabajos de análisis para una clasificación personalizada (consola)
<a name="analysis-jobs-custom-classifier"></a>

Tras crear y entrenar un [clasificador de documentos personalizado](), puede utilizar la consola para ejecutar trabajos de clasificación personalizada con el modelo.

**Cómo crear un trabajo de clasificación personalizado (consola)**

1. Inicie sesión en la consola Amazon Comprehend Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/comprehend/](https://console.aws.amazon.com/comprehend/)

1. En el menú de la izquierda, seleccione **Trabajos de análisis** y, a continuación, seleccione **Crear trabajo**.

1. Asigne un nombre al trabajo de clasificación. El nombre debe ser único en su cuenta y región actuales.

1. En **Tipo de análisis**, seleccione **Clasificación personalizada**.

1. En **Seleccionar clasificador**, elija el clasificador personalizado que desee utilizar.

1. (Opcional) Si decide cifrar los datos que Amazon Comprehend utiliza al procesar su trabajo, seleccione **Cifrado de tareas**. A continuación, elija si desea utilizar una clave de KMS asociada a la cuenta actual o una de otra cuenta.
   + Si utiliza una clave asociada a la cuenta actual, elija el ID de clave para el **ID de la clave KMS**.
   + Si utiliza una clave asociada a una cuenta diferente, introduzca el ARN del ID de clave que figura en el **ID de la clave KMS**.
**nota**  
Para obtener más información sobre la creación y el uso de las claves de KMS y el cifrado asociado, consulte el [Servicio de administración de claves (KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).

1. En **Datos de entrada**, introduzca la ubicación del bucket de Amazon S3 que contiene los documentos de entrada o navegue hacia él seleccionando **Explorar S3**. Este bucket debe estar en la misma región que la API a la que está llamando. El rol de IAM que utilice para los permisos de acceso al trabajo de clasificación debe tener permisos de lectura para el bucket de S3.

   Para lograr el máximo nivel de precisión en el entrenamiento de un modelo, haga coincidir el tipo de entrada con el tipo de modelo del clasificador. El trabajo del clasificador muestra una advertencia si envía documentos nativos a un modelo de texto sin formato o documentos de texto sin formato a un modelo de documento nativo. Para obtener más información, consulte [Modelos de clasificación de entrenamiento](training-classifier-model.md).

1. (Opcional) Para el **Formato de entrada** puede elegir el formato de los documentos de entrada. El formato puede ser un documento por archivo o un documento por línea en un solo archivo. Un documento por línea solo se aplica a los documentos de texto. 

1. (Opcional) En el **modo de lectura de documentos**, puede anular las acciones de extracción de texto predeterminadas. Para obtener más información, consulte [Configuración de las opciones de extracción de texto](idp-set-textract-options.md). 

1. En **Datos de salida**, introduzca la ubicación del bucket de Amazon S3 en la que Amazon Comprehend debe escribir los datos de salida del trabajo o diríjase a él seleccionando **Explorar S3**. Este bucket debe estar en la misma región que la API a la que está llamando. El rol de IAM que utilice para los permisos de acceso al trabajo de clasificación debe tener permisos de escritura para el bucket de S3.

1. (Opcional) Si decide cifrar el resultado de salida de su trabajo, seleccione **Cifrado**. A continuación, elija si desea utilizar una clave de KMS asociada a la cuenta actual o una de otra cuenta.
   + Si utiliza una clave asociada a la cuenta actual, seleccione el alias o el ID de la clave para el **ID de la clave KMS**.
   + Si utiliza una clave asociada a una cuenta diferente, introduzca el ARN del alias o ID de la clave que figura en el **ID de la clave KMS**.

1. (Opcional) Para lanzar sus recursos a Amazon Comprehend desde una VPC, introduzca el ID de VPC en **VPC** o elija el ID en la lista desplegable. 

   1. Seleccione la subred en **Subred(es)**. Después de seleccionar la primera subred, puede elegir otras adicionales.

   1. En **Grupo(s) de seguridad**, seleccione el grupo de seguridad que desea usar si especificó uno. Después de seleccionar el primer grupo de seguridad, puede elegir otros adicionales.
**nota**  
Cuando utiliza una VPC con su trabajo de clasificación, el `DataAccessRole` utilizado para las operaciones de creación e inicio debe conceder permisos a la VPC que accede al bucket de salida.

1. Seleccione **Crear trabajo** para crear el trabajo de clasificación de documentos.

# Trabajos de análisis para una clasificación personalizada (API)
<a name="analysis-jobs-custom-class-api"></a>

Tras [crear y entrenar](train-custom-classifier-api.md) un clasificador de documentos personalizado, puede utilizarlo para ejecutar trabajos de análisis.

Utilice la [StartDocumentClassificationJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartDocumentClassificationJob.html)operación para empezar a clasificar los documentos sin etiquetar. Debe especificar el bucket de S3 que contiene los documentos de entrada, el bucket de S3 para los documentos de salida y el clasificador que se va a utilizar.

Para lograr el máximo nivel de precisión en el entrenamiento de un modelo, haga coincidir el tipo de entrada con el tipo de modelo del clasificador. El trabajo del clasificador muestra una advertencia si envía documentos nativos a un modelo de texto sin formato o documentos de texto sin formato a un modelo de documento nativo. Para obtener más información, consulte [Modelos de clasificación de entrenamiento](training-classifier-model.md).

 [StartDocumentClassificationJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartDocumentClassificationJob.html)es asíncrono. Una vez que haya iniciado el trabajo, utilice la [DescribeDocumentClassificationJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeDocumentClassificationJob.html)operación para supervisar su progreso. Cuando el campo `Status` de la respuesta muestre `COMPLETED`, podrá acceder a la salida en la ubicación que haya especificado.

**Topics**
+ [Usando el AWS Command Line Interface](#get-started-api-customclass-cli)
+ [Uso del AWS SDK para Java o SDK para Python](#get-started-api-customclass-java)

## Usando el AWS Command Line Interface
<a name="get-started-api-customclass-cli"></a>

En el siguiente ejemplo, se muestra la `StartDocumentClassificationJob` operación y otro clasificador personalizado APIs con. AWS CLI

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

Ejecución de un trabajo de clasificación personalizada mediante la operación `StartDocumentClassificationJob`.

```
aws comprehend start-document-classification-job \
     --region region \
     --document-classifier-arn arn:aws:comprehend:region:account number:document-classifier/testDelete \
     --input-data-config S3Uri=s3://S3Bucket/docclass/file name,InputFormat=ONE_DOC_PER_LINE \
     --output-data-config S3Uri=s3://S3Bucket/output \
     --data-access-role-arn arn:aws:iam::account number:role/resource name
```

Obtenga información sobre un clasificador personalizado con el identificador del trabajo mediante la operación `DescribeDocumentClassificationJob` .

```
aws comprehend describe-document-classification-job \
     --region region \
     --job-id job id
```

Enumere todos los trabajos de clasificación personalizada de su cuenta mediante la operación `ListDocumentClassificationJobs`.

```
aws comprehend list-document-classification-jobs
     --region region
```

## Uso del AWS SDK para Java o SDK para Python
<a name="get-started-api-customclass-java"></a>

Para ver ejemplos del SDK sobre cómo iniciar un trabajo de clasificador personalizado, consulte [Úselo `StartDocumentClassificationJob` con un AWS SDK o CLI](example_comprehend_StartDocumentClassificationJob_section.md).

# Salidas para trabajos de análisis asíncronos
<a name="outputs-class-async"></a>

Una vez finalizado un trabajo de análisis, almacena los resultados en el bucket de S3 que especificó en la solicitud.

## Salidas para entradas de texto
<a name="outputs-class-async-text"></a>

Para cualquier formato de documentos de entrada de texto (multiclase o multietiqueta), el resultado del trabajo consiste en un único archivo denominado `output.tar.gz`. Es un archivo comprimido que contiene un archivo de texto con la salida. 

**Salida multiclase**

Cuando utiliza un clasificador entrenado en modo multiclase, sus resultados muestran `classes`. Cada una de estas `classes` es la clase que se utiliza para crear el conjunto de categorías al entrenar al clasificador.

Para obtener más información sobre estos campos de salida, consulte la referencia [ClassifyDocument](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ClassifyDocument.html)de la *API de Amazon Comprehend*.

En los ejemplos siguientes se utilizan las siguientes clases que se excluyen mutuamente.

```
DOCUMENTARY
SCIENCE_FICTION
ROMANTIC_COMEDY
SERIOUS_DRAMA
OTHER
```

Si el formato de datos de entrada es un documento por línea, el archivo de salida contiene una línea por cada línea de la entrada. Cada línea incluye el nombre del archivo, el número de línea basado en cero de la línea de entrada y la clase o clases que se encuentran en el documento. Esto termina con la confianza de que Amazon Comprehend clasificó correctamente la instancia individual.

Por ejemplo:

```
{"File": "file1.txt", "Line": "0", "Classes": [{"Name": "Documentary", "Score": 0.8642}, {"Name": "Other", "Score": 0.0381}, {"Name": "Serious_Drama", "Score": 0.0372}]}
{"File": "file1.txt", "Line": "1", "Classes": [{"Name": "Science_Fiction", "Score": 0.5}, {"Name": "Science_Fiction", "Score": 0.0381}, {"Name": "Science_Fiction", "Score": 0.0372}]}
{"File": "file2.txt", "Line": "2", "Classes": [{"Name": "Documentary", "Score": 0.1}, {"Name": "Documentary", "Score": 0.0381}, {"Name": "Documentary", "Score": 0.0372}]}
{"File": "file2.txt", "Line": "3", "Classes": [{"Name": "Serious_Drama", "Score": 0.3141}, {"Name": "Other", "Score": 0.0381}, {"Name": "Other", "Score": 0.0372}]}
```

Si el formato de datos de entrada es un documento por archivo, el archivo de salida contiene una línea para cada documento. Cada línea tiene el nombre del archivo y la clase o clases que se encuentran en el documento. Esto termina con la confianza de que Amazon Comprehend clasificó la instancia individual con precisión.

Por ejemplo:

```
{"File": "file0.txt", "Classes": [{"Name": "Documentary", "Score": 0.8642}, {"Name": "Other", "Score": 0.0381}, {"Name": "Serious_Drama", "Score": 0.0372}]}
{"File": "file1.txt", "Classes": [{"Name": "Science_Fiction", "Score": 0.5}, {"Name": "Science_Fiction", "Score": 0.0381}, {"Name": "Science_Fiction", "Score": 0.0372}]}
{"File": "file2.txt", "Classes": [{"Name": "Documentary", "Score": 0.1}, {"Name": "Documentary", "Score": 0.0381}, {"Name": "Domentary", "Score": 0.0372}]}
{"File": "file3.txt", "Classes": [{"Name": "Serious_Drama", "Score": 0.3141}, {"Name": "Other", "Score": 0.0381}, {"Name": "Other", "Score": 0.0372}]}
```

**Salida multietiqueta**

Cuando se utiliza un clasificador entrenado en modo multietiqueta, sus resultados muestran `labels`. Cada una de estas `labels` es la etiqueta que se utiliza para crear el conjunto de categorías al entrenar al clasificador.

En los ejemplos siguientes se utilizan estas etiquetas únicas.

```
SCIENCE_FICTION
ACTION
DRAMA
COMEDY
ROMANCE
```

Si el formato de datos de entrada es un documento por línea, el archivo de salida contiene una línea por cada línea de la entrada. Cada línea incluye el nombre del archivo, el número de línea basado en cero de la línea de entrada y la clase o clases que se encuentran en el documento. Esto termina con la confianza de que Amazon Comprehend clasificó correctamente la instancia individual.

Por ejemplo:

```
{"File": "file1.txt", "Line": "0", "Labels": [{"Name": "Action", "Score": 0.8642}, {"Name": "Drama", "Score": 0.650}, {"Name": "Science Fiction", "Score": 0.0372}]}
{"File": "file1.txt", "Line": "1", "Labels": [{"Name": "Comedy", "Score": 0.5}, {"Name": "Action", "Score": 0.0381}, {"Name": "Drama", "Score": 0.0372}]}
{"File": "file1.txt", "Line": "2", "Labels": [{"Name": "Action", "Score": 0.9934}, {"Name": "Drama", "Score": 0.0381}, {"Name": "Action", "Score": 0.0372}]}
{"File": "file1.txt", "Line": "3", "Labels": [{"Name": "Romance", "Score": 0.9845}, {"Name": "Comedy", "Score": 0.8756}, {"Name": "Drama", "Score": 0.7723}, {"Name": "Science_Fiction", "Score": 0.6157}]}
```

Si el formato de datos de entrada es un documento por archivo, el archivo de salida contiene una línea para cada documento. Cada línea tiene el nombre del archivo y la clase o clases que se encuentran en el documento. Esto termina con la confianza de que Amazon Comprehend clasificó la instancia individual con precisión.

Por ejemplo:

```
{"File": "file0.txt", "Labels": [{"Name": "Action", "Score": 0.8642}, {"Name": "Drama", "Score": 0.650}, {"Name": "Science Fiction", "Score": 0.0372}]}
{"File": "file1.txt", "Labels": [{"Name": "Comedy", "Score": 0.5}, {"Name": "Action", "Score": 0.0381}, {"Name": "Drama", "Score": 0.0372}]}
{"File": "file2.txt", "Labels": [{"Name": "Action", "Score": 0.9934}, {"Name": "Drama", "Score": 0.0381}, {"Name": "Action", "Score": 0.0372}]}
{"File": "file3.txt”, "Labels": [{"Name": "Romance", "Score": 0.9845}, {"Name": "Comedy", "Score": 0.8756}, {"Name": "Drama", "Score": 0.7723}, {"Name": "Science_Fiction", "Score": 0.6157}]}
```

## Salidas para documentos de entrada semiestructurados
<a name="outputs-class-async-other"></a>

En el caso de los documentos de entrada semiestructurados, la salida puede incluir los siguientes campos adicionales:
+ DocumentMetadata — Información de extracción sobre el documento. Los metadatos incluyen una lista de páginas del documento, con el número de caracteres extraídos de cada página. Este campo está presente en la respuesta si la solicitud incluía el parámetro `Byte`.
+ DocumentType — El tipo de documento para cada página del documento de entrada. Este campo está presente en la respuesta si la solicitud incluía el parámetro `Byte`.
+ Errores: errores a nivel de la página que el sistema detectó al procesar el documento de entrada. El campo está vacío si el sistema no ha detectado ningún error.

Para obtener más información sobre estos campos de salida, consulte la referencia [ClassifyDocument](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_ClassifyDocument.html)de la *API de Amazon Comprehend*.

El siguiente ejemplo muestra el resultado de un archivo PDF de dos páginas escaneado.

```
[{ #First page output
    "Classes": [
        {
            "Name": "__label__2 ",
            "Score": 0.9993996620178223
        },
        {
            "Name": "__label__3 ",
            "Score": 0.0004330444789957255
        }
    ],
    "DocumentMetadata": {
        "PageNumber": 1,
        "Pages": 2
    },
    "DocumentType": "ScannedPDF",
    "File": "file.pdf",
    "Version": "VERSION_NUMBER"
},
#Second page output
{
    "Classes": [
        {
            "Name": "__label__2 ",
            "Score": 0.9993996620178223
        },
        {
            "Name": "__label__3 ",
            "Score": 0.0004330444789957255
        }
    ],
    "DocumentMetadata": {
        "PageNumber": 2,
        "Pages": 2
    },
    "DocumentType": "ScannedPDF",
    "File": "file.pdf",
    "Version": "VERSION_NUMBER" 
}]
```