Editar

Automatize o processamento de documentos usando o AI Document Intelligence

Azure AI Search
Azure AI services
Azure Cosmos DB
Azure AI Document Intelligence
Azure Machine Learning

Este artigo descreve uma solução escalável e segura para criar um pipeline de processamento automatizado de documentos. A solução utiliza IA Document Intelligence para a extração estruturada de dados. Modelos de processamento de linguagem natural (NLP) e modelos personalizados enriquecem os dados.

Arquitetura

Diagrama de arquitetura que mostra como os dados fluem através dos estágios de extração, enriquecimento e análise do processamento de documentos.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

As seções a seguir descrevem as várias etapas do processo de extração de dados.

Ingestão e extração de dados

  1. Os documentos são ingeridos através de um navegador no front-end de uma aplicação Web. Os documentos contêm imagens ou estão em formato PDF. O Serviço de Aplicativo do Azure hospeda um aplicativo back-end. A solução roteia os documentos para esse aplicativo por meio do Gateway de Aplicativo do Azure. Esse balanceador de carga é executado com o Firewall de Aplicativo Web do Azure, que ajuda a proteger o aplicativo contra ataques e vulnerabilidades comuns.

  2. O aplicativo back-end posta uma solicitação para um ponto de extremidade da API REST do Azure AI Document Intelligence que usa um destes modelos:

    A resposta do Azure AI Document Intelligence contém dados brutos de reconhecimento ótico de caracteres (OCR) e extrações estruturadas. O Azure AI Document Intelligence também atribui [valores de confiança][Características e limitações do Reconhecedor de Formulário - Avaliação do cliente] aos dados extraídos.

  3. O aplicativo back-end do Serviço de Aplicativo usa os valores de confiança para verificar a qualidade da extração. Se a qualidade estiver abaixo de um limite especificado, o aplicativo sinalizará os dados para verificação manual. Quando a qualidade da extração atende aos requisitos, os dados entram no Azure Cosmos DB para consumo de aplicativos downstream. O aplicativo também pode retornar os resultados para o navegador front-end.

  4. Outras fontes fornecem imagens, arquivos PDF e outros documentos. As fontes incluem anexos de e-mail e servidores FTP (File Transfer Protocol). Ferramentas como o Azure Data Factory e o AzCopy transferem esses arquivos para o Armazenamento de Blobs do Azure. As Aplicações Lógicas do Azure oferecem pipelines para extrair automaticamente anexos de e-mails.

  5. Quando um documento entra no Armazenamento de Blob, uma função do Azure é acionada. A função:

    • Publica uma solicitação no ponto de extremidade pré-criado relevante do Azure AI Document Intelligence.
    • Recebe a resposta.
    • Avalia a qualidade da extração.
  6. Os dados extraídos entram no Azure Cosmos DB.

Melhoramento de dados

O pipeline usado para enriquecimento de dados depende do caso de uso.

  1. O enriquecimento de dados pode incluir os seguintes recursos de PNL:

    • Reconhecimento de entidade nomeada (NER)
    • A extração de informações pessoais, frases-chave, informações de saúde e outras entidades dependentes do domínio

    Para enriquecer os dados, o aplicativo Web:

  2. Os modelos personalizados realizam deteção de fraude, análise de risco e outros tipos de análise nos dados:

    • Os serviços do Azure Machine Learning treinam e implantam os modelos personalizados.
    • Os dados extraídos são recuperados do Azure Cosmos DB.
    • Os modelos derivam insights dos dados.

    Estas possibilidades existem para inferir:

    • Processos em tempo real. Os modelos podem ser implantados em pontos de extremidade online gerenciados ou pontos de extremidade online do Kubernetes, onde o cluster Kubernetes gerenciado pode estar em qualquer lugar, incluindo o Serviço Kubernetes do Azure (AKS).
    • A inferência em lote pode ser feita em pontos de extremidade em lote ou em Máquinas Virtuais do Azure.
  3. Os dados enriquecidos entram no Azure Cosmos DB.

Análises e visualizações

  1. Os aplicativos usam o OCR bruto, os dados estruturados dos pontos de extremidade do Azure AI Document Intelligence e os dados enriquecidos da NLP:

    • O Power BI exibe os dados e apresenta relatórios sobre eles.
    • Os dados funcionam como uma fonte para a Pesquisa Cognitiva do Azure.
    • Outros aplicativos consomem os dados.

