Aprimorar o treinamento de um processador pré-treinado

Com o Analisador de faturas, é possível aprimorar o treinamento de um processador pré-treinado para melhorar a precisão. Você começa com um modelo predefinido, depois o treina com seus dados e adiciona campos personalizados. Os formatos de fatura são diversos, e o aprimoramento de um analisador de faturas genérico com seus dados pode melhorar a precisão em formatos específicos e permitir que o analisador extraia campos que não são suportados pelo modelo pré-treinado. Os dados de amostra são fornecidos, mas você pode seguir os mesmos procedimentos usando seus próprios dados.


Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:

Orientações


Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Document AI, Cloud Storage APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Document AI, Cloud Storage APIs.

    Enable the APIs

Criar um processador

  1. No menu de navegação do console do Google Cloud, clique em Document AI e clique em Galeria de processadores.

    Galeria de processadores

  2. Na Galeria de processadores, procure analisador de faturas e selecione Criar.

    uptrain-a-legacy-processor-1

  3. Digite um Nome de processador, como invoice-parser-for-uptraining.

  4. Selecione a região mais próxima de você.

  5. Selecione Criar. A guia Detalhes do processador é exibida.

    uptrain-a-legacy-processor-2

Crie um bucket do Cloud Storage para o conjunto de dados

Para treinar esse novo processador, você precisa criar um conjunto de dados com dados de treinamento e teste para ajudar o processador a identificar as entidades que você quer extrair.

Esse conjunto de dados requer um novo bucket do Cloud Storage. Não use o mesmo bucket em que seus documentos estão armazenados.

  1. Acesse a guia Treinar do processador.

  2. Clique em Definir local do conjunto de dados. Você precisa selecionar ou criar um bucket ou uma pasta vazio do Cloud Storage.

    uptrain-a-legacy-processor-3

  3. Clique em Procurar para abrir Escolher pasta.

  4. Clique em Criar um novo bucket e siga as instruções para criar um novo bucket. Saiba mais sobre como criar um bucket do Cloud Storage em Buckets do Cloud Storage.

    Observação: um bucket é a entidade de armazenamento de nível superior em que é possível aninhar pastas. Em vez de criar e selecionar um bucket, também é possível criar e selecionar uma pasta vazia dentro de um bucket existente. Consulte as Pastas simuladas.

    Depois de criar o bucket, a página Selecionar pasta será exibida para esse bucket.

  5. Na página Escolher pasta do bucket, selecione Selecionar na parte de baixo da caixa de diálogo.

    uptrain-a-legacy-processor-4

  6. Verifique se o caminho de destino está preenchido com o nome do bucket que você selecionou. Clique em Criar conjunto de dados. A criação do conjunto de dados pode levar vários minutos.

    uptrain-a-legacy-processor-5

  • Proceder diretamente para o treinamento avançado: pule para importar dados pré-rotulados. Em vez de importar um documento de exemplo, use ferramentas para rotular manualmente os campos e adicionar o documento aos dados de treinamento.

  • Rotular e adicionar documentos manualmente ao conjunto de treinamento: antes de continuar com o treinamento avançado, siga as instruções em Importar um documento de exemplo para rotulação manual.

Importar um documento de amostra para rotulagem manual

Em seguida, importe um arquivo PDF de fatura de amostra para seu conjunto de dados. Você rotulará os campos neste documento para ajudar no processo subsequente de aprimoramento de treinamento.

Neste guia, fornecemos um arquivo representativo para ser o documento de exemplo.

  1. Na guia Treinar, selecione Importar documentos.

    uptrain-a-legacy-processor-6

  2. Para este exemplo, digite o nome do bucket em Caminho de origem Este link direciona para um documento.

    cloud-samples-data/documentai/codelabs/uptraining/pdfs
    
  3. Em Divisão de dados, selecione Não atribuído. O documento nesta pasta não está atribuído ao conjunto de teste ou treinamento. Deixe a opção Importar com rotulagem automática desmarcada.

  4. Selecione Importar. A Document AI lê os documentos do bucket no conjunto de dados. Ele não modifica o bucket de importação ou faz uma leitura a partir do bucket após a conclusão da importação.

Quando você importa documentos, é possível atribuir os documentos ao conjunto de Treinamento ou Teste na importação ou esperar mais tarde.

Se quiser excluir um ou mais documentos importados, selecione-os na guia Treinar e clique em Excluir.

Para mais informações sobre como preparar os dados para importação, consulte o Guia de preparação de dados.

Definir esquema do processado

Seu conjunto de dados pode não conter todos os rótulos compatíveis com o analisador de faturas. Nesse caso, você precisa marcar os rótulos que não são usados como Inactive antes de iniciar o aprimoramento. Você também pode adicionar um ou mais rótulos personalizados antes de iniciar o treinamento.

  1. Na guia Treinar, selecione Editar esquema no canto inferior esquerdo. A página Gerenciar marcadores é aberta.

  2. Para desativar os rótulos não utilizados, marque as caixas de seleção dos campos que não estão na lista a seguir e clique em Desativar. Os campos a seguir precisam permanecer ativados:

    invoice_date
    line_item
      amount
      description
    receiver_address
    receiver_name
    supplier_address
    supplier_name
    total_amount
    

    Observação: não é possível excluir rótulos. Em vez disso, é possível desativar qualquer rótulo que você não queira usar.

  3. Selecione Salvar quando os rótulos estiverem completos.

    uptrain-a-legacy-processor-7

  4. Clique na seta "Voltar" para retornar à página Treinar.

Rotular um documento

O processo para selecionar texto em um documento e aplicar marcadores é conhecido como anotação.

  1. Volte para a guia Treinar e selecione um documento para abrir o console de Gerenciamento de rótulos.

  2. Em seguida, no painel à esquerda, selecione no rótulo do esquema que corresponda ao valor que você quer anotar e aplique o rótulo.

  3. Use a ferramenta Caixa delimitadora por padrão ou a ferramenta Selecionar texto para valores de várias linhas e para aplicar o marcador.

    Por exemplo, nesta fatura, o texto "McWilliam Piping International Piping Company" deve receber o rótulo supplier_name. Você pode usar o filtro de texto para pesquisar nomes de rótulos.

    Observação: a ferramenta Selecionar texto não funciona para todos os valores de texto. Portanto, use a caixa delimitadora, se apropriado. Também é possível selecionar campos que não sejam de texto, como caixas de seleção, usando a ferramenta Caixa delimitadora.

  4. Revise os valores de texto detectados para garantir que eles reflitam o texto correto do documento.

    • Ao selecionar texto que corresponda a um marcador, inclua apenas o texto relevante. Por exemplo, para um rótulo invoice_id, não inclua caracteres como #, que geralmente precedem o valor numérico. Não inclua símbolos de moeda como $ para dinheiro.

      • Anote todas as instâncias de uma entidade. Por exemplo, supplier_name ou invoice_id podem ocorrer várias vezes no documento, e cada instância precisa ser anotada.
  5. Repita essas etapas para cada campo que você quer rotular.

Confira um exemplo do conjunto completo de rótulos com texto correspondente.

Nome do rótulo Texto
supplier_name McWilliam Piping International Piping Company
supplier_address 14368 Pipeline Ave Chino, CA 91710
invoice_id 10001
due_date 2020-01-02
line_item/description Knuckle Couplers
line_item/quantity 9
line_item/unit_price 74,43
line_item/amount 669.87
line_item/description Tubo de PVC 12 polegadas
line_item/quantity 7
line_item/unit_price 15.90
line_item/amount 111.30
line_item/description Tubo de cobre
line_item/quantity 7
line_item/unit_price 91.20
line_item/amount 638.40
net_amount 1,419.57
total_tax_amount 113.57
total_amount 1,533.14
currency $
  1. Selecione Marcar como rotulado quando terminar de anotar o documento.

    Na guia Treinar, o painel à esquerda mostra que um documento foi rotulado.

Atribuir documentos anotados ao conjunto de treinamento

Agora que você rotulou este documento de exemplo, é possível atribuí-lo ao conjunto de treinamento.

  1. Na guia Treinar, marque a caixa de seleção Selecionar tudo.

  2. Na lista suspensa Atribuir ao conjunto, selecione Treinamento.

No painel esquerdo, é possível conferir que um documento foi atribuído ao conjunto de treinamento.

Importar dados pré-rotulados para os conjuntos de treinamento e teste

O aprimoramento do Document AI requer no mínimo 10 documentos nos conjuntos de treinamento e teste, além de 10 instâncias de cada rótulo em cada conjunto.

Recomendamos que você tenha pelo menos 50 documentos em cada conjunto, com 50 instâncias de cada rótulo, para melhor desempenho. Mais dados de treinamento geralmente significam maior precisão.

Neste guia, fornecemos dados pré-rotulados. Se estiver trabalhando no seu próprio projeto, é necessário determinar como rotular os dados. Consulte Opções de rotulagem.

  1. Clique em Importar documentos.

  2. Insira o caminho a seguir em Caminho de origem. Esse bucket contém documentos pré-marcados no formato Document JSON.

    cloud-samples-data/documentai/Custom/Invoices/JSON
    
  3. Na lista Divisão de dados, selecione Dividir automaticamente. Isso divide automaticamente os documentos para que tenham 80% no conjunto de treinamento e 20% no conjunto de teste. Deixe a opção Importar com rotulagem automática desmarcada.

  4. Selecione Importar. A importação pode levar alguns minutos. Depois disso, você encontrará os documentos na guia Treinar.

Opcional: rotule automaticamente documentos recém-importados

Ao importar documentos sem rótulos para um processador com uma versão de processador implantada, é possível usar a rotulação automática para economizar tempo na identificação.

  1. Na página Treinar, Importar documentos.

  2. Copie e cole o caminho do Cloud Storage a seguir. Esse diretório contém cinco PDFs de faturas sem rótulo. Na lista suspensa Divisão de dados, clique em Treinamento.

    cloud-samples-data/documentai/Custom/Invoices/PDF_Unlabeled
    
  3. Na seção rotulação automática, marque a caixa de seleção Importar com a rotulagem automática.

  4. Selecione uma versão do processador existente para rotular os documentos.

    • Por exemplo: pretrained-invoice-v1.3-2022-07-15
  5. Clique em Importar e aguarde os documentos serem importados. Você pode sair desta página e continuar mais tarde.

    • Quando completos, os documentos aparecem na página Treinar na seção Marcados automaticamente.
  6. Não é possível usar documentos com rótulos automáticos para treinamento ou teste sem marcá-los como rotulados. Acesse a seção Marcados automaticamente para ver os documentos rotulados automaticamente.

  7. Selecione o primeiro documento para acessar o console de rotulagem.

  8. Verifique se o rótulo está correto. Ajuste se ele estiver incorreto.

  9. Selecione Marcar como rotulado quando terminar.

  10. Repita a verificação de cada documento com rótulo automático e volte à página Treinar para usar os dados para o treinamento.

Treinar o processador

Agora que você importou os dados de treinamento e teste, é possível treinar o processador. Como o treinamento pode levar várias horas, confirme se você configurou o processador com os dados e rótulos apropriados antes de começar o treinamento.

  1. Clique em Aprimorar a nova versão.

  2. No campo Nome da versão, insira um nome para essa versão do processador, como invoice-uptrain-1.

  3. (Opcional) Clique em Ver estatísticas dos rótulos para encontrar informações sobre os rótulos dos documentos. Isso pode ajudar a determinar a cobertura. Clique em Fechar para retornar à configuração de treinamento.

  4. Selecione Iniciar treinamento. É possível verificar o status no painel à direita.

    A página Gerenciamento de conjuntos de dados é aberta. Confira o status do treinamento no lado direito. O treinamento provavelmente levará algumas horas, dependendo do tamanho do conjunto de dados. Você pode sair desta página e continuar mais tarde.

Implantar a versão do processador

  1. Após a conclusão do treinamento, navegue até a guia Gerenciar versões. É possível ver detalhes sobre a versão que você acabou de treinar.

  2. Selecione os três pontos verticais à direita da versão que você quer implantar e clique em Implantar versão.

  3. Selecione Implantar na janela pop-up.

    A implantação leva alguns minutos para ser concluída.

Avaliar e testar o processador

  1. Após a conclusão da implantação, navegue até a guia Avaliar e testar.

    Nessa página, é possível conferir as métricas de avaliação, incluindo a pontuação F1, Precisão e Recall para o documento completo e os marcadores individuais. Para mais informações sobre avaliação e estatísticas, consulte Avaliar processador.

  2. Faça o download de um documento que não esteja envolvido em treinamentos ou testes anteriores para usá-lo na avaliação da versão do processador. Se você estiver usando seus próprios dados, use um documento reservado para essa finalidade.

    Fazer o download do PDF

  3. Clique em Fazer upload do documento de teste e escolha documento que você acabou de fazer download.

    A página Análise de faturas é aberta. A saída da tela demonstrará como o documento foi classificado.

    Também é possível executar novamente a avaliação em um conjunto de teste ou versão de processador diferente.

Usar o processador

Você criou e treinou um processador do analisador de faturas.

É possível gerenciar versões do processador treinadas e personalizadas como qualquer outra versão do processador, como ao migrar para um processador mais recente quando um é descontinuado. Para mais informações, consulte Como gerenciar versões do processador.

É possível enviar uma solicitação de processamento ao processador personalizado, e a resposta pode ser processada da mesma forma que outros processadores de extração de entidade.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

Para evitar cobranças desnecessárias do Google Cloud , use o console do Google Cloud para excluir o processador e o projeto se você não precisar deles.

Se você criou um projeto novo para aprender sobre a Document AI e não precisa mais dele, [delete the project][delete-project].

Se você usou um projeto do Google Cloud , exclua os recursos criados para evitar cobranças na sua conta:

  1. No menu de navegação do console do Google Cloud, clique em Document AI e em Meus processadores.

  2. Clique em Mais ações na mesma linha do processador que você quer excluir.

  3. Clique em Excluir processador, insira o nome do processador e selecione Excluir novamente para confirmar.

A seguir