Modifier

Automatiser le traitement des documents à l’aide d’AI Document Intelligence

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

Cet article présente une solution évolutive et sécurisée pour construire un pipeline de traitement automatisé des documents. La solution utilise AI Document Intelligence pour l’extraction structurée des données. Des modèles de traitement du langage naturel (NLP) et des modèles personnalisés enrichissent les données.

Architecture

Diagramme d’une architecture montrant comment les données traversent les phases d’extraction, d’enrichissement et d’analytique du traitement de documents.

Téléchargez un fichier Visio de cette architecture.

Dataflow

Les sections suivantes décrivent les différentes étapes du processus d’extraction de données.

Ingestion et extraction de données

  1. Les documents sont ingérés par un navigateur au niveau du serveur frontal d’une application web. Les documents contiennent des images ou sont au format PDF. Azure App Service héberge une application back-end. La solution achemine les documents vers cette application par le biais d’Azure Application Gateway. Cet équilibreur de charge fonctionne avec Azure Web Application Firewall, qui aide à protéger l’application contre les attaques et vulnérabilités courantes.

  2. L’application back-end publie une requête sur un point de terminaison de l’API REST Azure AI Document Intelligence qui utilise l’un de ces modèles :

    La réponse d’Azure AI Document Intelligence contient des données de reconnaissance optique de caractères brutes (OCR) et des extractions structurées. Azure AI Document Intelligence attribue également [valeurs de confiance][Caractéristiques et limites de Form Recognizer - Évaluation du client] aux données extraites.

  3. L’application back-end d’App Service utilise les valeurs de confiance pour vérifier la qualité de l’extraction. Si la qualité est inférieure à un seuil donné, l’application signale les données pour une vérification manuelle. Lorsque la qualité de l’extraction est conforme aux exigences, les données entrent dans Azure Cosmos DB pour être consommées par les applications en aval. L’application peut également renvoyer les résultats dans le navigateur frontal.

  4. D’autres sources fournissent des images, des fichiers PDF et d’autres documents. Ces sources comprennent les pièces jointes des e-mails et les serveurs FTP (File Transfer Protocol). Des outils comme Azure Data Factory et AzCopy transfèrent ces fichiers vers Stockage Blob Azure. Azure Logic Apps propose des pipelines pour extraire automatiquement les pièces jointes des e-mails.

  5. Lorsqu’un document entre dans Stockage Blob, une fonction Azure est déclenchée. La fonction :

    • Publie une requête sur le point de terminaison prédéfini Azure AI Document Intelligence.
    • Reçoit la réponse.
    • Évalue la qualité de l’extraction.
  6. Les données extraites entrent dans Azure Cosmos DB.

Enrichissement des données

Le pipeline utilisé pour l’enrichissement des données dépend du cas d’usage.

  1. L’enrichissement des données peut inclure les capacités de traitement du langage naturel suivantes :

    • La reconnaissance d’entités nommées (NER)
    • L’extraction d’informations personnelles, de phrases clés, d’informations sur la santé et d’autres entités dépendantes du domaine

    Pour enrichir les données, l’application web :

  2. Les modèles personnalisés effectuent la détection des fraudes, l’analyse des risques et d’autres types d’analyse sur les données :

    • Les services Azure Machine Learning effectuent l’apprentissage des modèles personnalisés et les déploient.
    • Les données extraites sont récupérées à partir d’Azure Cosmos DB.
    • Les modèles déduisent des informations à partir des données.

    Ces possibilités existent pour l’inférence :

  3. Les données enrichies entrent dans Azure Cosmos DB.

Analyse et visualisations

  1. Les applications utilisent l’OCR brute, les données structurées des points de terminaison de Azure AI Document Intelligence et les données enrichies du traitement du langage naturel :

    • Power BI affiche les données et présente des rapports à leur sujet.
    • Les données servent de source à Recherche cognitive Azure.
    • D’autres applications consomment les données.

