Idées de solution
Cet article présente une idée de solution. Votre architecte cloud peut s’appuyer sur ces conseils pour visualiser les principaux composants d’une implémentation typique de cette architecture. Utilisez cet article comme point de départ pour concevoir une solution bien conçue qui répond aux exigences spécifiques de votre charge de travail.
Cet article décrit comment utiliser le traitement des images, le traitement du langage naturel et les compétences personnalisées pour capturer des données spécifiques à un domaine. Vous pouvez utiliser ces données pour enrichir des documents texte et image. Incorporez la Recherche Azure AI avec l’enrichissement par l’IA pour aider à identifier et explorer du contenu pertinent à grande échelle. Cette solution utilise l’enrichissement par IA pour extraire le sens des JFK Files (JFK Assassination Records), un jeu de données original, complexe et non structuré.
Architecture
Téléchargez un fichier Visio de cette architecture.
Dataflow
Le flux de données suivant correspond au diagramme précédent. Le flux de données décrit comment le jeu de données non structuré des fichiers JFK passe par le pipeline de compétences AI Search pour produire des données structurées et indexables.
Les données non structurées dans Azure Blob Storage, telles que des documents et des images, sont ingérées dans AI Search.
Pour initier le processus d’indexation, l’étape de craquage de document extrait les images et les textes des données et enrichit ensuite le contenu. Les étapes d’enrichissement dans ce processus dépendent des données et du type de compétences que vous sélectionnez.
Les compétences intégrées basées sur les API Azure AI Vision et Azure AI Language fournissent des enrichissements par l’IA tels que la reconnaissance optique de caractères (OCR) des images, l’analyse des images, la traduction de textes, la reconnaissance d’entités et la recherche en texte intégral.
Les compétences personnalisées prennent en charge les scénarios qui nécessitent des modèles ou des services d’IA plus complexes. Les exemples incluent Azure AI Intelligence documentaire, les modèles Azure Machine Learning et Azure Functions.
Une fois le processus d’enrichissement terminé, l’indexeur enregistre les documents enrichis et indexés dans un index de recherche. La recherche en texte intégral et d’autres formulaires de requête peuvent utiliser cet index.
Les documents enrichis peuvent également être projetés dans une base de connaissances, que les applications en aval, telles que les applications de fouille de connaissances ou les applications de science des données, peuvent utiliser.
Les requêtes accèdent au contenu enrichi dans l’index de recherche. L’index prend en charge les analyseurs personnalisés, les requêtes de recherche approximatives, les filtres et un profil de scoring pour optimiser la pertinence de la recherche.
Les applications qui se connectent à Blob Storage ou à Azure Table Storage peuvent accéder à la base de connaissances.
Composants
Cette solution utilise les composants Azure suivants.
Recherche AI
AI Search indexe le contenu et alimente l’expérience utilisateur dans cette solution. Vous pouvez utiliser AI Search pour appliquer des compétences IA prédéfinies au contenu. Et vous pouvez utiliser le mécanisme d’extensibilité pour ajouter des compétences personnalisées, qui fournissent des transformations d’enrichissement spécifiques.
Azure AI Vision
Vision utilise la reconnaissance de texte pour extraire et reconnaître les informations textuelles à partir des images. L’API Read utilise les derniers modèles de reconnaissance OCR et est optimisée pour les documents volumineux et chargés de texte ainsi que pour les images bruyantes.
L’API OCR legacy n’est pas optimisée pour les documents volumineux mais prend en charge plus de langues. La précision des résultats OCR peut varier en fonction de la qualité du scan et de l’image. Cette solution utilise l’OCR pour produire des données au format hOCR.
Langue
Language utilise des capacités d’analyse de texte telles que la reconnaissance des entités nommées et l’extraction de phrases clés pour extraire des informations textuelles à partir de documents non structurés.
Stockage Azure
Blob Storage est un stockage d’objets basé sur REST pour les données que vous pouvez accéder de n’importe où dans le monde via HTTPS. Vous pouvez utiliser le Stockage Blob pour exposer des données publiquement dans le monde ou stocker des données d’applications de façon privée. Le Stockage Blob est idéal pour de grandes quantités de données non structurées telles que du texte ou des graphiques.
Table Storage stocke des données NoSQL structurées et semi-structurées hautement disponibles et évolutives dans le cloud.
Azure Functions
Functions est un service de calcul serverless que vous pouvez utiliser pour exécuter de petits morceaux de code déclenché par des événements sans avoir à provisionner ou gérer explicitement l’infrastructure. Cette solution utilise une méthode Functions pour appliquer la liste des cryptonymes de la CIA aux fichiers JFK comme une compétence personnalisée.
Azure App Service
Cette solution construit une application web autonome dans Azure App Service pour tester, démontrer et rechercher dans l’index et explorer les connexions dans les documents enrichis et indexés.
Détails du scénario
Les jeux de données non structurés volumineux peuvent inclure des notes dactylographiées et manuscrites, des photos, des diagrammes et d’autres données non structurées que les solutions de recherche standard ne peuvent pas analyser. Les fichiers JFK contiennent plus de 34 000 pages de documents sur l’enquête de la CIA sur l’assassinat de JFK en 1963.
Vous pouvez utiliser l’enrichissement par l’IA dans AI Search pour extraire et améliorer le texte consultable et indexable à partir d’images, de blobs et d’autres sources de données non structurées comme les fichiers JFK. L’enrichissement par l’IA utilise des ensembles de compétences de machine learning pré-entraînés à partir de services Azure AI Vision et Language APIs. Vous pouvez également créer et attacher des compétences personnalisées pour ajouter un traitement spécial pour des données spécifiques à un domaine comme les cryptonymes de la CIA. AI Search peut alors indexer et rechercher ce contexte.
Les compétences AI Search dans cette solution peuvent être catégorisées dans les groupes suivants :
Traitement d’image : Cette solution utilise des compétences intégrées de extraction de texte et d’analyse d’image, y compris la détection d’objets et de visages, la génération d’étiquettes et de légendes, et l’identification de célébrités et de monuments. Ces compétences créent des représentations textuelles du contenu de l’image, que vous pouvez rechercher en utilisant les capacités de requête d’AI Search. Le craquage de document est le processus d’extraction ou de création de contenu textuel à partir de sources non textuelles.
Traitement du langage naturel : Cette solution utilise des compétences intégrées comme la reconnaissance d’entités, la détection de langue et l’extraction de phrases clés qui mappent le texte non structuré à des champs consultables et filtrables dans un index.
Compétences personnalisées : Cette solution utilise des compétences personnalisées qui étendent AI Search pour appliquer des transformations d’enrichissement spécifiques au contenu. Vous pouvez spécifier l’interface pour une compétence personnalisée via la compétence API web personnalisée.
Cas d’usage potentiels
Le projet d’exemple des fichiers JFK et la démo en ligne présentent un cas d’utilisation particulier d’AI Search. Cette idée de solution n’est pas destinée à être un cadre ou une architecture évolutive pour tous les scénarios. Au lieu de cela, cette idée de solution fournit une ligne directrice générale et un exemple. Le projet de code et la démo créent un site web public et un conteneur de stockage publiquement lisible pour les images extraites, donc vous ne devriez pas utiliser cette solution avec des données non publiques.
Vous pouvez également utiliser cette architecture pour :
Augmenter la valeur et l’utilité du contenu textuel et d’image non structuré dans les applications de recherche et les applications de data science.
Utiliser des compétences personnalisées pour intégrer du code open-source, du code non-Microsoft ou du code Microsoft dans les pipelines d’indexation.
Rendez compatibles les documents numérisés au format JPG, PNG ou bitmap avec la recherche en texte intégral.
Obtenez de meilleurs résultats que l’extraction de texte PDF standard pour les fichiers PDF avec image et texte combinés. Certains formats PDF scannés et natifs peuvent ne pas être correctement analysés dans AI Search.
Créer de nouvelles informations à partir de contenu brut intrinsèquement significatif ou de contexte caché dans des documents volumineux non structurés ou semi-structurés.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteur principal :
- Carlos Alexandre Santos | Architecte de solution cloud d’IA spécialisée senior
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
Découvrez-en plus sur cette solution :
- Projet des fichiers JFK
- Vidéo : Utiliser AI Search pour comprendre les documents JFK
- Démo en ligne des fichiers JFK
Lisez la documentation des produits :
- Enrichissement par l’IA dans AI Search
- Qu’est-ce que Vision?
- Qu’est-ce que Language?
- Qu’est-ce que OCR ?
- Qu’est-ce que la reconnaissance d’entités nommées dans Language?
- Présentation de Stockage Blob
- Introduction aux fonctions
Essayez le parcours d’apprentissage :