Estrarre informazioni di testo utilizzando il riconoscimento delle entità denominate
Per estrarre informazioni dal testo non strutturato e classificarle in categorie predefinite, utilizza un'attività di etichettatura di riconoscimento delle entità denominate (NER) di Amazon SageMaker Ground Truth. Tradizionalmente, NER consiste nel setacciare i dati di testo per individuare frasi di sostantivi, named entity, e classificare ciascuna entità con un'etichetta, ad esempio "persona", "organizzazione" o "marchio". Puoi estendere questa attività per etichettare campate di testo più lunghe e classificare le sequenze con etichette predefinite specificate. È possibile creare un processo di etichettatura per il riconoscimento delle entità denominate utilizzando la sezione Ground Truth della console di Amazon SageMaker AI o l’operazione CreateLabelingJob.
Quando viene assegnato un processo di etichettatura di riconoscimento delle entità denominate, i worker applicano le etichette a parole o frasi specifiche all'interno di un blocco di testo più grande. Scelgono un'etichetta, quindi la applicano utilizzando il cursore per evidenziare la parte del testo a cui si applica l'etichetta. Lo strumento di riconoscimento delle entità denominate di Ground Truth supporta annotazioni sovrapposte, selezione di etichette contestuali e selezione di più etichette per una singola evidenziazione. Inoltre, i worker possono utilizzare la tastiera per selezionare rapidamente le etichette.
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.
Creazione di un processo di etichettatura di riconoscimento delle entità denominate (Console)
È possibile seguire le istruzioni Creare un processo di etichettatura (console) per scoprire come creare un processo di etichettatura per il riconoscimento delle entità denominate nella console SageMaker AI. Nella fase 10, scegli Testo dal menu a discesa Categoria Attività e scegli Riconoscimento delle entità denominate 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.
Creazione di un processo di etichettatura di riconoscimento delle entità denominate (API)
Per creare un processo di etichettatura di riconoscimento delle entità denominate, utilizzando 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-NamedEntityRecognition. 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-NamedEntityRecognition. Per trovare l'ARN Lamda di consolidamento delle annotazioni per la Regione, consulta AnnotationConsolidationLambdaArn. -
Devi specificare il seguenet ARN per
HumanTaskUiArn:arn:aws:sagemaker:aws-region:394669845002:human-task-ui/NamedEntityRecognitionSostituisci
con la Regione AWS che usi per creare il processo di etichettatura. Ad esempio, usaaws-regionus-west-1se crei un processo di etichettatura negli Stati Uniti occidentali (California settentrionale). -
Fornisci le istruzioni per l'operatore nel file di configurazione della categoria di etichette utilizzando il parametro
instructions. Puoi utilizzare una stringa o un linguaggio di markup HTML nei campishortInstructionefullInstruction. Per ulteriori dettagli, consulta Fornisci le istruzioni per il worker in un file di configurazione della categoria di etichette."instructions": {"shortInstruction":"<h1>Add header</h1><p>Add Instructions</p>", "fullInstruction":"<p>Add additional instructions.</p>"}
Di seguito è riportato un esempio di richiesta AWS Python SDK (Boto3)
response = client.create_labeling_job( LabelingJobName='example-ner-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': { 'HumanTaskUiArn': 'arn:aws:sagemaker:us-east-1:394669845002:human-task-ui/NamedEntityRecognition' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition', 'TaskKeywords': ['Named entity Recognition', ], 'TaskTitle':'Named entity Recognition task', 'TaskDescription':'Apply the labels provided to specific words or phrases within the larger text block.', 'NumberOfHumanWorkersPerDataObject':1, 'TaskTimeLimitInSeconds':28800, 'TaskAvailabilityLifetimeInSeconds':864000, 'MaxConcurrentTaskCount':1000, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition' }, Tags=[ { 'Key':'string', 'Value':'string'}, ] )
Fornisci le istruzioni per il worker in un file di configurazione della categoria di etichette
Devi fornire le istruzioni per l'operatore nel file di configurazione della categoria di etichette che identifichi con il parametro LabelCategoryConfigS3Uri in CreateLabelingJob. Puoi utilizzare queste istruzioni per fornire dettagli sull'attività che desideri che i worker svolgano e aiutarli a utilizzare lo strumento in modo efficiente.
Fornisci istruzioni brevi e lunghe utilizzando shortInstruction e fullInstruction nel parametro instructions rispettivamente. Per ulteriori informazioni su tali tipi di istruzioni, consulta Creare pagine di istruzioni.
Di seguito è riportato un esempio di file di configurazione della categoria di etichette con istruzioni che possono essere utilizzate per un processo di etichettatura di riconoscimento delle entità denominate.
{ "document-version": "2018-11-28", "labels": [ { "label": "label1", "shortDisplayName": "L1" }, { "label": "label2", "shortDisplayName": "L2" }, { "label": "label3", "shortDisplayName": "L3" }, { "label": "label4", "shortDisplayName": "L4" }, { "label": "label5", "shortDisplayName": "L5" } ], "instructions": { "shortInstruction": "<p>Enter description of the labels that workers have to choose from</p><br><p>Add examples to help workers understand the label</p>", "fullInstruction": "<ol> <li><strong>Read</strong> the text carefully.</li> <li><strong>Highlight</strong> words, phrases, or sections of the text.</li> <li><strong>Choose</strong> the label that best matches what you have highlighted.</li> <li>To <strong>change</strong> a label, choose highlighted text and select a new label.</li> <li>To <strong>remove</strong> a label from highlighted text, choose the X next to the abbreviated label name on the highlighted text.</li> <li>You can select all of a previously highlighted text, but not a portion of it.</li> </ol>" } }
Dati di output di riconoscimento delle entità denominate
Dopo aver creato un processo di etichettatura di riconoscimento delle entità denominate, 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 dei processi 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.