Composants

  • App Service est une offre PaaS (platform as a service) sur Azure. Vous pouvez utiliser App Service pour héberger des applications web pour lesquelles vous pouvez effectuer un scale-in ou un scale-out manuellement ou automatiquement. Le service prend en charge divers langages et infrastructures, tels que ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP et Python.

  • Application Gateway est un équilibreur de charge de couche 7 (couche Application) qui gère le trafic vers les applications web. Vous pouvez exécuter Application Gateway avec Azure Web Application Firewall pour contribuer à protéger les applications web des codes malveillants exploitant une faille de sécurité et des vulnérabilités courants.

  • Azure Functions est une plateforme de calcul serverless que vous pouvez utiliser pour créer des applications. Avec Functions, vous pouvez utiliser des déclencheurs et des liaisons pour réagir aux modifications apportées aux services Azure, tels que Stockage Blob et Azure Cosmos DB. Functions peut exécuter des tâches planifiées, traiter des données en temps réel et traiter des files d’attente de messagerie.

  • Azure AI Document Intelligence fait partie des services Azure AI. Azure AI Document Intelligence offre une collection de points de terminaison prédéfinis pour extraire des données de factures, de documents, de reçus, de cartes d’identité et de cartes de visite. Ce service mappe chaque élément de données extraites à un champ sous forme de paire clé-valeur. Azure AI Document Intelligence extrait également le contenu et la structure des tables. Le format de sortie est JSON.

  • Stockage Azure est une solution de stockage cloud qui comprend le stockage d’objets, de blobs, de fichiers, de disques, de files d’attente et de tables.

  • Stockage Blob est un service qui fait partie de Stockage Azure. Stockage Blob offre un stockage d’objets cloud optimisé destiné à d’importants volumes de données non structurées.

  • Azure Data Lake Storage est un lac de données évolutif et sécurisé pour les charges de travail d’analyse à haute performance. Les données proviennent généralement de plusieurs sources hétérogènes et peuvent être structurées, semi-structurées ou non structurées. Azure Data Lake Storage Gen2 combine les capacités d’Azure Data Lake Storage Gen1 avec Stockage Blob. En tant que solution de nouvelle génération, Data Lake Storage Gen2 offre une sémantique de système de fichiers, une sécurité au niveau des fichiers et une mise à l’échelle. En prime, elle fournit le stockage hiérarchisé, la haute disponibilité et la reprise d’activité après sinistre du Stockage Blob.

  • Azure Cosmos DB est une base de données NoSQL complètement managée, hautement réactive et évolutive. Azure Cosmos DB offre une sécurité de classe entreprise et prend en charge les API pour de nombreux langages, bases de données et plateformes. Par exemple : SQL, MongoDB, Gremlin, Table et Apache Cassandra. Les options de mise à l’échelle automatique et serverless d’Azure Cosmos DB permettent de gérer efficacement les demandes de capacité des applications.

  • AI Language offre de nombreux services de traitement du langage naturel que vous pouvez utiliser pour comprendre et analyser du texte. Certains de ces services sont personnalisables, comme la Reconnaissance d’entité nommée personnalisée, la classification de texte personnalisée, la compréhension du langage courant et la réponse aux questions.

  • Machine Learning est une plateforme ouverte permettant de gérer le développement et le déploiement de modèles Machine Learning à grande échelle. Machine Learning s’adapte aux niveaux de compétences des différents utilisateurs, tels que les scientifiques des données ou les analystes d’entreprise. La plateforme prend en charge les infrastructures ouvertes les plus courantes et propose une sélection automatisée d’ingénierie de caractéristiques et des algorithmes. Vous pouvez déployer des modèles sur différentes cibles. Par exemple : AKS, Azure Container Instances en tant que service web pour l’inférence en temps réel à grande échelle et Machines virtuelles Microsoft Azure pour le scoring par lot. Les points de terminaison gérés dans Machine Learning font abstraction de l’infrastructure requise pour l’inférence de modèles en temps réel ou par lots.

  • AKS est un service Kubernetes complètement managé qui facilite le déploiement et la gestion des applications conteneurisées. AKS offre la technologie Kubernetes serverless, une expérience intégrée d’intégration continue et de livraison continue (CI/CD), ainsi qu’une sécurité et une gouvernance de classe entreprise.

  • Power BI est une collection de services logiciels et d’applications qui affichent des informations analytiques.

  • Recherche cognitive Azure est un service de recherche dans le cloud qui fournit une infrastructure, des API et des outils de recherche. Vous pouvez utiliser Recherche cognitive Azure pour créer des expériences de recherche sur des contenus privés et hétérogènes dans des applications web, mobiles et d’entreprise.

Autres solutions

Détails du scénario

