Extração de campo e mapeamento

Concluído

Observação

Consulte a guia Texto e imagens para obter mais detalhes!

A extração de campos é o processo de capturar a saída de texto do OCR e mapear valores de texto individuais para campos de dados específicos rotulados que correspondem a informação de negócio significativa. Enquanto o OCR indica que texto existe num documento, a extração por campo diz-lhe o que esse texto significa e onde pertence nos seus sistemas empresariais.

O oleoduto de extração de campo

A extração de campo segue um pipeline sistemático que transforma a saída de OCR em dados estruturados.

Diagrama do oleoduto de extração do campo.

As etapas do processo de extração em campo são:

  1. Ingestão de resultados de OCR.
  2. Deteção de campo e identificação de candidatos.
  3. Mapeamento de campo e associação.
  4. Normalização e padronização de dados.
  5. Integração com processos e sistemas empresariais.

Vamos explorar estas fases com mais detalhe.

Fase 1: Ingestão da saída do OCR

O processo começa com a saída estruturada do pipeline OCR, que pode incluir:

  • Conteúdo do texto bruto: Os caracteres e palavras reais extraídos do documento
  • Metadados posicionais: Coordenadas da caixa delimitadora, localização das páginas e informação sobre a ordem de leitura
  • Pontuações de confiança: níveis de confiança do motor OCR para cada elemento de texto
  • Informação de layout: Estrutura do documento, quebras de linha, limites de parágrafo

Observação

Ao contrário do processamento simples de texto, a extração de campos depende muito do local onde o texto aparece no documento, não apenas do que diz. A posição do "12345" pode ajudar a determinar se é um número de fatura, ID de cliente ou número de telefone.

Fase 2: Deteção de campo e identificação de candidatos

Esta etapa identifica possíveis valores de campo na saída do OCR. Existem múltiplas abordagens que podem ser usadas, independentemente ou em combinação, para determinar os campos prováveis nos resultados do OCR.

Deteção baseada em modelos

Os modelos para deteção de campos baseiam-se na correspondência de padrões baseada em regras. A identificação de campo pode ser realizada usando técnicas como:

  • Layouts de documentos pré-definidos com posições de campo conhecidas e palavras-chave âncora.
  • Procura pares de valor etiqueta como "Número da Fatura:", "Data:", "Total:".
  • Expressões regulares e algoritmos de correspondência de cadeias.

As vantagens de uma abordagem baseada em modelos incluem elevada precisão para tipos de documentos conhecidos, processamento rápido e resultados explicáveis.

As limitações desta abordagem incluem a necessidade de criação manual de modelos e a complexidade causada por variações no layout ou inconsistências nos nomes dos campos.

Deteção baseada em aprendizagem automática

Em vez de lógica codificada para extrair campos com base em nomes e localizações conhecidas, pode usar um corpus de documentos de exemplo para treinar um modelo de aprendizagem automática que extrai os campos com base em relações aprendidas. Os modelos baseados em transformadores, em particular, são bons a aplicar pistas contextuais para identificar padrões e, por isso, são frequentemente a base de uma solução de deteção de campo.

Abordagens de treino para modelos de aprendizagem automática de deteção em campo incluem:

  • Aprendizagem supervisionada: Treinado com conjuntos de dados rotulados com localizações de campo conhecidas.
  • Aprendizagem auto-supervisionada: Pré-treinado em corpora de documentos grandes para compreender padrões de layout.
  • Aprendizagem multimodal: Combina texto, visuais e características posicionais.
  • Arquiteturas avançadas de modelos, tais como:
    • Redes Neurais de Grafos (GNNs) que modelam relações espaciais entre elementos de texto como ligações de grafos.
    • Mecanismos de atenção que se focam nas regiões relevantes do documento ao prever os valores do campo.
    • Modelos de sequência a sequência que transformam sequências de texto não estruturadas em atribuições de campo estruturadas.

IA generativa para extração baseada em esquemas

Avanços recentes em grandes modelos de linguagem (LLMs) levaram ao surgimento de técnicas de deteção de campo baseadas em IA generativa, que permitem uma deteção de campo mais eficiente e eficaz através de:

  • Extração baseada em prompts em que fornece ao LLM texto do documento e uma definição de esquema, e ele corresponde o texto aos campos do esquema.
  • Few-shot learning em que é possível treinar modelos com exemplos mínimos para extrair campos personalizados.
  • Raciocínio em cadeia de pensamento que orienta os modelos através da lógica de identificação de campos passo a passo.

Fase 3: Mapeamento de campo e associação

Após a identificação dos valores candidatos, estes devem ser mapeados para campos específicos do esquema:

Técnicas de associação chave-valor

Em muitos casos, os campos de dados num documento ou formulário são valores discretos que podem ser mapeados para chaves – por exemplo, o nome do fornecedor, a data e o montante total num recibo ou fatura. Técnicas comuns usadas para emparelhamento chave-valor incluem:

  • Análise de proximidade:

    • Agrupamento espacial: Agrupar elementos de texto próximos usando algoritmos de distância.
    • Análise da ordem de leitura: Siga o fluxo natural do texto para associar rótulos a valores.
    • Relações geométricas: Use padrões de alinhamento, indentação e posicionamento.
  • Reconhecimento de padrões linguísticos:

    • Reconhecimento de entidades nomeadas (NER): Identificar tipos específicos de entidades (datas, montantes, nomes).
    • Etiquetagem de partes do discurso: Compreender as relações gramaticais entre os rótulos e os valores.
    • Análise sintática de dependências: Analise relações sintáticas no texto.

Processamento de tabelas e conteúdos estruturados

Alguns documentos incluem estruturas de texto mais complexas, como tabelas. Por exemplo, um recibo ou fatura pode incluir uma tabela de itens com colunas para o nome do artigo, preço e quantidade comprada.

A presença de uma tabela pode ser determinada usando várias técnicas, incluindo:

  • Arquiteturas especializadas de redes neuronais convolucionais (CNN) para reconhecimento de estruturas de tabelas.
  • Abordagens de detecção de objetos adaptadas para identificação de células de uma tabela.
  • Abordagens de análise baseada em grafos que modelam a estrutura das tabelas como relações de grafos entre células.

Para mapear os valores nas células de uma tabela para campos, a solução de extração de campo pode empregar uma ou mais das seguintes técnicas:

  • Associação linha-coluna para mapear células de uma tabela a esquemas específicos de campos.
  • Deteção de cabeçalhos para identificar cabeçalhos de colunas e compreender os significados dos campos.
  • Processamento hierárquico para lidar com estruturas de tabelas aninhadas e subtotais.

Pontuação e validação da confiança

A precisão da extração em campo depende de muitos fatores, e os algoritmos e modelos usados para implementar a solução estão sujeitos a potenciais erros de identificação errada ou interpretação de valores. Para ter em conta isto, são empregues várias técnicas para avaliar a precisão dos valores previstos do campo; incluindo:

  • Confiança OCR: Herdar pontuações de confiança do reconhecimento de texto subjacente.
  • Confiança em correspondência de padrões: Pontuação baseada em quão bem a extração corresponde aos padrões esperados.
  • Validação do contexto: Verificar que os valores dos campos fazem sentido no contexto do documento.
  • Validação entre campos: Verificação das relações entre campos extraídos (por exemplo, verificação de que os subtotais de itens de linha somam o total total da fatura).

Fase 4: Normalização e padronização de dados

Os valores brutos extraídos são geralmente transformados em formatos consistentes (por exemplo, para garantir que todas as datas extraídas são expressas no mesmo formato de data) e verificados quanto à validade.

Padronização de formatos

Exemplos de normalização de formatos que podem ser implementados incluem:

  • Normalização de datas:

    • Deteção de formatos: Identificar vários formatos de data (MM/DD/YYYY, DD-MM-YYYY, etc.).
    • Algoritmos de análise sintáctica: Converter para formatos ISO padronizados.
    • Resolução de ambiguidades: Lidar com casos em que o formato da data não é claro.
  • Processamento monetário e numérico:

    • Reconhecimento de símbolos: Lidar com diferentes símbolos de moeda e separadores de mil.
    • Normalização decimal: Padronizar a representação do ponto decimal entre locais.
    • Conversão de unidades: Converter entre diferentes unidades de medição conforme necessário.
  • Padronização do texto:

    • Normalização de casos: Aplicar regras consistentes de capitalização.
    • Padronização da codificação: Lidar com diferentes codificações de caracteres e caracteres especiais.
    • Expansão de abreviaturas: Converter abreviaturas comuns em formas completas.

Validação de Dados e Garantia de Qualidade

Para além da formatação dos campos extraídos, o processo de normalização permite uma validação adicional dos valores extraídos através de técnicas como:

  • Validação baseada em regras:

    • Verificação de formatos: verificar se os valores extraídos correspondem aos padrões esperados (números de telefone, endereços de email).
    • Validação de intervalos: Garantir que os valores numéricos se enquadram em limites razoáveis.
    • Verificação obrigatória de campos: Confirme que todos os campos obrigatórios estão presentes.
  • Validação estatística:

    • Deteção de outliers: Identificar valores incomumente altos ou baixos que possam indicar erros de extração.
    • Análise de distribuição: Compare os valores extraídos com padrões históricos.
    • Validação entre documentos: Verifique a consistência entre documentos relacionados.

Etapa 5: Integração com processos e sistemas de negócio

A fase final do processo geralmente envolve a integração dos valores extraídos dos campos num processo ou sistema de negócio:

Mapeamento de esquema

Os campos extraídos podem precisar de ser transformados ou reformatados para se alinharem com os esquemas de aplicação usados para a ingestão de dados em sistemas posteriores. Por exemplo:

  • Esquemas de bases de dados: Mapear campos extraídos para colunas e tabelas específicas da base de dados.
  • Cargas úteis da API: Formatar dados para o consumo de APIs REST por sistemas inferiores.
  • Filas de mensagens: Prepare mensagens estruturadas para processamento assíncrono.

O processo de mapeamento de esquemas pode envolver transformações tais como:

  • Renomeação de campos: Mapear os nomes extraídos dos campos para as convenções do sistema-alvo.
  • Conversão de tipos de dados: Garantir que os valores correspondem aos tipos de dados esperados nos sistemas-alvo.
  • Lógica condicional: Aplicar regras de negócio para transformação e derivação de campos.

Métricas de qualidade e relatórios

Outra tarefa comum após o término do processo de extração é avaliar e reportar a qualidade dos dados extraídos. O relatório pode incluir informações como:

  • Pontuações de confiança ao nível do campo: Classificações individuais de confiança para cada campo extraído.
  • Avaliação da qualidade ao nível do documento: Métricas globais de sucesso na extração.
  • Categorização de erros: Classificar falhas de extração por tipo e causa.