Extraia informações de texto usando o reconhecimento de entidade nomeada - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Extraia informações de texto usando o reconhecimento de entidade nomeada

Para extrair informações de texto não estruturado e classificá-las em categorias predefinidas, use uma tarefa de rotulagem de reconhecimento de entidade (NER) chamada Amazon SageMaker Ground Truth. Tradicionalmente, NER envolve examinar dados de texto para localizar frases nominais, chamadas entidades nomeadas, e categorizar cada uma com um rótulo, como “pessoa”, “organização” ou “marca”. Você pode ampliar essa tarefa para rotular longos períodos de texto e categorizar essas sequências com rótulos predefinidos especificados. Você pode criar um trabalho de rotulagem de reconhecimento de entidade nomeada usando a seção Ground Truth do SageMaker console da Amazon ou a CreateLabelingJoboperação.

Quando encarregados de um trabalho de rotulagem de reconhecimento de entidade nomeada, os operadores aplicam seus rótulos a palavras ou frases específicas dentro de um bloco de texto maior. Eles escolhem um rótulo e o aplicam usando o cursor para realçar a parte do texto à qual o rótulo se aplica. A ferramenta de reconhecimento de entidades nomeadas Ground Truth suporta anotações sobrepostas, seleção de rótulos no contexto e seleção de vários rótulos para um único destaque. Além disso, os operadores podem usar seus teclados para selecionar rótulos rapidamente.

Importante

Se você criar manualmente um arquivo manifesto de entrada, use "source" para identificar o texto que você deseja rotular. Para obter mais informações, consulte Dados de entrada.

Criar um trabalho de rotulagem de reconhecimento de entidade nomeada (console)

Você pode seguir as instruções Criar um trabalho de rotulagem (console) para aprender como criar uma tarefa de rotulagem de reconhecimento de entidade nomeada no SageMaker console. Na Etapa 10, escolha Texto no menu suspenso Categoria da tarefa e selecione Reconhecimento de entidades nomeadas como o tipo de tarefa.

O Ground Truth fornece uma interface de usuário do operador que se parece com a seguinte para tarefas de rotulagem. Ao criar o trabalho de rotulagem com o console, você especifica instruções para ajudar os operadores a concluírem o trabalho e os rótulos que eles podem escolher.

Gif mostrando como criar uma tarefa de rotulagem de reconhecimento de entidade nomeada no SageMaker console.

Criar um Named Entity Recognition Labeling Job (API)

Para criar um trabalho de rotulagem de reconhecimento de entidade nomeada, usando a SageMaker API operaçãoCreateLabelingJob. Isso API define essa operação para todos AWS SDKs. Para ver uma lista de idiomas específicos com SDKs suporte para essa operação, consulte a seção Consulte também do. CreateLabelingJob

Siga as instruções em Criar um trabalho de rotulagem (API) e faça o seguinte enquanto você configura a solicitação:

  • As funções do Lambda de pré-anotação para esse tipo de tarefa terminam com PRE-NamedEntityRecognition. Para encontrar a pré-anotação ARN Lambda para sua região, consulte. PreHumanTaskLambdaArn

  • As funções do Lambda de consolidação de anotações para esse tipo de tarefa terminam com ACS-NamedEntityRecognition. Para encontrar o ARN Lambda de consolidação de anotações para sua região, consulte. AnnotationConsolidationLambdaArn

  • Você deve fornecer o seguinte ARN paraHumanTaskUiArn:

    arn:aws:sagemaker:aws-region:394669845002:human-task-ui/NamedEntityRecognition

    aws-regionSubstitua pela AWS região que você usa para criar o trabalho de etiquetagem. Por exemplo, use us-west-1 se você criar um trabalho de rotulagem no Oeste dos EUA (Norte da Califórnia).

  • Forneça instruções ao operador no arquivo de configuração da categoria de rótulo usando o parâmetro instructions. Você pode usar uma string ou linguagem de HTML marcação nos fullInstruction campos shortInstruction e. Para obter mais detalhes, consulte Forneça instruções de trabalho em um Arquivo de configuração de categoria de rótulo.

    "instructions": {"shortInstruction":"<h1>Add header</h1><p>Add Instructions</p>", "fullInstruction":"<p>Add additional instructions.</p>"}

Veja a seguir um exemplo de uma solicitação em AWS Python SDK (Boto3) para criar um trabalho de etiquetagem na região Leste dos EUA (Norte da Virgínia). Todos os parâmetros em vermelho devem ser substituídos por suas especificações e recursos.

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' }, ] )

Forneça instruções de trabalho em um Arquivo de configuração de categoria de rótulo

Você deve fornecer instruções ao operador no arquivo de configuração da categoria de rótulo em que você identifica com o parâmetro LabelCategoryConfigS3Uri no CreateLabelingJob. Você pode usar essas instruções para fornecer detalhes sobre a tarefa que você deseja que os operadores executem e ajudá-los a usar a ferramenta com eficiência.

Você fornece instruções curtas e longas usando shortInstruction e fullInstruction no parâmetro instructions, respectivamente. Para saber mais sobre esses tipos de instrução, consulte Crie páginas de instruções.

Veja a seguir um exemplo de um arquivo de configuração de categoria de rótulo com instruções que podem ser usadas para uma tarefa de rotulagem de reconhecimento de entidade nomeada.

{ "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>" } }

Dados de saída de reconhecimento de entidades nomeadas

Depois de criar um trabalho de rotulagem de reconhecimento de entidade nomeada, seus dados de saída estarão localizados no bucket do Amazon S3 especificado no S3OutputPath parâmetro ao usar o API ou no campo Localização do conjunto de dados de saída da seção Visão geral do trabalho do console.

Para saber mais sobre o arquivo manifesto de saída gerado pelo Ground Truth, e sobre a estrutura do arquivo que o Ground Truth usa para armazenar os dados de saída, consulte Rotulando dados de saída do trabalho.