L’automatisation du traitement des documents et de l’extraction des données est une tâche intégrale dans les organisations de tous les marchés verticaux. L’intelligence artificielle est l’une des solutions éprouvées dans ce processus, bien qu’atteindre une précision de 100 % soit une réalité lointaine. Toutefois, l’utilisation de l’intelligence artificielle pour la numérisation à la place d’un processus purement manuel peut réduire l’effort manuel jusqu’à 90 %.

La reconnaissance optique de caractères (OCR) peut extraire le contenu des images et des fichiers PDF, qui constituent la plupart des documents utilisés par les organisations. Ce processus utilise la recherche de mots clés et la correspondance d’expressions régulières. Ces mécanismes extraient les données pertinentes du texte intégral, puis créent une sortie structurée. Cette approche présente toutefois des inconvénients. La révision du processus postérieur à l’extraction pour répondre à la modification des formats de document nécessite un effort de maintenance important.

Cas d’usage potentiels

Cette solution est idéale pour le secteur financier. Elle peut aussi s’appliquer aux industries de l’automobile, du tourisme et de l’hôtellerie. Les tâches suivantes peuvent tirer parti de cette solution :

  • Approbation des notes de frais
  • Traitement des factures, des reçus et des notes de frais pour les créances d’assurance et les audits financiers
  • Traitement des créances comprenant des factures, des résumés de sortie et d’autres documents
  • Automatisation de l’approbation des énoncés des travaux (SOW)
  • Automatisation de l’extraction de pièces d’identité à des fins de vérification, comme pour les passeports ou les permis de conduire
  • Automatisation du processus de saisie des données des cartes de visite dans les systèmes de gestion des visiteurs
  • Identification des habitudes d’achat et des documents financiers en double pour la détection des fraudes

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Gardez ces points à l’esprit lorsque vous utilisez cette solution.

Disponibilité

La disponibilité de l’architecture dépend des services Azure qui composent la solution :

Extensibilité

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.

  • Azure Web Application Firewall permet de protéger votre application contre les vulnérabilités courantes. Cette option d’Application Gateway utilise les règles de l’organisation Open Web Application Security Project (OWASP) pour empêcher les attaques telles que le scripting inter-site, les détournements de session et autres codes malveillants exploitant une faille de sécurité.

  • Pour améliorer la sécurité d’App Service, envisagez les options suivantes :

    • App Service peut accéder aux ressources dans Réseau virtuel Microsoft Azure grâce à l’intégration du réseau virtuel.
    • Vous pouvez utiliser App Service dans un environnement de service d’applications, que vous déployez sur un réseau virtuel dédié. Cette approche permet d’isoler la connectivité entre App Service et les autres ressources du réseau virtuel.

    Pour plus d’informations, consultez Sécurité dans Azure App Service.

  • Stockage Blob et Azure Cosmos DB chiffrent les données au repos. Vous pouvez sécuriser ces services à l’aide de points de terminaison de service ou de points de terminaison privés.

  • Azure Functions prend en charge l’intégration de réseaux virtuels. Grâce à cette fonctionnalité, les applications de fonction peuvent accéder aux ressources au sein d’un réseau virtuel. Pour plus d’informations, consultez la section Options de mise en réseau Azure Functions.

  • Vous pouvez configurer Azure AI Document Intelligence et AI Language pour un accès à partir de réseaux virtuels spécifiques ou de points de terminaison privés. Ces services chiffrent les données au repos. Vous pouvez utiliser des clés d'abonnement, des jetons ou Microsoft Entra ID pour authentifier les demandes adressées à ces services. Pour plus d’informations, consultez Authentifier des requêtes auprès des services Azure AI.

  • Machine Learning offre de nombreux niveaux de sécurité :

Résilience

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

Le coût de mise en œuvre de cette solution dépend des composants que vous utilisez et des options que vous choisissez pour chaque composant.

De nombreux facteurs peuvent modifier le prix de chaque composant :

  • Le nombre de documents que vous traitez
  • Le nombre de requêtes simultanées que votre application reçoit
  • La taille des données que vous stockez après le traitement
  • Votre région de déploiement

Ces ressources fournissent des informations sur les options de tarification des composants :

Après avoir choisi un niveau tarifaire pour chaque composant, utilisez la calculatrice de prix Azure pour estimer le coût de la solution.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Étapes suivantes