Listas de entidades (somente texto simples) - Amazon Comprehend

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á.

Listas de entidades (somente texto simples)

Para treinar um modelo usando uma lista de entidades, você fornece duas informações: uma lista dos nomes das entidades com seus tipos personalizados de entidade correspondentes e uma coleção de documentos sem anotações nos quais você espera que suas entidades apareçam.

Quando você fornece uma lista de entidades, o Amazon Comprehend usa um algoritmo inteligente para detectar ocorrências da entidade nos documentos e servir como base para o treinamento do modelo de reconhecimento personalizado de entidades.

Para listas de entidades, forneça pelo menos 25 correspondências de entidades por tipo de entidade na lista de entidades.

Uma lista de entidades para reconhecimento personalizado de entidades precisa de um arquivo de valores separados por vírgula (CSV) com as seguintes colunas:

  • Texto— o texto de um exemplo de entrada exatamente como visto no corpo do documento anexo.

  • Tipo— o tipo de entidade definido pelo cliente. Os tipos de entidade devem ter uma sequência de caracteres em letras maiúsculas separadas por sublinhado, como GERENTE ou GERENTE_SENIOR. É possível treinar até 25 tipos de entidades por modelo.

O arquivo documents.txt contém quatro linhas:

Jo Brown is an engineer in the high tech industry. John Doe has been a engineer for 14 years. Emilio Johnson is a judge on the Washington Supreme Court. Our latest new employee, Jane Smith, has been a manager in the industry for 4 years.

O arquivo CSV com a lista de entidades tem as seguintes linhas:

Text, Type Jo Brown, ENGINEER John Doe, ENGINEER Jane Smith, MANAGER
nota

Na lista de entidades, a entrada de Emilio Johnson não está presente porque não contém a entidade ENGENHEIRO ou GERENTE.

Como criar seus arquivos de dados

É importante que sua lista de entidades esteja em um arquivo CSV corretamente configurado para minimizar a chance de haver problemas com seu arquivo de lista de entidades. Para configurar seu arquivo CSV manualmente, o seguinte deve ser verdadeiro:

  • A codificação UTF-8 deve ser especificada explicitamente, mesmo que seja usada como padrão na maioria dos casos.

  • Ele deve incluir os nomes de colunas: Type e Text.

É altamente recomendável que os arquivos de entrada CSV sejam gerados programaticamente para evitar possíveis problemas.

O exemplo a seguir usa Python para gerar um CSV para as anotações apresentadas acima:

import csv with open("./entitylist/entitylist.csv", "w", encoding="utf-8") as csv_file: csv_writer = csv.writer(csv_file) csv_writer.writerow(["Text", "Type"]) csv_writer.writerow(["Jo Brown", " ENGINEER"]) csv_writer.writerow(["John Doe", " ENGINEER"]) csv_writer.writerow(["Jane Smith", " MANAGER"])

Práticas recomendadas

Há vários aspectos a levar em consideração para obter o melhor resultado ao usar uma lista de entidades, inclusive:

  • A ordem das entidades na sua lista não afeta o treinamento do modelo.

  • Use itens da lista de entidades que abranjam de 80% a 100% dos exemplos de entidades positivas mencionados no corpo de documentos não anotados.

  • Remova palavras e frases comuns para evitar exemplos de entidades que correspondam a entidades que não sejam entidades no corpo do documento. Até mesmo algumas correspondências incorretas podem afetar significativamente a precisão do modelo resultante. Por exemplo, uma palavra como the na lista de entidades resultará em um grande número de correspondências que provavelmente não são as entidades que você está procurando e, portanto, afetarão significativamente sua precisão.

  • Os dados de entrada não devem conter duplicatas. A presença de amostras duplicadas pode resultar na contaminação do conjunto de testes e, consequentemente, afetar negativamente o processo de treinamento, as métricas e o comportamento do modelo.

  • Forneça documentos que tenham a maior semelhança possível com os casos de uso reais. Não use dados fictícios ou dados sintetizados para sistemas de produção. Os dados de entrada devem ser tão diversos quanto possível para evitar sobreajustes e ajudar o modelo subjacente a fazer uma generalização melhor em exemplos reais.

  • A lista de entidades diferencia maiúsculas de minúsculas e não há suporte para expressões regulares. No entanto, o modelo treinado geralmente é capaz de reconhecer entidades, mesmo que elas não correspondam exatamente ao caso fornecido na lista de entidades.

  • Se você tiver uma entidade que seja uma substring de outra entidade (como “Smith” e “Jane Smith”), forneça ambas na lista de entidades.

Veja mais sugestões em Melhorar o desempenho do reconhecedor de entidade personalizado