Ideias de soluções
Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe com os requisitos específicos da sua carga de trabalho.
Este artigo descreve como usar processamento de imagem, processamento de linguagem natural e habilidades personalizadas para capturar dados específicos do domínio. Você pode usar esses dados para enriquecer documentos de texto e imagem. Incorpore a Pesquisa de IA do Azure com enriquecimento de IA para 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
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de dados
O fluxo de dados a seguir corresponde ao diagrama anterior. O fluxo de dados descreve como o conjunto de dados não estruturado JFK Files passa pelo pipeline de habilidades da AI Search para produzir dados estruturados e indexáveis.
Os dados não estruturados no Armazenamento de Blobs do Azure, como documentos e imagens, são ingeridos na Pesquisa de IA.
Para iniciar o processo de indexação, a etapa de quebra de documento extrai imagens e texto dos dados e, em seguida, enriquece o conteúdo. As etapas de enriquecimento neste processo dependem dos dados e do tipo de habilidades que você selecionar.
As habilidades internas baseadas no Azure AI Vision e nas APIs de linguagem do Azure AI fornecem enriquecimento de IA, como reconhecimento ótico de caracteres (OCR) de imagem, análise de imagem, tradução de texto, reconhecimento de entidade e pesquisa de texto completo.
As habilidades personalizadas suportam cenários que exigem modelos ou serviços de IA mais complexos. Os exemplos incluem o Azure AI Document Intelligence, os modelos do Azure Machine Learning e o Azure Functions.
Após a conclusão do processo de enriquecimento, o indexador salva os documentos enriquecidos e indexados em um índice de pesquisa. A pesquisa de texto completo e outros formulários de consulta podem usar esse índice.
Os documentos enriquecidos também podem ser projetados em um repositório de conhecimento, que aplicativos downstream, como aplicativos de mineração de conhecimento ou aplicativos de ciência de dados, podem usar.
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.
Os aplicativos que se conectam ao Armazenamento de Blob ou ao Armazenamento de Tabela do Azure podem acessar o repositório de conhecimento.
Componentes
Esta solução utiliza os seguintes componentes do Azure.
Pesquisa AI
O AI Search indexa o conteúdo e potencializa a experiência do usuário nesta solução. Você pode usar a Pesquisa de IA para aplicar habilidades de IA pré-construídas ao conteúdo. E você pode usar o mecanismo de extensibilidade para adicionar habilidades personalizadas, que fornecem transformações de enriquecimento específicas.
Visão de IA do Azure
O 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. A precisão dos resultados de OCR pode variar com base na qualidade da digitalização e da imagem. Esta solução usa OCR para produzir dados no formato hOCR.
Idioma
A linguagem usa recursos de análise de texto, como reconhecimento de entidade nomeada e extração de frases-chave para extrair informações de texto de documentos não estruturados.
Armazenamento do Azure
O Armazenamento de Blobs é um armazenamento de objetos baseado em REST para dados que você pode acessar de qualquer lugar do mundo por meio de 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 tabelas armazena dados NoSQL altamente disponíveis, escaláveis, estruturados e semiestruturados na nuvem.
Funções do Azure
O Functions é um serviço de computação sem servidor que você pode usar para executar pequenas partes de código acionado por eventos sem precisar provisionar ou gerenciar explicitamente a infraestrutura. Esta solução usa um método Functions para aplicar a lista de criptônimos da Agência Central de Inteligência (CIA) aos Arquivos JFK como uma habilidade personalizada.
Serviço de Aplicações do Azure
Esta solução cria uma aplicação Web autónoma no Serviço de Aplicações do Azure para testar, demonstrar e pesquisar o índice e explorar ligaçõ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, diagramas e outros dados não estruturados que as soluções de pesquisa padrão não podem analisar. Os Arquivos JFK contêm mais de 34.000 páginas de documentos sobre a investigação da CIA sobre o assassinato de JFK em 1963.
Você pode usar o enriquecimento de IA na Pesquisa de IA para 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é-treinados das APIs de Visão e Linguagem dos serviços de IA do Azure. Você também pode criar e anexar habilidades personalizadas para adicionar processamento especial para dados específicos do domínio, como criptônimos da CIA. O AI Search pode então indexar e pesquisar esse contexto.
As habilidades de pesquisa de IA nesta solução podem ser categorizadas nos seguintes grupos:
Processamento de imagem: Esta solução usa habilidades integradas de extração de texto e análise de imagem, incluindo deteção de objetos e rostos, geração de tags e legendas e identificação de celebridades e pontos de referência. Essas habilidades criam representações de texto de conteúdo de imagem, que você pode pesquisar usando os recursos de consulta do AI Search. A quebra de documentos é o processo de extração ou criação de conteúdo de texto a partir de fontes não textuais .
Processamento de linguagem natural: esta solução usa habilidades internas, como reconhecimento de entidade, deteção de idioma e extração de frases-chave que mapeiam texto não estruturado para campos pesquisáveis e filtráveis em um índice.
Habilidades personalizadas: esta solução usa habilidades personalizadas que estendem a Pesquisa de IA para aplicar transformações de enriquecimento específicas ao conteúdo. Você pode especificar a interface para uma habilidade personalizada por meio da habilidade de API da Web personalizada.
Potenciais casos de utilização
O projeto de exemplo JFK Files e a demonstração on-line apresentam um caso de uso específico da AI Search. Esta ideia de solução não se destina a ser uma estrutura ou arquitetura escalável para todos os cenários. Em vez disso, essa ideia de solução fornece uma diretriz geral e um 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.
Você também pode usar essa arquitetura para:
Aumente o valor e a utilidade do conteúdo de texto e imagem não estruturado em aplicativos de pesquisa e aplicativos de ciência de dados.
Use habilidades personalizadas para integrar código aberto, código não Microsoft ou código da Microsoft 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 AI.
Crie novas informações a partir de conteúdo bruto inerentemente significativo ou contexto oculto em documentos grandes e não estruturados ou documentos semiestruturados.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelo seguinte colaborador.
Autor principal:
- Carlos Alexandre Santos - Brasil | Arquiteto Sênior de Soluções em Nuvem de IA Especializado
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
Saiba mais sobre esta solução:
- Projeto Arquivos JFK
- Vídeo: Use a Pesquisa de IA para entender os documentos JFK
- Demonstração online dos arquivos JFK
Leia a documentação do produto:
- Enriquecimento de IA na pesquisa de IA
- O que é a Visão?
- O que é Language?
- O que é OCR?
- O que é chamado de reconhecimento de entidade no idioma?
- Introdução ao armazenamento de Blobs
- Introdução às funções
Experimente o percurso de aprendizagem: