1. Introdução
A Document AI é uma solução para compreensão de dados não estruturados, como documentos, e-mails e assim por diante, que facilita o entendimento, a análise e o consumo desses dados.
Com o Document AI Workbench, é possível criar modelos totalmente personalizados usando seus próprios dados de treinamento para alcançar maior acurácia no processamento de documentos.
Neste laboratório, você vai criar um processador de extração de documentos personalizado, importar um conjunto de dados, rotular documentos de exemplo e treinar o processador.
O conjunto de dados do documento usado neste laboratório faz parte de um W-2 (declaração fiscal dos EUA) falso da Kaggle com uma CC0: licença de domínio público.
Pré-requisitos
Este codelab se baseia no conteúdo apresentado em outros codelabs da Document AI.
Recomendamos que você conclua os codelabs a seguir antes de continuar.
- Reconhecimento óptico de caracteres (OCR) com a Document AI (Python)
- Análise de formulário com a Document AI (Python)
- Processadores especializados com a Document AI (Python)
- Gerenciamento de processadores da Document AI com Python
- Document AI: human in the loop
- Document AI: treinamento aprimorado
O que você vai aprender
- Como criar um processador do extrator de documentos personalizado.
- Como rotular os dados de treinamento da Document AI usando a ferramenta de anotação.
- Como treinar uma nova versão do modelo.
- Como avaliar a acurácia da nova versão do modelo.
O que é necessário
2. Etapas da configuração
Este codelab parte do princípio de que você concluiu as etapas de configuração da Document AI listadas no Codelab básico.
Conclua as etapas a seguir antes de continuar:
3. Crie um processador
Primeiro, crie um processador do extrator de documentos personalizado para usar neste laboratório.
- No console, navegue até a página de visão geral da Document AI.
- Clique em Criar processador personalizado e selecione Extrator de documentos personalizado.
- Nomeie como
codelab-custom-extractor
ou de outra maneira, desde que você se lembre. Em seguida, selecione a região mais próxima na lista.
- Clique em Criar para criar o processador. Assim, você exibe a página de aspectos gerais do processador.
4. Crie um conjunto de dados
Para treinar o processador, vamos criar um conjunto de dados de treinamento e teste para ajudar o processador a identificar as entidades que queremos extrair.
- Na página "Visão geral do processador", clique em Configurar seu conjunto de dados.
- Agora você deve estar na página Configurar conjunto de dados. Caso queira especificar o próprio bucket para armazenar os documentos e rótulos de treinamento, clique em Show Advanced Options. Caso contrário, clique em Continuar.
- Aguarde a criação do conjunto de dados para ser direcionado para a página de Treinamento.
5. Importe um documento de teste
Agora importe o PDF de amostra do W2 para o conjunto de dados.
- Clique em Importar documentos.
- Há um PDF de amostra para você usar neste laboratório. Copie e cole o link a seguir na caixa Caminho de origem. Deixe a "Divisão de dados" como "Não atribuída" por enquanto. Deixe todas as outras caixas desmarcadas. Clique em Importar.
cloud-samples-data/documentai/codelabs/custom/extractor/pdfs
- Aguarde a importação do documento. Isso deve levar menos de um minuto.
- Quando a importação for concluída, você verá o documento na página Treinamento.
6. Crie rótulos
Como estamos criando um novo tipo de processador, é preciso criar rótulos personalizados para informar à Document AI quais campos queremos extrair.
- Clique em Editar esquema no canto inferior esquerdo.
- Agora você deve estar no console de gerenciamento de esquema.
- Crie os rótulos a seguir usando o botão Criar rótulo.
Nome | Tipo de dado | Ocorrência |
| Número | Obrigatória várias vezes |
| texto simples | Obrigatória várias vezes |
| texto simples | Obrigatória várias vezes |
| Endereço | Obrigatória várias vezes |
| Dinheiro | Obrigatória várias vezes |
| Dinheiro | Obrigatória várias vezes |
| Dinheiro | Obrigatória várias vezes |
| Dinheiro | Obrigatório várias vezes |
- O console vai ficar assim quando for concluído. Clique em Salvar quando terminar.
- Clique na seta para retornar à página Treinamento. Observe que os rótulos criados aparecem no canto inferior esquerdo.
7. Rotule o documento de teste
Agora vamos identificar elementos do texto e rótulos das entidades que queremos extrair. Esses rótulos são usados para treinar o modelo para analisar essa estrutura de documento específica e identificar os tipos corretos.
- Clique duas vezes no documento que você importou anteriormente para acessar o console de rotulagem. A aparência será semelhante a esta.
- Clique na "Caixa delimitadora" e destaque o texto "1173038" e atribuir o rótulo
CONTROL_NUMBER
. É possível usar o filtro de texto para pesquisar nomes de rótulos.
- Faça a mesma coisa para a outra instância de
CONTROL_NUMBER
. Depois de ser rotulada, o resultado será este.
- Destaque todas as instâncias dos valores textuais a seguir e atribua os rótulos apropriados.
Nome do rótulo | Texto |
| 24-3188810 |
| 19127.2 |
| 5093.71 |
| 66584.46 |
| 56081.18 |
| 714-32-2105 |
| Adams, Chase and Gilbert Inc 972 Gonzalez Dam South Katherine NC 95869-5178 |
- Quando concluído, o documento rotulado deve ficar assim. Clique na caixa delimitadora do documento ou no nome/valor do rótulo no menu lateral esquerdo para ajustar esses rótulos. Clique em Marcar como rotulado quando terminar de rotular e volte para o console de gerenciamento do conjunto de dados.
8. Atribua o documento ao conjunto de treinamento
Você está de volta ao console de gerenciamento do conjunto de dados. Observe que o número de documentos com e sem rótulos e o número de instâncias por rótulo mudaram.
- É preciso atribuir esse documento ao conjunto de treinamento ou teste. Clique no documento e depois em Atribuir ao conjunto. Em seguida, clique em Treinamento.
- Observe que os números da Divisão de dados mudaram.
9. Importe os dados pré-rotulados
Os processadores personalizados da Document AI precisam de 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 cada conjunto tenha pelo menos 50 documentos e 50 instâncias de cada rótulo, para melhor desempenho. Mais dados de treinamento geralmente significam maior acurácia.
Rotular manualmente todos os documentos vai demorar muito tempo, então você pode importar alguns documentos pré-rotulados para este laboratório.
É possível importar arquivos de documentos pré-rotulados no formato Document.json
. Eles podem ser resultantes da chamada de um processador e da verificação da acurácia usando Human in the loop (HITL).
aside negative
OBSERVAÇÃO: ao importar dados pré-rotulados, é altamente recomendado revisar manualmente as anotações antes do treinamento de um modelo.
- Clique em Importar documentos.
- Copie e cole o caminho do Cloud Storage a seguir e atribua-o ao conjunto de Treinamento.
cloud-samples-data/documentai/codelabs/custom/extractor/training
- Clique em Adicionar outra pasta. Depois, copie e cole o caminho do Cloud Storage a seguir e atribua-o ao conjunto de Teste.
cloud-samples-data/documentai/codelabs/custom/extractor/test
- Clique em Importar e aguarde os documentos. Isso vai demorar mais do que da última vez porque há mais documentos para processar. Isso deve levar cerca de 6 minutos. Você pode sair desta página e continuar mais tarde.
- Após a conclusão, os documentos devem aparecer na página de Treinamento.
10. Treine o modelo
Agora está tudo pronto para treinar o extrator de documentos personalizado.
- Clique em Treinar nova versão
- Dê à versão um nome que você vai lembrar, como
codelab-custom-1
. Em "Método de treinamento", selecione "Treinar do zero".
- (Opcional) Também é possível selecionar Exibir estatísticas de rótulos para conferir métricas sobre os rótulos do conjunto de dados.
- Clique em Iniciar treinamento para começar o processo de treinamento. Você será redirecionado para a página de gerenciamento do conjunto de dados. Confira o status do treinamento no lado direito. O treinamento leva algumas horas para ser concluído. Você pode sair desta página e continuar mais tarde.
- Clique no nome da versão para acessar a página Gerenciar versões, que mostra o ID da versão e o status atual do job de treinamento.
11. Teste a nova versão do modelo
Após a conclusão do job de treinamento (nos testes, levou cerca de 1 hora), é possível testar a nova versão do modelo e começar a usá-la para previsões.
- Acesse a página Gerenciar versões. Aqui é possível conferir o status atual e a pontuação F1.
- É preciso implantar essa versão do modelo antes que ela possa ser usada. Clique nos pontos verticais do lado direito e selecione Implantar versão.
- Selecione Implantar na janela pop-up e aguarde a implantação da versão. Esse processo leva alguns minutos. Depois da implantação, é possível definir essa versão como a padrão.
- Depois da conclusão da implantação, acesse a guia Avaliar. Nessa página, confira as métricas de avaliação, incluindo a pontuação F1, precisão e recall do documento completo, bem como de rótulos individuais. Leia mais sobre essas métricas na documentação do AutoML.
- Faça o download do arquivo PDF pelo link abaixo. É uma amostra do W2 que não foi incluída no conjunto de treinamento nem de teste.
- Clique em Fazer upload de documento de teste e selecione o arquivo PDF.
- As entidades extraídas vão ficar assim.
12. Opcional: rotule automaticamente documentos recém-importados
Depois de implantar uma versão do processador treinado, use a Rotulagem automática para poupar tempo ao importar novos documentos.
- Na página Treinar, clique em Importar documentos.
- Copie e cole o caminho a seguir. Esse diretório contém 5 PDFs W2 sem rótulo. Na lista suspensa Divisão de dados, selecione Treinamento.
cloud-samples-data/documentai/Custom/W2/AutoLabel
- Na seção Rotulagem automática, marque a caixa de seleção Importar com a rotulagem automática.
- Selecione uma versão do processador atual para rotular os documentos.
- Por exemplo:
2af620b2fd4d1fcf
- Clique em Importar e aguarde os documentos. Você pode sair desta página e continuar mais tarde.
- Depois de importados, os documentos aparecem na página Treinar, na seção Rotulados automaticamente.
- Não é possível usar documentos com rótulos automáticos para treinamento ou teste sem marcá-los como rotulados. Acesse a seção Rotulados automaticamente para conferir os documentos com rótulos automáticos.
- Selecione o primeiro documento para acessar o console de rotulagem.
- Verifique se os rótulos, as caixas delimitadoras e os valores estão corretos. Rotule todos os valores que foram omitidos.
- Selecione Marcar como rotulado quando terminar.
- Repita a verificação de cada documento com rótulo automático e volte à página Treinar para usar os dados para o treinamento.
13. Conclusão
Parabéns, você usou corretamente a Document AI para treinar um processador do extrator de documentos personalizado. Agora você pode usar esse processador para analisar documentos nesse formato da mesma maneira que faria com qualquer processador especializado.
Consulte o Codelab de processadores especializados para analisar como lidar com a resposta de processamento.
Limpeza
Para evitar cobranças dos recursos usados neste tutorial na conta do Google Cloud, siga estas etapas:
- No console do Cloud, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto e clique em "Excluir".
- Na caixa de diálogo, digite o ID do projeto e clique em "Encerrar" para excluí-lo.
Recursos
- Documentação do Document AI Workbench
- O futuro dos documentos — Playlist do YouTube (em inglês)
- Documentação da Document AI
- Biblioteca de cliente Python da Document AI
- Amostras da Document AI
Licença
Este conteúdo está sob a licença Atribuição 2.0 Genérica da Creative Commons.