Editar

Enriquecimento de IA com processamento de imagem e texto

Azure App Service
Azure Blob Storage
Azure AI Search
Azure Functions

Ideias de soluções

Este artigo é uma ideia de solução. Se você quiser que expandamos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações de implementação ou orientação de preços, informe-nos fornecendo feedback do 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. A Pesquisa Cognitiva do Azure com enriquecimento de IA pode ajudar a identificar e explorar conteúdo relevante em escala. Esta solução usa o enriquecimento de IA para extrair significado do conjunto de dados JFK Assassination Records (JFK Files) complexo e não estruturado original.

Arquitetura

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

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

O diagrama acima ilustra o processo de passagem do conjunto de dados Arquivos JFK não estruturados pelo pipeline de habilidades da Pesquisa Cognitiva do Azure para produzir dados estruturados e indexáveis:

  1. Dados não estruturados no Armazenamento de Blobs do Azure, como documentos e imagens, são ingeridos na Pesquisa Cognitiva do Azure.
  2. A etapa de quebra de documento inicia o processo de indexação extraindo imagens e texto dos dados, seguido de enriquecimento de conteúdo. As etapas de enriquecimento que ocorrem neste processo dependem dos dados e do tipo de competências selecionadas.
  3. As habilidades incorporadas baseadas nas APIs do Computer Vision and Language Service permitem enriquecimentos de IA, incluindo reconhecimento ótico de caracteres (OCR) de imagem, análise de imagem, tradução de texto, reconhecimento de entidade e pesquisa de texto completo.
  4. As habilidades personalizadas suportam cenários que exigem modelos ou serviços de IA mais complexos. Os exemplos incluem o Forms Recognizer, 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 armazenamento de conhecimento, que aplicativos downstream, como mineração de conhecimento ou ciência de dados, podem usar.
  7. As consultas acessam o conteúdo enriquecido no índice de pesquisa. O índice suporta analisadores personalizados, consultas de pesquisa difusas, filtros e um perfil de pontuação para ajustar a relevância da pesquisa.
  8. Qualquer aplicativo que se conecte ao Armazenamento de Blob ou ao Armazenamento de Tabela do Azure pode acessar o repositório de conhecimento.

Componentes

A Pesquisa Cognitiva do Azure funciona com outros componentes do Azure para fornecer esta solução.

A Pesquisa Cognitiva do Azure indexa o conteúdo e potencia a experiência do utilizador nesta solução. A Pesquisa Cognitiva do Azure pode aplicar habilidades cognitivas pré-criadas ao conteúdo e o mecanismo de extensibilidade pode adicionar habilidades personalizadas para transformações de enriquecimento específicas.

Azure Computer Vision

O Azure Computer Vision usa o reconhecimento de texto para extrair e reconhecer informações de texto de imagens. A API de leitura usa os modelos de reconhecimento OCR mais recentes e é otimizada para documentos grandes e com muito texto e imagens barulhentas.

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

Azure Cognitive Service for Language

O Serviço Cognitivo do Azure para Idiomas extrai informações de texto de documentos não estruturados usando recursos de análise de texto, como Reconhecimento de Entidade Nomeada (NER), 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 de qualquer lugar do mundo via HTTPS. Você pode usar o Armazenamento de Blobs para expor dados publicamente ao mundo ou para armazenar dados de aplicativos de forma privada. O armazenamento de Blob é ideal para grandes quantidades de dados não estruturados, como texto ou gráficos.

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

Funções do Azure

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

Serviço de Aplicações 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

Conjuntos de dados grandes e não estruturados podem incluir anotações datilografadas 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 de Assassinato de JFK contêm mais de 34.000 páginas de documentos sobre a investigação da CIA sobre o assassinato de JFK em 1963.

O projeto de exemplo JFK Files e a demonstração online mostram um caso de uso específico da Pesquisa Cognitiva do Azure. Esta ideia de solução não se destina a ser uma estrutura ou arquitetura escalável para todos os cenários, mas a fornecer uma diretriz geral e exemplo. O projeto de código e a demonstração criam um site público e um contêiner de armazenamento legível publicamente para imagens extraídas, portanto, você não deve usar essa solução com dados não públicos.

O enriquecimento de IA na Pesquisa Cognitiva do Azure pode extrair e aprimorar texto pesquisável e indexável de imagens, blobs e outras fontes de dados não estruturadas, como os Arquivos JFK. O enriquecimento de IA usa conjuntos de habilidades de aprendizado de máquina pré-treinadas dos Serviços Cognitivos, Visão por Computador e Serviço Cognitivo para APIs de Linguagem . Você também pode criar e anexar habilidades personalizadas para adicionar processamento especial para dados específicos do domínio, como CIA Cryptonyms. A Pesquisa Cognitiva do Azure pode, então, indexar e pesquisar esse contexto.

As habilidades da Pesquisa Cognitiva do Azure nesta solução se enquadram nas seguintes categorias:

Potenciais casos de utilização

  • Aumente o valor e a utilidade do conteúdo de texto e imagem não estruturado em aplicativos de pesquisa e ciência de dados.
  • Use habilidades personalizadas para integrar código aberto, de terceiros ou código primário em pipelines de indexação.
  • Torne os documentos JPG, PNG ou bitmap digitalizados pesquisáveis em texto completo.
  • Produza melhores resultados do que a extração de texto PDF padrão para PDFs com imagem e texto combinados. Alguns formatos PDF digitalizados e nativos podem não ser analisados corretamente na Pesquisa Cognitiva do Azure.
  • Crie novas informações a partir de conteúdo bruto inerentemente significativo ou contexto oculto em documentos maiores, não estruturados ou semiestruturados.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelo seguinte colaborador.

Autor principal:

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

Próximos passos

Saiba mais sobre esta solução:

Leia a documentação do produto:

Experimente o percurso de aprendizagem:

Veja as arquiteturas e orientações relacionadas: