Informações do projeto

  • Categoria: Inteligência Artificial
  • Cliente: Confidencial
  • Duração do projeto: 2 meses
  • URL do projeto: NA

Documents Classify

INTRODUÇÃO
O uso e arquivamento de documentos em empresas, seja ela do setor público ou privado, ainda persiste nos dias atuais. Um funcionário público, por exemplo, acumula em sua carreira, cerca de 130 tipos de documentos, que vão desde diploma escolar até certificado de participação em eventos como forma de comprovação para ascensão de cargo. Por não se ter um controle mais rígido alguns documentos são cadastrados de forma ilegível ou, até diferente, do solicitado pelo sistema interno de RH. Isso posto, com o passar dos anos é comum que sejam encontradas muitas “sujeiras” no banco de dados.


OBJETIVO
A Aironnet Systems desenvolveu uma API (Application Programming Interface) capaz de aprender os mais diversos tipos de documentos através de Machine Learning e, integrado ao sistema, informar se o tipo de documento que está sendo carregado para o banco de dados se trata realmente do tipo de documento. Dessa forma, ao fazer o upload no sistema no campo RG o analisador verifica se o que está sendo passado realmente se trata de um RG. Um aviso é exibido ao operador que é notificado em tempo real da intenção de subir um documento no campo errado. A decisão do operador é registrado em log para uma posterior Auditoria. Com um script apropriado integrado a API para varrer o banco pode-se facilmente identificar se realmente existe um documento associado a seu tipo.


ETAPAS

  1. Coleta e o pré-processamento;
  2. Classificação;
  3. OCR (Optical Character Recognition);
  4. PNL (Processamento de linguagem Natural).
     

COLETA E PRÉ-PROCESSAMENTO
Uma vez passado o arquivo (Imagem ou PDF) uma cópia é realizada e convertida em imagem em escala de cinza, redimensionada, além de ajustes de saturação. Um dos desa os de arquivos digitalizados sem qualquer cuidado são: o alinhamento e a perspectiva do documento dentro da imagem. A falta de alinhamento e/ou perspectiva distorcida podem reduzir drasticamente a acurácia da classificação/OCR. Para corrigir isso dois tratamentos na imagem são utilizados: Skew e o Four Point Transform. O skew consiste no alinhamento do texto em 90 graus baseado no alinhamento de linhas paralelas encontradas na imagem. O four point transform trata do ajuste de perspectiva calculando o tamanho dos objetos retangulares dentro da imagem e tratando os ângulos entre as arestas. Tais ajustes permitem, além de uma melhor leitura pelo classificador, uma melhor performance de processamento.


CLASSIFICAÇÃO
Uma vez a imagem pré-processada o classificador entra em ação para converter a imagem em uma grande matriz numérica de localização de pixels. Um dos modelos de Deep Learning mais utilizados para o reconhecimento e classificação de imagens é o CNN (Convolution Neural Network) que foi utilizado nesse projeto. A CNN "aprende" a  classificação de imagens que foi utilizado nesse projeto. A CNN aprende a reconhecer objetos (Classes), através de um processo de treino de visualização de sucessivas imagens que foram previamente classificadas. As CNN introduzem um pré-processamento nelas mesmas antes de darem entrada na rede, só a partir daí a rede efetua um processo de treino para aprender e identificar os padrões comuns de cada classe para ser capaz de as reconhecer após o treino. A utilização de IA e CNN, permitem uma maior velocidade, desempenho e qualidade dos resultados obtidos.


OCR (Optical Character Recognition)
O OCR (Reconhecimento Ótico de Caracteres, em português) é uma tecnologia (que está cando mais precisa) que permite converter uma imagem em texto (se tiver, obviamente). A conversão de imagem em texto facilita bastante a estruturação de conteúdo dos documentos digitalizados e sua localização em relação aos documentos físicos, além de outras aplicações automáticas com Big Data, por exemplo.


PLN (Processamento de linguagem Natural)
O Processamento de Linguagem Natural (PLN) consiste, basicamente, no desenvolvimento de modelos computacionais que realizam tarefas que dependem de informações expressas em alguma língua natural. É uma área da Inteligência Artificial que ajuda computadores a entender, interpretar e manipular a linguagem humana como ela é, usando machine learning e deep learning. Atualmente a PNL é muito utilizada no nosso dia a dia em: Análise de sentimento, Tradutores (conversão de uma língua em outra), Categorização de conteúdo, Descoberta e modelagem de tópicos, Extração contextual, Conversão fala-texto (STT) e texto-fala (TTS) e Sumarização. Para o Documents Classify a extração de texto (OCR) é aplicado a um PLN para análise de conteúdo e, como resultado, a classificação (CNH, RG, CPF, Certidão de Nascimento/ Casamento, etc) , aumentando, assim, a acurácia do sistema.


RESULTADOS OBTIDOS