Preparar os dados de treinamento

Para treinar seu modelo personalizado, forneça amostras representativas dos tipos de documentos que serão analisados, rotulados da maneira como o AutoML Natural Language precisa rotular documentos semelhantes. A qualidade dos dados de treinamento tem forte impacto sobre a eficácia do modelo criado e, por consequência, sobre a qualidade das predições retornadas pelo modelo.

Como coletar e rotular documentos de treinamento

A primeira etapa é coletar um conjunto diversificado de documentos de treinamento que reflita o intervalo de documentos que você quer processar com o modelo personalizado. As etapas de preparação para documentos de treinamento variam de acordo com o treinamento de um modelo para classificação, extração de entidade ou análise de sentimento.

Como importar documentos de treinamento

Você importa dados de treinamento para o AutoML Natural Language usando um arquivo CSV que lista os documentos e, opcionalmente, inclui seus rótulos de categoria ou valores de sentimento. O AutoML Natural Language cria um conjunto de dados com base nos documentos listados.

Dados de treinamento x avaliação

O AutoML Natural Language divide seus documentos de treinamento em três conjuntos para treinar um modelo: um conjunto de treinamento, um conjunto de validação e um conjunto de teste.

O AutoML Natural Language usa o conjunto de treinamento para criar o modelo. O modelo testa vários algoritmos e parâmetros enquanto procura padrões nos dados de treinamento. Conforme o modelo identifica padrões, ele usa o conjunto de validação para testar os algoritmos e padrões. O AutoML Natural Language escolhe os algoritmos e padrões de melhor desempenho daqueles identificados durante a etapa de treinamento.

Depois de identificar os algoritmos e padrões de melhor desempenho, o AutoML Natural Language os aplica ao conjunto de teste para testar a taxa de erros, a qualidade e a acurácia.

Por padrão, o AutoML Natural Language divide seus dados de treinamento aleatoriamente em três conjuntos:

  • 80% dos documentos são utilizados para treinamento
  • 10% dos documentos são usados para validação (ajuste de hiperparâmetros e/ou decidir quando parar de treinar)
  • 10% dos documentos são reservados para testes (não usados durante o treinamento)

Se quiser especificar a que conjunto cada documento nos seus dados de treinamento deve pertencer, atribua explicitamente documentos a conjuntos no arquivo CSV, conforme descrito na próxima seção.

Como criar um arquivo CSV de importação

Depois de coletar todos os documentos de treinamento, crie um arquivo CSV que liste todos eles. O arquivo CSV pode ter qualquer nome de arquivo, precisa ser codificado em UTF-8 e terminar com uma extensão .csv. Ele precisa ser armazenado no bucket do Cloud Storage associado ao seu projeto.

O arquivo CSV tem uma linha para cada documento de treinamento, com estas colunas em cada linha:

  1. A que conjunto atribuir o conteúdo da linha. Essa coluna é opcional e pode ter um dos seguintes valores:

    • TRAIN: use o document para treinar o modelo.
    • VALIDATION: use o document para validar os resultados que o modelo retorna durante o treinamento.
    • TEST: use o document para verificar os resultados do modelo após ele ter sido treinado.

    Se você incluir valores nessa coluna para especificar os conjuntos, recomendamos que identifique pelo menos 5% dos seus dados para cada categoria. O uso de menos de 5% dos dados para treinamento, validação ou teste pode produzir resultados inesperados e modelos ineficazes.

    Se você não incluir valores nessa coluna, inicie cada linha com uma vírgula para indicar a primeira coluna vazia. O AutoML Natural Language divide automaticamente seus documentos em três conjuntos, usando cerca de 80% dos dados para treinamento, 10% para validação e 10% para teste (até dez mil pares para validação e teste).

  2. O conteúdo a ser categorizado. Esta coluna contém o URI do Cloud Storage do documento. Esses URIs diferenciam maiúsculas de minúsculas.

    Para classificação e análise de sentimento, o documento pode ser um arquivo de texto, PDF, TIFF ou ZIP. Para extração de entidade, é um arquivo JSONL.

    Para classificação e análise de sentimentos, o valor nesta coluna pode ser citado em texto em linha, em vez de um URI do Cloud Storage.

  3. Para conjuntos de dados de classificação, inclua uma lista separada por vírgulas de rótulos que identificam como o documento é categorizado. Os rótulos precisam começar com uma letra e conter apenas letras, números e sublinhado. É possível incluir até 20 marcadores para cada documento.

    Para conjuntos de dados de análise de sentimento, inclua um número inteiro indicando o valor de sentimento do conteúdo. O valor de sentimento varia de 0 (fortemente negativo) a um valor máximo de 10 (altamente positivo).

Por exemplo, o arquivo CSV de um conjunto de dados de classificação de vários rótulos pode ter:

TRAIN, gs://my-project-lcm/training-data/file1.txt,Sports,Basketball
VALIDATION, gs://my-project-lcm/training-data/ubuntu.zip,Computers,Software,Operating_Systems,Linux,Ubuntu
TRAIN, gs://news/documents/file2.txt,Sports,Baseball
TEST, "Miles Davis was an American jazz trumpeter, bandleader, and composer.",Arts_Entertainment,Music,Jazz
TRAIN,gs://my-project-lcm/training-data/astros.txt,Sports,Baseball
VALIDATION,gs://my-project-lcm/training-data/mariners.txt,Sports,Baseball
TEST,gs://my-project-lcm/training-data/cubs.txt,Sports,Baseball

Erros comuns de .csv

  • Uso de caracteres Unicode em rótulos. Por exemplo, caracteres japoneses não são compatíveis.
  • Uso de espaços e caracteres não alfanuméricos em rótulos.
  • Linhas vazias.
  • Colunas vazias (linhas com duas vírgulas sucessivas).
  • O texto incorporado que inclui vírgulas não está entre aspas.
  • Uso incorreto de maiúsculas e minúsculas dos caminhos do Cloud Storage.
  • Controle de acesso incorreto configurado para seus documentos. Sua conta de serviço precisa ter acesso de leitura ou maior ou os arquivos precisam ser legíveis publicamente.
  • Referências a arquivos que não são de texto, como arquivos JPEG. Da mesma forma, arquivos que não são de texto, mas que forem renomeados com uma extensão de texto, causarão um erro.
  • O URI de um documento aponta para um bucket diferente do atual. Somente arquivos no bucket do projeto podem ser acessados.
  • Arquivos não formatados em CSV.

Como criar um arquivo ZIP de importação

Para conjuntos de dados de classificação, importe os documentos de treinamento usando um arquivo ZIP. No arquivo ZIP, crie uma pasta para cada valor de rótulo ou sentimento e salve cada documento na pasta correspondente ao rótulo ou valor a ser aplicado a esse documento. Por exemplo, o arquivo ZIP de um modelo que classifica correspondência comercial pode ter esta estrutura:

correspondence.zip
    transactional
        letter1.pdf
        letter2.pdf
        letter5.pdf
    persuasive
        letter3.pdf
        letter7.pdf
        letter8.pdf
    informational
        letter6.pdf
    instructional
        letter4.pdf
        letter9.pdf

O AutoML Natural Language aplica os nomes das pastas como rótulos aos documentos na pasta. Para um conjunto de dados de análise de sentimento, os nomes das pastas são os valores de sentimento:

sentiment.zip
    0
        document4.txt
    1
        document3.txt
        document1.txt
        document5.txt
    2
        document2.txt
        document6.txt
        document8.txt
        document9.txt
    3
        document7.txt

A seguir