Componentes

  • O Serviço de Aplicativo é uma oferta de plataforma como serviço (PaaS) no Azure. Você pode usar o Serviço de Aplicativo para hospedar aplicativos Web que podem ser dimensionados manualmente ou automaticamente. O serviço suporta várias linguagens e frameworks, como ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP e Python.

  • O Application Gateway é um balanceador de carga de camada 7 (camada de aplicativo) que gerencia o tráfego para aplicativos Web. Você pode executar o Gateway de Aplicativo com o Firewall de Aplicativo Web do Azure para ajudar a proteger aplicativos Web contra explorações e vulnerabilidades comuns.

  • O Azure Functions é uma plataforma de computação sem servidor que você pode usar para criar aplicativos. Com o Functions, você pode usar gatilhos e associações para reagir a alterações nos serviços do Azure, como o Armazenamento de Blobs e o Azure Cosmos DB. As funções podem executar tarefas agendadas, processar dados em tempo real e processar filas de mensagens.

  • O Azure AI Document Intelligence faz parte dos serviços de IA do Azure. O Azure AI Document Intelligence oferece uma coleção de pontos de extremidade pré-criados para extrair dados de faturas, documentos, recibos, cartões de identificação e cartões de visita. Este serviço mapeia cada parte dos dados extraídos para um campo como um par chave-valor. O Azure AI Document Intelligence também extrai o conteúdo e a estrutura da tabela. O formato de saída é JSON.

  • O Armazenamento do Azure é uma solução de armazenamento em nuvem que inclui armazenamento de objetos, blobs, arquivos, discos, filas e tabelas.

  • O Armazenamento de Blobs é um serviço que faz parte do Armazenamento do Azure. O Blob Storage oferece armazenamento otimizado de objetos na nuvem para grandes quantidades de dados não estruturados.

  • O Armazenamento Azure Data Lake é um data lake escalável e seguro para cargas de trabalho de análise de alto desempenho. Os dados normalmente vêm de várias fontes heterogêneas e podem ser estruturados, semiestruturados ou não estruturados. O Azure Data Lake Storage Gen2 combina os recursos do Azure Data Lake Storage Gen1 com o Armazenamento de Blob. Como uma solução de última geração, o Data Lake Storage Gen2 fornece semântica do sistema de arquivos, segurança no nível de arquivo e escala. Mas também oferece os recursos de armazenamento hierárquico, alta disponibilidade e recuperação de desastres do Blob Storage.

  • O Azure Cosmos DB é um banco de dados NoSQL totalmente gerenciado, altamente responsivo e escalável. O Azure Cosmos DB oferece segurança de nível empresarial e suporta APIs para muitas bases de dados, linguagens e plataformas. Exemplos incluem SQL, MongoDB, Gremlin, Table e Apache Cassandra. As opções de dimensionamento automático sem servidor no Azure Cosmos DB gerenciam com eficiência as demandas de capacidade dos aplicativos.

  • AI Language oferece muitos serviços de PNL que você pode usar para entender e analisar texto. Alguns desses serviços são personalizáveis, como NER personalizado, classificação de texto personalizada, compreensão de linguagem conversacional e resposta a perguntas.

  • O Machine Learning é uma plataforma aberta para gerenciar o desenvolvimento e a implantação de modelos de aprendizado de máquina em escala. O Machine Learning atende aos níveis de habilidade de diferentes usuários, como cientistas de dados ou analistas de negócios. A plataforma suporta frameworks abertos comumente usados e oferece featurização automatizada e seleção de algoritmos. Você pode implantar modelos em vários destinos. Os exemplos incluem AKS, Instâncias de Contêiner do Azure como um serviço Web para inferência em tempo real em escala e Máquina Virtual do Azure para pontuação em lote. Os endpoints gerenciados no Machine Learning abstraem a infraestrutura necessária para inferência de modelos em tempo real ou em lote .

  • O AKS é um serviço Kubernetes totalmente gerenciado que facilita a implantação e o gerenciamento de aplicativos em contêineres. A AKS oferece tecnologia Kubernetes sem servidor, uma experiência integrada de integração contínua e entrega contínua (CI/CD) e segurança e governança de nível empresarial.

  • O Power BI é uma coleção de serviços de software e aplicativos que exibem informações de análise.

  • A Pesquisa Cognitiva do Azure é um serviço de pesquisa na nuvem que fornece infraestrutura, APIs e ferramentas para pesquisa. Pode utilizar a Pesquisa Cognitiva do Azure para criar experiências de pesquisa sobre conteúdo privado e heterogéneo em aplicações Web, móveis e empresariais.

Alternativas

Detalhes do cenário

Automatizar o processamento de documentos e a extração de dados é uma tarefa integral nas organizações em todas as verticais do setor. A IA é uma das soluções comprovadas neste processo, embora alcançar 100% de precisão seja uma realidade distante. Mas, usar IA para digitalização em vez de processos puramente manuais pode reduzir o esforço manual em até 90%.

O reconhecimento ótico de caracteres (OCR) pode extrair conteúdo de imagens e arquivos PDF, que compõem a maioria dos documentos que as organizações usam. Este processo utiliza a pesquisa de palavras-chave e a correspondência de expressões regulares. Esses mecanismos extraem dados relevantes do texto completo e, em seguida, criam resultados estruturados. Esta abordagem tem inconvenientes. Revisar o processo de pós-extração para atender às mudanças nos formatos de documentos requer um grande esforço de manutenção.

Potenciais casos de utilização

