Cet article décrit les solutions Azure pour la création, l’entraînement, le déploiement et l’utilisation de modèles de traitement de documents personnalisés. Ces services Azure offrent également des fonctionnalités d’interface utilisateur pour effectuer l’étiquetage ou le balisage destiné au traitement du texte.
Architecture
Téléchargez un fichier Visio de cette architecture.
Dataflow
Les orchestrateurs comme Azure Logic Apps, Azure Data Factory ou Azure Functions ingèrent des messages et des pièces jointes provenant de serveurs de messagerie ainsi que des fichiers provenant de serveurs FTP ou d’applications web.
Azure Functions et Logic Apps permettent des charges de travail serverless. Le service que vous choisissez dépend de vos préférences pour les fonctionnalités des services, comme le développement, les connecteurs, la gestion et le contexte d’exécution. Pour plus d’informations, consultez Comparer Azure Functions et Azure Logic Apps.
Envisagez d’utiliser Azure Data Factory pour le déplacement de données en bloc.
Les orchestrateurs envoient des données ingérées à Stockage Blob Azure ou Data Lake Storage, en organisant les données entre les magasins de données en fonction de caractéristiques comme les extensions de fichier ou les clients.
Form Recognizer Studio, Language Studio ou Azure Machine Learning studio étiquettent et balisent les données textuelles et génèrent les modèles personnalisés. Vous pouvez utiliser ces trois services indépendamment ou dans différentes combinaisons pour traiter différents cas d’usage.
Si le document nécessite l’extraction de paires clé-valeur ou la création d’une table personnalisée à partir d’un format d’image ou d’un fichier PDF, utilisez Form Recognizer Studio pour étiqueter les données et entraîner le modèle personnalisé.
Pour la classification de documents basée sur le contenu ou pour l’extraction d’entités spécifiques à un domaine, vous pouvez entraîner une classification de texte personnalisée ou un modèle de reconnaissance d’entité nommée (NER, Named Entity Recognition) dans Language Studio.
Azure Machine Learning studio peut également effectuer un étiquetage pour la classification de texte ou l’extraction d’entités avec des frameworks open source comme PyTorch ou TensorFlow.
Pour déployer les modèles personnalisés et les utiliser pour l’inférence :
Form Recognizer a un déploiement de modèle intégré. Utilisez le SDK ou l’API REST de Form Recognizer pour appliquer des modèles personnalisés pour l’inférence. Incluez l’ID de modèle ou le nom de modèle personnalisé dans l’URL de requête Form Recognizer, selon la version de l’API. Form Recognizer ne nécessite pas d’étapes de déploiement supplémentaires.
Language Studio offre une option pour déployer des modèles de langage personnalisés. Obtenez l’URL de prédiction du point de terminaison REST en sélectionnant le modèle à déployer. Vous pouvez effectuer une inférence de modèle en utilisant le point de terminaison REST ou les bibliothèques clientes du SDK Azure.
Azure Machine Learning peut déployer des modèles personnalisés sur des points de terminaison managés Azure Machine Learning en ligne ou par lots. Vous pouvez également déployer sur Azure Kubernetes Service (AKS) en tant que service web en utilisant le SDK Azure Machine Learning.
Components
Logic Apps fait partie d’Azure Integration Services. Logic Apps crée des workflows automatisés qui intègrent des applications, des données, des services et des systèmes. Avec des connecteurs managés pour des services comme Stockage Azure et Office 365, vous pouvez déclencher des workflows quand un fichier arrive dans le compte de stockage ou quand un e-mail est reçu.
Data Factory est un service d’extraction, de transformation, de chargement (ETL) cloud managé pour l’intégration et la transformation des données. Data Factory peut ajouter des activités de transformation à un pipeline qui incluent l’appel d’un point de terminaison REST ou l’exécution d’un notebook sur les données ingérées.
Azure Functions est un service de calcul serverless qui peut héberger des charges de travail pilotées par les événements avec des processus de courte durée.
Stockage Blob est la solution de stockage d’objets pour les fichiers bruts dans ce scénario. Stockage Blob prend en charge les bibliothèques pour plusieurs langages, comme .NET, Node.js et Python. Les applications peuvent accéder aux fichiers sur Stockage Blob via HTTP/HTTPS. Stockage Blob a des niveaux d’accès chaud, froid et archive pour prendre en charge l’optimisation des coûts de stockage de grandes quantités de données.
Data Lake Storage est un ensemble de fonctionnalités basées sur Stockage Blob Azure pour l’analytique Big Data. Data Lake Storage conserve le rapport coût-efficacité de Stockage Blob, et offre des fonctionnalités comme la sécurité au niveau des fichiers et la sémantique du système de fichiers avec un espace de noms hiérarchique.
Form Recognizer, qui fait partie d’Azure Applied AI Services, a des fonctionnalités d’analyse de documents intégrées pour extraire du texte imprimé et manuscrit, des tableaux et des paires clé-valeur. Form Recognizer a des modèles prédéfinis pour extraire des données à partir de factures, de documents, de reçus, de cartes d’identité et de cartes de visite. Form Recognizer peut aussi entraîner et déployer des modèles personnalisés en utilisant un modèle de formulaire personnalisé ou un modèle de document neuronal personnalisé.
Form Recognizer Studio fournit une interface utilisateur permettant d’explorer les fonctionnalités et les modèles de Form Recognizer ainsi que de créer, étiqueter, entraîner et déployer des modèles personnalisés.
Azure Cognitive Service for Language regroupe les services de traitement en langage naturel d’Azure. La suite offre des options prédéfinies et personnalisables. Pour plus d’informations, consultez Fonctionnalités disponibles de Cognitive Service for Language.
Language Studio fournit une interface utilisateur permettant d’explorer et d’analyser les fonctionnalités d’Azure Cognitive Service for Language. Language Studio fournit également des options pour la création, l’étiquetage, l’entraînement et le déploiement de modèles personnalisés.
Azure Machine Learning est une plateforme ouverte permettant de gérer le développement et le déploiement de modèles Machine Learning à grande échelle.
- Azure Machine Learning studio fournit des options d’étiquetage des données pour les images et le texte.
- Exportez des données étiquetées sous forme de jeux de données COCO ou Azure Machine Learning. Vous pouvez utiliser les jeux de données pour l’entraînement et le déploiement de modèles dans des notebooks Azure Machine Learning.
- Déployez des modèles sur AKS en tant que service web pour l’inférence en temps réel à grande échelle, ou en tant que points de terminaison managés pour l’inférence en temps réel et par lots.
Autres solutions
Vous pouvez ajouter d’autres workflows à ce scénario en fonction de cas d’usage spécifiques.
Si le document est au format image ou PDF, vous pouvez extraire les données en utilisant Vision par ordinateur Azure, l’API Read de Form Recognizer ou des bibliothèques open source.
Vous pouvez produire un résumé de documents et de conversations en utilisant le modèle prédéfini dans Azure Cognitive Service for Language.
Utilisez le code de prétraitement pour effectuer des étapes de traitement du texte, comme le nettoyage, la suppression des mots d’arrêt, la lemmatisation, la recherche de radical et le résumé du texte sur les données extraites, selon les exigences de traitement des documents. Vous pouvez exposer le code en tant qu’API REST pour l’automatisation. Effectuez ces étapes manuellement ou automatisez-les en les intégrant au processus d’ingestion de Logic Apps ou d’Azure Functions.
Détails du scénario
Le traitement de documents est un vaste domaine. Il peut être difficile de répondre à tous vos besoins de traitement de documents avec les modèles prédéfinis disponibles dans Azure Form Recognizer et Azure Cognitive Service for Language. Il peut être nécessaire de créer des modèles personnalisés pour automatiser le traitement des documents pour d’autres applications et domaines.
Les principales problématiques de la personnalisation des modèles sont les suivants :
- L’étiquetage ou le balisage des données texte avec des entités de paire clé-valeur pertinentes afin de classifier du texte pour l’extraction.
- Le déploiement de modèles de façon sécurisée à grande échelle pour faciliter l’intégration aux applications consommatrices.
Cas d’usage potentiels
Les cas d’usage suivants peuvent tirer parti des modèles personnalisés pour le traitement de documents :
- Créer des modèles personnalisés de reconnaissance d’entité nommée et de classification de texte basés sur des frameworks open source.
- Extraire des paires clé-valeur personnalisées des documents pour différents secteurs d’activité verticaux, comme l’assurance et la santé.
- Étiqueter et extraire des entités dépendant de domaines spécifiques au-delà des modèles de reconnaissance d’entité nommée prédéfinis pour des domaines comme la sécurité ou la finance.
- Créer des tableaux personnalisées à partir de documents.
- Extraire des signatures.
- Étiqueter et classifier des e-mails ou d’autres documents en fonction du contenu.
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.
Pour cet exemple de charge de travail, l’implémentation de chaque pilier dépend de la configuration et de l’utilisation optimales de chaque composant des services Azure.
Fiabilité
La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de fiabilité.
Disponibilité
Consultez les contrats SLA pour chaque composant des services Azure :
- Azure Form Recognizer - Contrat SLA pour Azure Applied AI Services.
- Azure Cognitive Service for Language - Contrat SLA pour Azure Cognitive Services.
- Azure Functions - Contrat SLA pour Azure Functions.
- Azure Kubernetes Service - Contrat SLA pour Azure Kubernetes Service (AKS).
- Stockage Azure - Contrat SLA pour les comptes de stockage.
Pour connaître les options de configuration permettant de concevoir des applications à haute disponibilité avec des comptes de stockage Azure, consultez Utiliser la géoredondance pour concevoir des applications à haute disponibilité.
Résilience
Gérez les modes d’échec des services individuels comme Azure Functions et Stockage Azure pour garantir la résilience des services de calcul et des magasins de données dans ce scénario. Pour plus d’informations, consultez Liste de contrôle de la résilience pour des services Azure spécifiques.
Pour Form Recognizer, sauvegardez et récupérez vos modèles Form Recognizer.
Pour la classification de texte personnalisée avec Cognitive Services for Language, sauvegardez et récupérez vos modèles de classification de texte personnalisés.
Pour la reconnaissance d’entité nommée personnalisée dans Cognitive Services for Language, sauvegardez et récupérez vos modèles personnalisés de reconnaissance d’entité nommée.
Azure Machine Learning dépend des services qui le constituent, comme Stockage Blob, les services de calcul et AKS. Pour assurer la résilience d’Azure Machine Learning, configurez chacun de ces services pour qu’ils soient résilients. Pour plus d’informations, consultez Basculement de la continuité d’activité et reprise d’activité.
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é.
Implémentez la protection des données, la gestion des identités et des accès, et les recommandations de sécurité réseau pour Stockage Blob, Cognitive Services pour Form Recognizer et Language Studio, et Azure Machine Learning.
Azure Functions peut accéder aux ressources dans un réseau virtuel Azure via l’intégration de réseau virtuel.
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 total de l’implémentation de cette solution dépend des prix des services que vous choisissez.
Les principaux coûts de cette solution sont les suivants :
Le coût de calcul impliqué dans l’entraînement d’Azure Machine Learning. Choisissez le type de nœud, la taille de cluster et le nombre de nœuds appropriés pour optimiser les coûts. Azure Machine Learning fournit des options permettant de définir le nombre minimal de nœuds sur zéro et de définir le temps d’inactivité avant le scale-down. Pour plus d’informations, consultez Gérer et optimiser les coûts d’Azure Machine Learning.
Durée et activités d’orchestration des données. Pour Azure Data Factory, les frais pour les activités de copie sur le runtime d’intégration Azure sont basés sur le nombre d’unités d’intégration de données utilisées et la durée d’exécution. Les exécutions des activités d’orchestration ajoutées sont également facturées en fonction de leur nombre.
Les plans tarifaires Logic Apps dépendent des ressources que vous créez et que vous utilisez. Les articles suivants peuvent vous aider à choisir le bon plan pour des cas d’usage spécifiques :
Pour plus d’informations sur la tarification de composants spécifiques, consultez les ressources suivantes :
- Azure Form Recognizer - Tarifs
- Tarification d’Azure Functions
- Tarification de Logic Apps
- Tarifs d’Azure Data Factory
- Tarifs Stockage Blob Azure
- Service Language - Tarifs
- Tarifs d’Azure Machine Learning
Utilisez la calculatrice de prix Azure pour ajouter vos choix de composants sélectionnés et estimer le coût global de la solution.
Efficacité des performances
L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Pour plus d’informations, consultez Vue d’ensemble du pilier d’efficacité des performances.
Extensibilité
Pour mettre à l’échelle Azure Functions automatiquement ou manuellement, choisissez le bon plan d’hébergement.
Par défaut, Form Recognizer prend en charge 15 demandes simultanées par seconde. Pour demander un quota supérieur, créez un ticket de support Azure.
Pour les modèles personnalisés Azure Machine Learning hébergés en tant que services web sur AKS, le front-end azureml-fe est mis à l’échelle automatiquement selon les besoins. Ce composant route aussi les demandes d’inférence entrantes vers les services déployés.
Pour les déploiements en tant que points de terminaison managés, prise en charge de la mise à l’échelle automatique via l’intégration à la fonctionnalité de mise à l’échelle automatique d’Azure Monitor.
Les limites du service d’API sur la reconnaissance d’entité nommée personnalisée et la classification de texte personnalisée pour l’inférence sont de 20 requêtes GET ou POST par minute.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteur principal :
- Jyotsna Ravi | Ingénieur client senior
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
- Bien démarrer : Form Recognizer Studio
- Utiliser des kits de développement logiciel (SDK) Form Recognizer ou l’API REST
- Démarrage rapide : prise en main de Language Studio
- Présentation de la Reconnaissance optique de caractères (OCR)
- Configuration d’Azure Functions avec un réseau virtuel