Reconhecimento Óptico de Caracteres em Contratos

Muitas empresas que trabalham com processamento de documentos, sejam escritórios de advocacia, cartórios, indústrias, precisam extrair informações desses, os quais, quando já digitalizados, encontram-se em formatos portáteis como .pdf ou até mesmo como imagens .png, .tiff, etc. O método que realiza a leitura do documento e transforma as informações em texto, que pode ser processado posteriormente, chama-se OCR – Reconhecimento Óptico de Caracteres (Optical Character Recognition do Inglês).

A Figura 1 abaixo, apresenta um fluxograma geral de processamento de documentos utilizando OCR. Em geral, os arquivos que serão processados são convertidos para um formato de interesse (Figura 1a), para posteriormente serem pré-processados (Figura 1b). Nessa etapa é utilizada a biblioteca do Python OpenCV, onde são aplicados filtros e métodos que tendem a eliminar distorções na imagem, para que em seguida a mesma possa ser processada utilizando as bibliotecas Layout Parser e Tesseract (Figura 1c) e as informações extraídas analisadas por técnicas de Processamento de Linguagem Natural, tema de um artigo anterior, que utiliza os módulos spaCy e NLTK.

Figura 1 – Fluxograma geral de processamento de documentos etapas de (a) conversão, (b) pré-processamento, (c) processamento OCR e (d) Processamento de Linguagem Natural.

PRÉ-PROCESSAMENTO

Conforme explicado no parágrafo anterior, utiliza-se o OpenCV para o pré-processamento, que realiza etapas de tratamento como binarização, eliminação de bordas, alinhamento de imagem, remoção de ruído, entre outras, tudo com o objetivo de eliminar informações desnecessárias que possam prejudicar a extração de informações da imagem. A Figura 2a apresenta uma imagem de um documento-padrão de um banco de dados, que deve ser processado. Esse documento é uma imagem colorida contendo texto, que apresenta uma leve rotação e ruído – comuns a processos de digitalização. Na Figura 2b, temos a imagem após pré-processamento, pelas etapas de: (i) transformação para tons de cinza, (ii) redução de ruído, (iii) limiarização por histograma, (iv) alinhamento, entre outras.

Figura 2 – (a) Documento original, (b) documento pré-processado.

PROCESSAMENTO

A etapa de processamento permitirá fazer o reconhecimento óptico do texto nas imagens, que é propriamente o OCR. Essa etapa utiliza aprendizado de máquina para que se tenha um modelo que saiba identificar os elementos do layout do documento, sejam eles cabeçalhos, texto, tabelas, figuras, entre outros. A Figura 3a, mostra nossa imagem de exemplo já processada por essa etapa. Observa-se que foram marcados itens em verde (títulos), azul (imagens) e alaranjado (textos). Na Figura 3b, estão sendo mostrados somente os parágrafos detectados como ‘texto’, que serão utilizados para análises subsequentes.

Figura 3 – (a) identificação de todos itens e (b) identificação de texto de parágrafos somente.

Os itens da Figura 3b são transformados em texto (as chamadas strings de texto) e podem ser analisados posteriormente. A Figura 4 apresenta uma imagem das informações extraídas da Figura 3b.

Figura 4 – Texto extraído da imagem.

Neste pequeno artigo, foi apresentada uma possibilidade de processamento via OCR. Existem muitos outros filtros ou etapas de processamento que podem ser incorporadas para garantir que as informações corretas serão extraídas do documento. Essa é uma técnica indispensável para empresas que se utilizam de processamento de documentos de forma automática e a utilização de ferramentas de Aprendizado de Máquina garantem a aplicação para os mais diversos tipos de documentos.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *