Extração e mapeamento de campo

Concluído

Observação

Consulte a guia Texto e imagens para obter mais detalhes!

A extração de campo é o processo de tirar a saída de texto do OCR e mapear valores de texto individuais para campos de dados específicos e rotulados que correspondem a informações comerciais significativas. Embora o OCR informe qual texto existe em um documento, a extração de campos informa o que esse texto significa e onde ele pertence aos seus sistemas de negócios.

O pipeline 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 pipeline de extração de campo.

Os estágios no processo de extração de campo são:

  1. Ingestão de saída de OCR.
  2. Detecção de campo e identificação de candidato.
  3. Mapeamento de campo e associação.
  4. Normalização e padronização de dados.
  5. Integração com processos e sistemas de negócios.

Vamos explorar esses estágios com mais detalhes.

Estágio 1: captura da saída do OCR

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

  • Conteúdo de texto bruto: os caracteres reais e as palavras extraídas do documento
  • Metadados posicionais: coordenadas da caixa delimitadora, locais da página e informações de ordem de leitura
  • Pontuações de confiança: níveis de confiança do mecanismo OCR para cada elemento de texto
  • Informações de layout: Estrutura do documento, quebras de linha, limites de parágrafo

Observação

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

Estágio 2: Detecção de campo e identificação de candidato

Esse estágio identifica o valor potencial do campo na saída do OCR. Há várias abordagens que podem ser usadas, independentemente ou em combinação, para determinar os campos prováveis nos resultados do OCR.

Detecção baseada em modelo

Os modelos de detecção de campo dependem da correspondência de padrões baseada em regra. A identificação de campo pode ser realizada usando técnicas como:

  • Layouts de documento predefinidos com posições de campo conhecidas e palavras-chave de âncora.
  • Pesquisa pares de rótulo-valor como "Número da Fatura:", "Data:", "Total:".
  • Expressões regulares e algoritmos de correspondência de cadeia de caracteres.

As vantagens de uma abordagem baseada em modelo incluem alta precisão para tipos de documentos conhecidos, processamento rápido e resultados explicaveis.

As limitações da abordagem incluem o requisito de criação manual de modelo e a complexidade causada por variações de layout ou inconsistências de nomenclatura de campo.

Detecção baseada em machine learning

Em vez de lógica codificada para extrair campos com base em nomes e locais conhecidos, você pode usar um corpus de documentos de exemplo para treinar um modelo de machine learning que extrai os campos com base em relações aprendidas. Os modelos baseados em transformador, em particular, são bons em aplicar indicações contextuais para identificar padrões e, portanto, geralmente são a base de uma solução de detecção de campo.

As abordagens de treinamento para modelos de machine learning de detecção de campo incluem:

  • Aprendizado supervisionado: treinado em conjuntos de dados rotulados com locais de campo conhecidos.
  • Aprendizado auto-supervisionado: pré-treinado em grandes corpus de documentos para entender os padrões de layout.
  • Aprendizado multi modal: combina recursos de texto, visuais e posicionais.
  • Arquiteturas de modelo avançadas, como:
    • GNNs (Redes Neurais do Graph) que modelam relações espaciais entre elementos de texto como conexões de grafo.
    • Mecanismos de atenção que se concentram em regiões de documentos relevantes ao prever valores de campo.
    • Modelos de sequência para sequência que transformam sequências de texto não estruturadas em atribuições de campo estruturadas.

IA generativa para extração baseada em esquema

Os recentes avanços em LLMs (grandes modelos de linguagem) levaram ao surgimento de técnicas de detecção de campo baseadas em IA, que permitem uma detecção de campo mais eficiente e eficaz por meio de:

  • Extração baseada em prompt na qual você fornece ao LLM o texto do documento e uma definição de esquema, e ele corresponde o texto aos campos do esquema.
  • Aprendizado de poucas imagens no qual você pode treinar modelos com exemplos mínimos para extrair campos personalizados.
  • Raciocínio de cadeia de pensamento que orienta os modelos por meio da lógica de identificação de campo passo a passo.

Estágio 3: Mapeamento de campo e associação

Depois que os valores candidatos forem identificados, eles deverão ser mapeados para campos de esquema específicos:

Técnicas de emparelhamento chave-valor

Em muitos casos, os campos de dados em um documento ou formulário são valores discretos que podem ser mapeados para chaves - por exemplo, o nome do fornecedor, a data e o valor total em um recibo ou fatura. As 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 de ordem de leitura: siga o fluxo de texto natural para associar rótulos a valores.
    • Relações geométricas: use alinhamento, indentações e padrões de posicionamento.
  • Reconhecimento de padrões linguísticos:

    • NER (Reconhecimento de Entidades Nomeadas): identifique tipos de entidade específicos (datas, valores, nomes).
    • Marcação de parte da fala: entenda as relações gramaticais entre rótulos e valores.
    • Análise de dependência: analisar relações sintacticas no texto.

