neogrid

neogrid

neogrid

Desafio

Diante da diversidade de layouts para um mesmo documento e o grande número de usuários da plataforma Connect, o desafio consistia não somente em identificar qual documento o arquivo tabular enviado correspondia, mas também detectar metadados do arquivo bem como também o conteúdo de suas colunas. Todas estas informações a serem retornadas como saídas dos modelos construídos correspondiam a listagem abaixo:

  • Papel do usuário (Distribuidor ou Varejo);
  • Idioma (pt-br, pt-pt, en, es, fr, fil, th e tk);
  • Codificação;
  • Caracter Separador;
    • Se o caracter separador fosse diferente de espaço(‘ ‘), deveria-se também identificar o nome de cada uma das colunas da tabela a partir de seus valores.
  • Tipo do Documento (DI – Clientes, DI – Posição de Estoque, Cadastro de Lojas, etc.);
  • Tipos de Registros (Cabeçalho, Cliente, Estoque, Vendedor, etc.);
  • Tipo de Layout (DI – Clientes 050, DI – Clientes 090, etc.);

neogrid

Solução

​​Para cada uma das informações listadas como requisitos de identificação, foi criado um modelo de classificação de texto com técnicas de PNL (Processamento de Linguagem Natural). Já para os arquivos que também requiriam identificação do nome das colunas, criou-se dois modelos de abordagens distintas para colunas numéricas e colunas textuais, como descrito abaixo:

  • Colunas Numéricas: modelo de Machine Learning (ML) de classificação multiclasses, onde cada classe correspondia ao nome de uma coluna numérica diferente.
  • Colunas Textuais: modelo de PLN dos mesmos moldes dos modelos anteriores para identificação de informações gerais e metadados, tratando-se de uma classificação de texto.

Todos os modelos desenvolvidos deveriam ser disponibizados em uma API para uso interno Neogrid, e os mesmos também deveriam ser registrados como modelos no Azure Machine Learning para controle de métricas. Como fonte de dados utilizou-se o Blob Storage e todo o mecanismo de retreino automático também foi disponibizado no ambiente do Azure ML.

A nível de aplicação, têm se que:

  • Entrada: arquivo tabular dos tipos especificados a ser enviado como parâmetro da requisição da API.
  • Saída: JSON com campos referentes às informações a serem identificadas contendo as saídas dos modelos.

neogrid

Resultados

  • ​Melhoria na identidade de comunicação e experiência do usuário entre os diversos apps, com a definição de um design system;
  • Aumento de escalabilidade e desempenho das aplicações, graças a arquitetura baseada em microserviços;
  • Redução de custos com a utilização de PaaS, em uma arquitetura baseada em containers, bancos de dados de diferentes formatos de persistência de acordo com a particularidade de cada serviço e com a utilização de serviços serveless;
  • Aumento da segurança e confiabilidade com a utilização de API Management, WAF e comunicação entre serviços baseado em eventos e troca de mensagens (Event Driven).

neogrid

Tecnologias aplicadas

​Nuvem Publica Microsoft Azure – O Microsoft Azure é uma plataforma destinada à execução de aplicativos e serviços, baseada nos conceitos da computação em nuvem Azure Synapse – serviço de análise ilimitado que reúne data warehouse empresarial e análise de Big Data. Ele oferece a liberdade para consultar dados da forma que você quiser, usando recursos em escala sem servidor ou dedicados Azure Blob – solução de armazenamento de objetos da Microsoft para a nuvem. O armazenamento de Blobs é otimizado para armazenar grandes quantidades de dados não estruturados.
Desafio
neogrid

Desafio

Diante da diversidade de layouts para um mesmo documento e o grande número de usuários da plataforma Connect, o desafio consistia não somente em identificar qual documento o arquivo tabular enviado correspondia, mas também detectar metadados do arquivo bem como também o conteúdo de suas colunas. Todas estas informações a serem retornadas como saídas dos modelos construídos correspondiam a listagem abaixo:

  • Papel do usuário (Distribuidor ou Varejo);
  • Idioma (pt-br, pt-pt, en, es, fr, fil, th e tk);
  • Codificação;
  • Caracter Separador;
    • Se o caracter separador fosse diferente de espaço(‘ ‘), deveria-se também identificar o nome de cada uma das colunas da tabela a partir de seus valores.
  • Tipo do Documento (DI – Clientes, DI – Posição de Estoque, Cadastro de Lojas, etc.);
  • Tipos de Registros (Cabeçalho, Cliente, Estoque, Vendedor, etc.);
  • Tipo de Layout (DI – Clientes 050, DI – Clientes 090, etc.);

Solução
neogrid

Solução

​​Para cada uma das informações listadas como requisitos de identificação, foi criado um modelo de classificação de texto com técnicas de PNL (Processamento de Linguagem Natural). Já para os arquivos que também requiriam identificação do nome das colunas, criou-se dois modelos de abordagens distintas para colunas numéricas e colunas textuais, como descrito abaixo:

  • Colunas Numéricas: modelo de Machine Learning (ML) de classificação multiclasses, onde cada classe correspondia ao nome de uma coluna numérica diferente.
  • Colunas Textuais: modelo de PLN dos mesmos moldes dos modelos anteriores para identificação de informações gerais e metadados, tratando-se de uma classificação de texto.

Todos os modelos desenvolvidos deveriam ser disponibizados em uma API para uso interno Neogrid, e os mesmos também deveriam ser registrados como modelos no Azure Machine Learning para controle de métricas. Como fonte de dados utilizou-se o Blob Storage e todo o mecanismo de retreino automático também foi disponibizado no ambiente do Azure ML.

A nível de aplicação, têm se que:

  • Entrada: arquivo tabular dos tipos especificados a ser enviado como parâmetro da requisição da API.
  • Saída: JSON com campos referentes às informações a serem identificadas contendo as saídas dos modelos.

Resultados
neogrid

Resultados

  • ​Melhoria na identidade de comunicação e experiência do usuário entre os diversos apps, com a definição de um design system;
  • Aumento de escalabilidade e desempenho das aplicações, graças a arquitetura baseada em microserviços;
  • Redução de custos com a utilização de PaaS, em uma arquitetura baseada em containers, bancos de dados de diferentes formatos de persistência de acordo com a particularidade de cada serviço e com a utilização de serviços serveless;
  • Aumento da segurança e confiabilidade com a utilização de API Management, WAF e comunicação entre serviços baseado em eventos e troca de mensagens (Event Driven).

Tecnologias aplicadas
neogrid

Tecnologias aplicadas

​Nuvem Publica Microsoft Azure – O Microsoft Azure é uma plataforma destinada à execução de aplicativos e serviços, baseada nos conceitos da computação em nuvem Azure Synapse – serviço de análise ilimitado que reúne data warehouse empresarial e análise de Big Data. Ele oferece a liberdade para consultar dados da forma que você quiser, usando recursos em escala sem servidor ou dedicados Azure Blob – solução de armazenamento de objetos da Microsoft para a nuvem. O armazenamento de Blobs é otimizado para armazenar grandes quantidades de dados não estruturados.