Enriquecimento de IA com processamento de imagem e texto

Serviço de aplicativo do Azure
Armazenamento do Blobs do Azure
Azure AI Search
Funções do Azure

Ideias de soluções

Esse artigo é uma ideia de solução. Caso deseje que ampliemos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações sobre implementação ou diretrizes de preços, fale conosco enviando seus comentários no GitHub.

Este artigo apresenta uma solução que enriquece documentos de texto e imagem usando processamento de imagem, processamento de linguagem natural e habilidades personalizadas para capturar dados específicos do domínio. O Azure Cognitive Search com o enriquecimento de IA pode ajudar a identificar e explorar um conteúdo relevante em escala. Essa solução usa o enriquecimento de IA para extrair o significado do conjunto de dados original, complexo e não estruturado de Registros do Assassinato de JFK (Arquivos de JFK).

Arquitetura

Diagram that shows Azure Cognitive Search architecture to convert unstructured into structured data.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

O diagrama acima ilustra o processo de transmissão do conjunto de dados Arquivos de JFK não estruturados por meio do pipeline de habilidades do Azure Cognitive Search para produzir dados estruturados e indexáveis:

  1. Os dados não estruturados do Armazenamento de Blobs do Azure, como documentos e imagens, são ingeridos no Azure Cognitive Search.
  2. A etapa de quebra de documento inicia o processo de indexação extraindo imagens e texto dos dados, seguido pelo enriquecimento de conteúdo. As etapas de enriquecimento que ocorrem nesse processo dependem dos dados e do tipo de habilidades selecionadas.
  3. As habilidades internas baseadas nas APIs da Pesquisa Visual Computacional e do serviço de linguagem permitem enriquecimentos de IA, incluindo OCR (reconhecimento óptico de caracteres) de imagem, análise de imagem, tradução de texto, reconhecimento de entidade e pesquisa de texto completo.
  4. As habilidades personalizadas dão suporte a cenários que exigem modelos ou serviços de IA mais complexos. Entre os exemplos estão o Reconhecimento de Formulários, os modelos do Azure Machine Learning e o Azure Functions.
  5. Após o processo de enriquecimento, o indexador salva as saídas em um índice de pesquisa que contém os documentos enriquecidos e indexados. A pesquisa de texto completo e outros formulários de consulta podem usar esse índice.
  6. Os documentos enriquecidos também podem ser projetados em um repositório de conhecimento, que pode ser usado por aplicativos downstream como mineração de conhecimento ou ciência de dados.
  7. As consultas acessam o conteúdo enriquecido no índice de pesquisa. O índice dá suporte a analisadores personalizados, consultas de pesquisa difusa, filtros e um perfil de pontuação para ajustar a relevância da pesquisa.
  8. Qualquer aplicativo que se conecte ao Armazenamento de Blobs ou ao Armazenamento de Tabelas do Azure pode acessar o repositório de conhecimento.

Componentes

O Azure Cognitive Search funciona com outros componentes do Azure para fornecer essa solução.

O Azure Cognitive Search indexa o conteúdo e fornece a experiência do usuário nesta solução. O Azure Cognitive Search pode aplicar habilidades cognitivas predefinidas ao conteúdo, e o mecanismo de extensibilidade pode adicionar habilidades personalizadas para transformações de enriquecimento específicas.

Pesquisa Visual Computacional do Azure

A Pesquisa Visual Computacional do Azure usa o reconhecimento de texto para extrair e reconhecer informações de texto com base em imagens. A API de Leitura usa os modelos mais recentes de reconhecimento de OCR e é otimizada para documentos grandes e que contêm muito texto e para imagens com ruído.

A API de OCR herdada não é otimizada para documentos grandes, mas dá suporte a mais idiomas. Os resultados do OCR podem variar conforme a qualidade da digitalização e da imagem. A ideia da solução atual usa o OCR para produzir dados no formato hOCR.

Azure Cognitive Service for Language

