Categorizzare il testo con la classificazione (etichetta singola) - Amazon SageMaker AI

Categorizzare il testo con la classificazione (etichetta singola)

Per classificare articoli e testo in categorie predefinite, utilizza la classificazione del testo. Ad esempio, puoi utilizzare la classificazione del testo per identificare il sentiment trasmesso in una recensione o l'emozione alla base di una sezione di testo. Utilizza la classificazione di testo Amazon SageMaker Ground Truth per consentire ai worker di ordinare il testo in categorie definite. È possibile creare un processo di etichettatura per la classificazione del testo utilizzando la sezione Ground Truth della console di Amazon SageMaker AI o l’operazione CreateLabelingJob.

Importante

Se crei manualmente un file manifest di input, usa "source" per identificare il testo che desiderate etichettare. Per ulteriori informazioni, consulta Dati di input.

Creare un processo di etichettatura della classificazione del testo (Console)

È possibile seguire le istruzioni in Creare un processo di etichettatura (console) per scoprire come creare un processo di etichettatura per la classificazione del testo nella console SageMaker AI. Nella fase 10, scegli Testo dal menu a discesa della categoria Attività e scegli Classificazione testo (etichetta singola) come tipo di attività.

Ground Truth fornisce un'interfaccia utente di lavoro simile alla seguente per le attività di etichettatura. Quando si crea il processo di etichettatura con la console, si specificano le istruzioni per consentire ai worker di completare il processo e le etichette tra cui i worker possono scegliere.

GIF che mostra come creare un processo di etichettatura per la classificazione del testo nella console SageMaker AI.

Creare un processo di etichettatura per la classificazione del testo (API)

Per creare un processo di etichettatura di classificazione del testo, utilizzare l'operazione API SageMaker CreateLabelingJob. Questa API definisce l'operazione per tutti gli SDK AWS. Per visualizzare l'elenco degli SDK specifici del linguaggio supportati per questa operazione, consulta la sezione See Also di CreateLabelingJob.

Segui queste istruzioni su Creare un processo di etichettatura (API) ed effettua le seguenti operazioni durante la configurazione della richiesta:

  • Le funzioni Lambda di pre-annotazione per questo tipo di attività terminano con PRE-TextMultiClass. Per trovare l'ARN Lamda di pre-annotazione per la Regione, consulta PreHumanTaskLambdaArn.

  • Le funzioni Lambda di consolidamento delle annotazioni per questo tipo di attività terminano con ACS-TextMultiClass. Per trovare l'ARN Lamda di consolidamento delle annotazioni per la Regione, consulta AnnotationConsolidationLambdaArn.

Di seguito è riportato un esempio di richiesta AWS Python SDK (Boto3) per creare un processo di etichettatura nella Regione Stati Uniti orientali (Virginia settentrionale). Tutti i parametri in rosso devono essere sostituiti con le specifiche e le risorse.

response = client.create_labeling_job( LabelingJobName='example-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/worker-task-template.html' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass, 'TaskKeywords': [ Text classification', ], 'TaskTitle': Text classification task', 'TaskDescription': 'Carefully read and classify this text using the categories provided.', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Fornire un modello per i processi di etichettatura della classificazione del testo

Se stai creando un'attività di etichettatura utilizzando l'API, devi fornire un modello di attività del worker in UiTemplateS3Uri. Copia e modifica il modello seguente. Modifica solo short-instructions, full-instructions e header.

Carica questo modello in S3 e fornisci l'URI S3 per questo file in UiTemplateS3Uri.

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-classifier name="crowd-classifier" categories="{{ task.input.labels | to_json | escape }}" header="classify 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> </crowd-form>

Dati output classificazione testo

Dopo aver creato un processo di etichettatura di classificazione del testo, i dati di output si troveranno nel bucket Amazon S3 specificato nel parametro S3OutputPath quando si utilizza l'API o nel campo Posizione del set di dati di output della sezione Panoramica processo della console.

Per ulteriori informazioni sul file manifest di output generato da Ground Truth e sulla struttura di file utilizzata da Ground Truth per archiviare i dati di output, consulta Etichettatura dei dati di output di un processo.

Per vedere un esempio di file manifest di output per il processo di etichettatura di classificazione del testo, consulta Output del processo di classificazione.