Esta solução é ideal para o setor financeiro. Também pode aplicar-se às indústrias automóvel, de viagens e hotelaria. As seguintes tarefas podem se beneficiar dessa solução:

  • Aprovação de relatórios de despesas
  • Processamento de faturas, recibos e faturas de reclamações de seguros e auditorias financeiras
  • Processamento de reclamações que incluem faturas, resumos de quitação e outros documentos
  • Automatizando aprovações de declaração de trabalho (SoW)
  • Automatizando a extração de identificação para fins de verificação, como acontece com passaportes ou carteiras de motorista
  • Automatização do processo de introdução de dados de cartões de visita em sistemas de gestão de visitantes
  • Identificação de padrões de compra e documentos financeiros duplicados para deteção de fraudes

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

Tenha estes pontos em mente quando utilizar esta solução.

Disponibilidade

A disponibilidade da arquitetura depende dos serviços do Azure que compõem a solução:

  • O Azure AI Document Intelligence faz parte dos serviços de IA do Azure. Para obter a garantia de disponibilidade deste serviço, consulte Contrato de nível de serviço (SLA) para serviços de IA do Azure.

  • A linguagem AI faz parte dos serviços de IA do Azure. Para obter a garantia de disponibilidade para esses serviços, consulte SLA para serviços de IA do Azure.

  • O Azure Cosmos DB fornece alta disponibilidade mantendo quatro réplicas de dados em cada região e replicando dados entre regiões. A garantia de disponibilidade exata depende se você replica dentro de uma única região ou em várias regiões. Para obter mais informações, consulte Obter alta disponibilidade com o Azure Cosmos DB.

  • O Armazenamento de Blobs oferece opções de redundância que ajudam a garantir alta disponibilidade. Você pode usar uma destas abordagens para replicar dados três vezes em uma região primária:

    • Em um único local físico para armazenamento com redundância local (LRS).
    • Em três zonas de disponibilidade que usam parâmetros de disponibilidade diferentes. Para obter mais informações, consulte Parâmetros de durabilidade e disponibilidade. Essa opção funciona melhor para aplicativos que exigem alta disponibilidade.
  • Para obter as garantias de disponibilidade de outros serviços do Azure na solução, consulte estes recursos:

Escalabilidade

Segurança

A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.

  • O Azure Web Application Firewall ajuda a proteger seu aplicativo contra vulnerabilidades comuns. Essa opção do Application Gateway usa regras do Open Web Application Security Project (OWASP) para evitar ataques como scripts entre sites, sequestros de sessão e outras explorações.

  • Para melhorar a segurança do Serviço de Aplicativo, considere estas opções:

    • O Serviço de Aplicativo pode acessar recursos na Rede Virtual do Azure por meio da integração de rede virtual.
    • Você pode usar o Serviço de Aplicativo em um Ambiente do Serviço de Aplicativo, que você implanta em uma rede virtual dedicada. Essa abordagem ajuda a isolar a conectividade entre o Serviço de Aplicativo e outros recursos na rede virtual.

    Para obter mais informações, consulte Segurança no Serviço de Aplicativo do Azure.

  • O Armazenamento de Blobs e o Azure Cosmos DB criptografam dados em repouso. Você pode proteger esses serviços usando pontos de extremidade de serviço ou pontos de extremidade privados.

  • O Azure Functions dá suporte à integração de rede virtual. Usando essa funcionalidade, os aplicativos de função podem acessar recursos dentro de uma rede virtual. Para obter mais informações, consulte Opções de rede do Azure Functions.

  • Você pode configurar o Azure AI Document Intelligence e o AI Language para acesso de redes virtuais específicas ou de pontos de extremidade privados. Esses serviços criptografam dados em repouso. Você pode usar chaves de assinatura, tokens ou ID do Microsoft Entra para autenticar solicitações para esses serviços. Para obter mais informações, consulte Autenticar solicitações para serviços de IA do Azure.

  • O Machine Learning oferece vários níveis de segurança:

Resiliência

  • A resiliência da solução depende dos modos de falha de serviços individuais, como Serviço de Aplicativo, Funções, Azure Cosmos DB, Armazenamento e Gateway de Aplicativo. Para obter mais informações, consulte Lista de verificação de resiliência para serviços específicos do Azure.

  • Você pode tornar o Azure AI Document Intelligence resiliente. As possibilidades incluem projetá-lo para failover para outra região e dividir a carga de trabalho em duas ou mais regiões. Para obter mais informações, consulte Fazer backup e recuperar seus modelos do Azure AI Document Intelligence.

  • Os serviços de Machine Learning dependem de muitos serviços do Azure. Para fornecer resiliência, você precisa configurar cada serviço para ser resiliente. Para obter mais informações, consulte Failover para continuidade de negócios e recuperação de desastres.

Otimização de custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

O custo de implementação dessa solução depende de quais componentes você usa e quais opções você escolhe para cada componente.

Muitos fatores podem afetar o preço de cada componente:

  • O número de documentos que você processa
  • O número de solicitações simultâneas que seu aplicativo recebe
  • O tamanho dos dados que você armazena após o processamento
  • Sua região de implantação

Estes recursos fornecem informações sobre as opções de preços dos componentes:

Depois de decidir sobre uma camada de preços para cada componente, use a calculadora de preços do Azure para estimar o custo da solução.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

Próximos passos