Processamento de conteúdo estruturado e de tabela

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

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

  • Arquiteturas especializadas de CNN (rede neural convolucional) para reconhecimento de estrutura de tabela.
  • Abordagens de reconhecimento de objetos adaptadas para identificação de células de tabelas.
  • Abordagens de análise baseadas em grafos que modelam a estrutura da tabela 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 entre linha e coluna para mapear células de tabela para esquemas de campo específicos.
  • Detecção de cabeçalho para identificar cabeçalhos de coluna para entender os significados do campo.
  • Processamento hierárquico para lidar com estruturas de tabela aninhadas e os sub-totais.

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

A precisão da extração de campo depende de muitos fatores e os algoritmos e modelos usados para implementar a solução estão sujeitos a possíveis erros de interpretação de valor ou de identificação incorreta. Para considerar isso, várias técnicas são empregadas para avaliar a precisão dos valores de campo previstos; incluindo:

  • Confiança do OCR: herdando pontuações de confiança do reconhecimento de texto subjacente.
  • Confiança de correspondência de padrões: pontuação com base em quão bem a extração corresponde aos padrões esperados.
  • Validação de contexto: verificar se os valores de campo fazem sentido no contexto do documento.
  • Validação entre campos: verificando as relações entre campos extraídos (por exemplo, verificando se os subtotais de itens de linha somam ao total geral da fatura).

Estágio 4: Normalização e padronização de dados

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

Padronização de formato

Exemplos de padronização de formato que podem ser implementados incluem:

  • Normalização de data:

    • Detecção de formato: identificar vários formatos de data (MM/DD/YYYY, DD-MM-YYYY, etc.).
    • Algoritmos de análise: converter em formatos ISO padronizados.
    • Resolução de ambiguidade: tratar casos em que o formato de data não está claro.
  • Processamento monetário e numérico:

    • Reconhecimento de símbolos: lidar com diferentes símbolos de moeda e separadores de milhar.
    • Normalização decimal: padronizar a representação de ponto decimal entre as localidades.
    • Conversão de unidade: converter entre unidades de medida diferentes, conforme necessário.
  • Padronização de texto:

    • Normalização de caso: aplicar regras de capitalização consistentes.
    • Padronização de codificação: manipular codificações de caracteres diferentes e caracteres especiais.
    • Expansão de abreviação: converter abreviações comuns em formulários completos.

Validação de dados e Garantia de Qualidade

Além de formatar os campos extraídos, o processo de padronização permite a validação adicional dos valores que foram extraídos por meio de técnicas como:

  • Validação baseada em regra:

    • Verificação de formato: verifique se os valores extraídos correspondem aos padrões esperados (números de telefone, endereços de email).
    • Validação de faixas: verifique se os valores numéricos estão dentro de limites razoáveis.
    • Verificação de campo necessária: confirme se todos os campos obrigatórios estão presentes.
  • Validação estatística:

    • Detecção de exceção: identifique valores extraordinariamente altos ou baixos que possam indicar erros de extração.
    • Análise de distribuição: compare os valores extraídos com os padrões históricos.
    • Validação entre documentos: verifique a consistência entre documentos relacionados.

Estágio 5: Integração com processos e sistemas de negócios

O estágio final do processo geralmente envolve a integração dos valores de campo extraídos em um processo ou sistema de negócios:

Mapeamento de esquemas

Os campos extraídos podem precisar ser transformados ou reformatados para que eles se alinhem com os esquemas de aplicativo usados para ingestão de dados em sistemas downstream. Por exemplo:

  • Esquemas de banco de dados: mapeie campos extraídos para colunas e tabelas de banco de dados específicas.
  • Cargas de API: formatar dados para consumo de API REST por sistemas downstream.
  • Filas de mensagens: prepare mensagens estruturadas para processamento assíncrono.

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

  • Renomeação de campo: Mapeie os nomes de campos extraídos conforme as convenções do sistema de destino.
  • Conversão de tipo de dados: verifique se os valores correspondem aos tipos de dados esperados em sistemas de destino.
  • Lógica condicional: aplicar regras de negócios para transformação de campo e derivação.

Relatórios e métricas de qualidade

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

  • Pontuações de confiança em nível de campo: classificações de confiança individuais para cada campo extraído.
  • Avaliação de qualidade no nível do documento: métricas gerais de êxito de extração.
  • Categorização de erro: classificar falhas de extração por tipo e causa.