O Serviço Cognitivo do Azure para Linguagem extrai informações de texto de documentos não estruturados usando funcionalidades de análise de texto, como NER (Reconhecimento de Entidade Nomeada), extração de frases-chave e pesquisa de texto completo.

Armazenamento do Azure

O Armazenamento de Blobs do Azure é um armazenamento de objetos baseado em REST para dados que você pode acessar em qualquer lugar do mundo por meio de HTTPS. Use o Armazenamento de Blobs para expor dados publicamente para o mundo ou para armazenar dados de aplicativos de maneira particular. O Armazenamento de Blobs é ideal para grandes volumes de dados não estruturados, como texto ou elementos gráficos.

O Armazenamento de Tabelas do Azure armazena dados NoSQL altamente disponíveis, escalonáveis, estruturados ou semiestruturados na nuvem.

Funções do Azure

O Azure Functions é um serviço de computação sem servidor que permite a você executar pequenas partes de código disparado por evento sem precisar provisionar explicitamente ou gerenciar a infraestrutura. Essa solução usa um método do Azure Functions para aplicar a lista Criptônimos da CIA aos Registros do Assassinato de JFK como uma habilidade personalizada.

Serviço de Aplicativo do Azure

Essa ideia de solução também cria um aplicativo Web autônomo no Serviço de Aplicativo do Azure para testar, demonstrar, pesquisar o índice e explorar conexões nos documentos enriquecidos e indexados.

Detalhes do cenário

Os conjuntos de dados grandes e não estruturados podem incluir anotações digitadas e manuscritas, fotos e diagramas e outros dados não estruturados que as soluções de pesquisa padrão não podem analisar. Os Registros do Assassinato de JFK contêm mais de 34 mil páginas de documentos sobre a investigação da CIA sobre o assassinato de JFK em 1963.

O projeto de exemplo e a demonstração online dos Arquivos de JFK mostram um caso de uso específico do Azure Cognitive Search. Essa ideia de solução não se destina a ser uma estrutura ou uma arquitetura escalonável para todos os cenários, mas visa fornecer diretrizes gerais e um exemplo. O projeto de código e a demonstração criam um site público e um contêiner de armazenamento publicamente legível para as imagens extraídas, ou seja, você não deve usar dados não públicos nesta solução.

O enriquecimento de IA no Azure Cognitive Search pode extrair e aprimorar textos pesquisáveis e indexáveis de imagens, blobs e outras fontes de dados não estruturadas, como os Arquivos de JFK. O enriquecimento de IA usa conjuntos de habilidades de machine learning pré-treinados da Pesquisa Visual Computacional dos Serviços Cognitivos e das APIs do Serviço Cognitivo para Linguagem. Crie e anexe também habilidades personalizadas para adicionar processamento especial para dados específicos do domínio, como os Criptônimos da CIA. Em seguida, o Azure Cognitive Search poderá indexar e pesquisar esse contexto.

As habilidades do Azure Cognitive Search nesta solução se enquadram nas seguintes categorias:

Possíveis casos de uso

  • Aumente o valor e a utilidade do conteúdo de texto e imagem não estruturados em aplicativos de pesquisa e ciência de dados.
  • Use as habilidades personalizadas para integrar códigos abertos, internos ou de terceiros a pipelines de indexação.
  • Torne documentos em JPG, PNG ou bitmap digitalizados passíveis de serem pesquisados em texto completo.
  • Produza melhores resultados do que a extração de texto em PDF padrão para PDFs com imagem e texto combinados. Alguns formatos PDF nativos e digitalizados talvez não sejam analisados corretamente no Azure Cognitive Search.
  • Crie informações com base no conteúdo bruto inerentemente significativo ou no contexto oculto em documentos não estruturados ou semiestruturados maiores.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi escrito originalmente pelos colaboradores a seguir.

Autor principal:

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas

Saiba mais sobre esta solução:

Leia a documentação do produto:

Experimente o roteiro de aprendizagem:

Confira as arquiteturas e as diretrizes relacionadas: