JOYN GROUP

Escrito por: Eduardo Poças

Solero vai ser muito mais do que um robot!

Colocámos em produção a nova versão da docdigitizer, a V2 também conhecida como Solero.

Estamos muito entusiasmados pois é um resultado de uma combinação de esforço da equipa durante mais de um ano, conseguindo mudar toda a arquitetura em relação à V1. O que mudamos estruturalmente? Mudamos a linguagem de programação, trabalhávamos com Python e começamos a usar .Net Core, o que permite instalar o DocDigitizer em qualquer tipo de plataforma: cloud ou on prem e sistema operativo: Windows, Linux ou até macOS, enquanto que a V1 estava muito agarrada a Python e aos serviços da Google, o que fazia com que pudesse existir clientes isolados que não conseguíamos instalar na infraestrutura do mesmo.

Montámos e introduzimos um sistema com uma arquitetura orientada a micro-serviços em vez de ser um projeto monolítico, temos agora vários projetos/peças que se complementam e que produzem o resultado final esperado. Dessas peças, o cliente tem especial interesse pelo Asset Gateway, a porta de entrada por onde o cliente submete os documentos para os quais necessita de obter as anotações, simplificando assim a interação e o produto final.  Esta arquitetura permite ainda ter clientes que tenham informação sensível e documentos sensível dentro de uma bolha isolada deles, numa nuvem partilhada. O sistema depois de aprender e saber extrair, por exemplo, um cartão de cidadão todos os clientes conseguem usar estes modelos sem nos dar informações confidenciais. Esses dados ficam dentro do Asset Gateway que saem apenas temporariamente para os revisores conseguirem extrair os dados quando necessário, mas o que fica na parte de Machine Learning são os dados agregados sem ser a informação sensível ou sem ser possível reconstruir a mesma, sendo que a segurança dos clientes fica sempre salvaguardada.

Enquanto tradicionalmente os métodos de revisão dos documentos assentam numa estrutura que é o formulário de um lado e imagem do documento de outro e o revisor vai preenchendo os campos, o DocDigitizer está a inverter esse paradigma. Agregamos perguntas que são conceptualmente iguais, mostrando numa sequência rápida cartões de cidadão para o revisor extrair os dados pois só precisa de olhar para uma informação e escrever.

Para o futuro estamos a construir modelos de forma a que o revisor não tenha que escrever o valor esperado, pois o Machine Learning irá dar sugestões e questionar se a informação que estão a ver é a correta e o revisor irá apenas ter que responder binariamente com “sim" ou “não", tornando a revisão mais rápida e mais precisa.

Passamos a ter casos reais assentes nesta plataforma e conseguimos extrair informação de milhares de documentos, à volta de 12 a 15 mil respostas dadas por humanos que permitiram dar informação muito rica sendo que é o que nos vai permitir agora melhorar continuamente os motores de aprendizagem de machine learning.

Funciona num regime de aprendizagem continua automática, o motor vive autonomamente e concentrando-se em três aspectos. 1 aprender um documento, cada vez que um humano feche um documento, é entregue ao machine learning com toda a informação relevante assim como com o tipo para que consiga preencher todos os campos, 2. extrai informação, facultamos documentos e questionamos o que é e qual o valor dos campos e ele faz o melhor que conseguir para adivinhar 3. quando repara que já tem evidencias suficientes de um determinado tipo de documento ele dispara um processo de hipóteses em que vai tentar processo de hipóteses que está continuamente a criar modelos e a escolher aqueles que mais se adequam à realidade que já conhece.

O nosso machine learning não se vai limitar à extracção de dados de documentos, vai também ser muito útil na gestão de trabalho dos revisores. Será uma das características para o futuro, pois vai ser possível ajudar os revisores a serem melhores, ou seja, vamos tentar perceber quando é que os humanos falham e onde, criando padrões de trabalho e de comportamento.

Juntos vamos conseguir melhorar o DocDigitizer.