Categorizar texto con clasificación de texto (etiquetas múltiples) - Amazon SageMaker

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.

Categorizar texto con clasificación de texto (etiquetas múltiples)

Para categorizar artículos y texto en varias categorías predefinidas, utilice el tipo de tarea de clasificación de texto con etiquetas múltiples. Por ejemplo, puede utilizar este tipo de tarea para identificar más de una emoción transmitida en el texto. En las siguientes secciones se proporciona información sobre cómo crear una tarea de clasificación de texto con varias etiquetas desde la consola y. API

Al trabajar en una tarea de clasificación de texto con varias etiquetas, los trabajadores deben elegir todas las etiquetas aplicables, pero deben elegir al menos una. Al crear un trabajo con este tipo de tarea, puede proporcionar hasta 50 categorías de etiquetas.

Amazon SageMaker Ground Truth no incluye la categoría «ninguno» cuando no se aplica ninguna de las etiquetas. Para proporcionar esta opción a los trabajadores, incluya una etiqueta similar a “ninguna” u “otro” cuando cree un trabajo de clasificación de texto con varias etiquetas.

Para restringir a los trabajadores la elección a una sola etiqueta para cada documento o selección de texto, utilice el tipo de tarea Categorizar el texto con la clasificación del texto (etiqueta única).

importante

Si crea manualmente un archivo de manifiesto de entrada, utilice "source" para identificar el texto que quiere etiquetar. Para obtener más información, consulte Datos de entrada.

Creación de un trabajo de etiquetado de clasificación de texto con etiquetas múltiples (Consola)

Puedes seguir las instrucciones Crear un trabajo de etiquetado (consola) para aprender a crear un trabajo de etiquetado de clasificación de texto con varias etiquetas en la SageMaker consola de Amazon. En el paso 10, elija Text (Texto) en el menú desplegable Task category (Categoría de tarea) y elija Text Classification (Multi-label) [Clasificación de texto (varias etiquetas)] como tipo de tarea.

Ground Truth proporciona una interfaz de usuario de trabajador similar a la siguiente para las tareas de etiquetado. Al crear el trabajo de etiquetado con la consola, se especifican instrucciones para ayudar a los trabajadores a completar el trabajo y las etiquetas que los trabajadores pueden elegir.

Gif que muestra cómo crear un trabajo de etiquetado de clasificación de texto con varias etiquetas en la SageMaker consola de Amazon.

Crear un trabajo de etiquetado de clasificación de texto con múltiples etiquetas () API

Para crear un trabajo de etiquetado de clasificación de texto con varias etiquetas, utilice la SageMaker API operación. CreateLabelingJob Esto API define esta operación para todos AWS SDKs. Para ver una lista de los idiomas específicos SDKs compatibles con esta operación, consulte la sección Vea también de. CreateLabelingJob

Siga las instrucciones de Crear un trabajo de etiquetado (API) y haga lo siguiente mientras configura su solicitud:

  • Las funciones de Lambda de preanotación para este tipo de tareas terminan con PRE-TextMultiClassMultiLabel. Para encontrar la Lambda previa a la anotación correspondiente a su región, ARN consulte. PreHumanTaskLambdaArn

  • Las funciones de Lambda de consolidación de anotaciones para este tipo de tareas terminan con ACS-TextMultiClassMultiLabel. Para encontrar la ARN Lambda de consolidación de anotaciones de su región, consulte. AnnotationConsolidationLambdaArn

El siguiente es un ejemplo de una solicitud de AWS Python SDK (Boto3) para crear un trabajo de etiquetado en la región EE.UU. Este (Norte de Virginia). Todos los parámetros en rojo deben reemplazarse con sus especificaciones y recursos.

response = client.create_labeling_job( LabelingJobName='example-multi-label-text-classification-labeling-job, LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/file-to-store-output-data', 'KmsKeyId': 'string' }, RoleArn='arn:aws:iam::*:role/*, LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json', StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*', 'UiConfig': { 'UiTemplateS3Uri': 's3://bucket/path/custom-worker-task-template.html' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda::function:PRE-TextMultiClassMultiLabel, 'TaskKeywords': [ 'Text Classification', ], 'TaskTitle': 'Multi-label text classification task', 'TaskDescription': 'Select all labels that apply to the text shown', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Crear una plantilla para la clasificación de texto con etiquetas múltiples

Si crea un trabajo de etiquetado utilizando elAPI, debe proporcionar una plantilla de tarea de trabajo. UiTemplateS3Uri Copie y modifique la siguiente plantilla. Modifique únicamente short-instructions, full-instructions y header.

Cargue esta plantilla en S3 e introduzca el S3 URI para este archivoUiTemplateS3Uri.

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-classifier-multi-select name="crowd-classifier-multi-select" categories="{{ task.input.labels | to_json | escape }}" header="Please identify all classes in the below text" > <classification-target style="white-space: pre-wrap"> {{ task.input.taskObject }} </classification-target> <full-instructions header="Classifier instructions"> <ol><li><strong>Read</strong> the text carefully.</li> <li><strong>Read</strong> the examples to understand more about the options.</li> <li><strong>Choose</strong> the appropriate labels that best suit the text.</li></ol> </full-instructions> <short-instructions> <p>Enter description of the labels that workers have to choose from</p> <p><br></p> <p><br></p><p>Add examples to help workers understand the label</p> <p><br></p><p><br></p><p><br></p><p><br></p><p><br></p> </short-instructions> </crowd-classifier-multi-select> </crowd-form>

Para obtener información sobre cómo crear una plantilla personalizada, consulte Flujos de trabajo de etiquetado personalizados.

Datos de salida de clasificación de texto multietiqueta

Una vez que haya creado un trabajo de etiquetado con clasificación de texto con varias etiquetas, los datos de salida se ubicarán en el bucket de Amazon S3 especificado en el S3OutputPath parámetro cuando utilice el campo API o en el campo Ubicación del conjunto de datos de salida de la sección Descripción general del trabajo de la consola.

Para obtener más información sobre el archivo de manifiesto de salida generado por Ground Truth y la estructura de archivos que Ground Truth utiliza para almacenar los datos de salida, consulte Etiquetar los datos de salida del trabajo.

Para ver un ejemplo de archivos de manifiesto de salida para el trabajo de etiquetado de clasificación de texto con etiquetas múltiples, consulte Resultado de un trabajo de clasificación con múltiples etiquetas.