Preparar dados de treinamento de texto para extração de entidades

Nesta página, descrevemos como preparar dados de texto para uso em um conjunto de dados da Vertex AI a fim de treinar um modelo de extração de entidades.

Os dados de treinamento da extração de entidades consistem em documentos anotados com os rótulos que identificam os tipos de entidades que você quer que o modelo identifique. Por exemplo, é possível criar um modelo de extração de entidades para identificar a terminologia especializada em documentos ou patentes legais. As anotações especificam os locais das entidades que você está rotulando e os próprios rótulos.

Ao fazer anotações em documentos estruturados ou semiestruturados para um conjunto de dados usado no treinamento de modelos do AutoML, como faturas ou contratos, a Vertex AI pode considerar a posição de uma anotação na página como um fator que contribui ao rótulo adequado. Por exemplo, um contrato imobiliário tem uma data de aceitação e uma data de encerramento. A Vertex AI pode aprender a diferenciar as entidades com base na posição espacial da anotação.

Requisitos de dados

  • Você precisa fornecer no mínimo 50 e no máximo 100.000 documentos de treinamento.
  • É preciso fornecer no mínimo 1 e no máximo 100 rótulos exclusivos para anotar entidades que você queira extrair.
  • Você pode usar um marcador para fazer anotações entre 1 e 10 palavras.
  • Os nomes dos rótulos podem ter entre dois e 30 caracteres.
  • Você pode incluir anotações nos arquivos de linhas JSON ou adicioná-las mais tarde usando o Console do Google Cloud depois de fazer upload de documentos.
  • É possível incluir documentos in-line ou referência em arquivos TXT que estejam em buckets do Cloud Storage.

Práticas recomendadas para dados de texto usados para treinar modelos do AutoML

As recomendações a seguir se aplicam a conjuntos de dados usados para treinar modelos do AutoML.

  • Use cada rótulo pelo menos 200 vezes no conjunto de dados de treinamento.
  • Anote todas as ocorrências de entidades que você quer que o modelo identifique.

Arquivos de entrada

Os tipos de arquivo de entrada para extração de entidade precisam ser linhas JSON. O formato, os nomes de campos e os tipos de valores dos arquivos de linhas JSON são determinados por um arquivo de esquema, que são arquivos YAML de acesso público.

É possível fazer o download do arquivo de esquema para a extração de entidade do seguinte local do Cloud Storage:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml para criar um anexo da VLAN de monitoramento.

O exemplo a seguir mostra como é possível usar o esquema para criar seu próprio arquivo de linhas JSON. O exemplo inclui quebras de linha para facilitar a leitura. Nos arquivos JSON, inclua quebras de linha somente após cada documento. O campo dataItemResourceLabels especifica, por exemplo, ml_use e é opcional.

{
    "textSegmentAnnotations": [
      {
        "startOffset":number,
        "endOffset":number,
        "displayName": "label"
      },
      ...
    ],
    "textContent": "inline_text",
    "dataItemResourceLabels": {
      "aiplatform.googleapis.com/ml_use": "training|test|validation"
    }
}
{
    "textSegmentAnnotations": [
      {
        "startOffset":number,
        "endOffset":number,
        "displayName": "label"
      },
      ...
    ],
    "textGcsUri": "gcs_uri_to_file",
    "dataItemResourceLabels": {
      "aiplatform.googleapis.com/ml_use": "training|test|validation"
    }
}

Também é possível anotar documentos usando o Console do Google Cloud. Crie um arquivo de linhas JSON apenas com conteúdo (sem o campo textSegmentAnnotations). Os documentos são enviados para a Vertex AI sem anotações.