Entraîner et utiliser des modèles personnalisés
Conseil / Astuce
Pour plus d’informations, consultez l’onglet Texte et images !
Lorsque les modèles prédéfinis ne couvrent pas vos types de documents spécifiques, vous pouvez entraîner des modèles personnalisés pour extraire des données de vos propres formulaires. Azure Document Intelligence prend en charge le Machine Learning supervisé, où vous étiquetez des exemples de documents avec les champs que vous souhaitez extraire, et le service entraîne un modèle pour reconnaître ces champs dans de nouveaux documents.
Types de modèles personnalisés
Azure Document Intelligence offre deux types de modèles d’extraction personnalisés, ainsi qu’un modèle de classification :
Modèles personnalisés
Les modèles personnalisés s’appuient sur un modèle visuel cohérent pour extraire des données labellisées. Ils fonctionnent mieux pour les formulaires structurés où la disposition est statique d’une instance de document à l’autre, comme les questionnaires, les applications ou les formulaires gouvernementaux standard.
Les modèles template extraient avec précision des paires clé-valeur annotées, des marques de sélection, des tables, des régions et des signatures. La formation ne prend que quelques minutes, et plus de 100 langues sont prises en charge. Étant donné que les modèles de modèle sont rapides à entraîner et rentables à exécuter, ils constituent un bon point de départ lorsque vos documents ont une disposition visuelle uniforme.
Modèles neuronaux personnalisés
Les modèles neuronaux personnalisés utilisent le Deep Learning et sont affinés sur vos données étiquetées. Ils combinent des fonctionnalités de disposition et de langage pour extraire des champs de documents structurés, semi-structurés et non structurés. Les modèles neuronaux prennent en charge :
- Champs qui se chevauchent
- Détection de signature
- Confiance au niveau du tableau, de la ligne et de la cellule
Les modèles neuronaux offrent une précision plus élevée que les modèles de modèle, en particulier pour les documents semi-structurés ou non structurés où la disposition varie entre les instances. Toutefois, ils prennent plus de temps pour entraîner et consommer plus de ressources.
Choisir entre les modèles de gabarit et les modèles neuronaux
Lorsque vous choisissez le type de modèle personnalisé à utiliser, tenez compte des compromis suivants :
| Facteur | Modèle personnalisé | Neural personnalisé |
|---|---|---|
| Idéal pour | Formulaires structurés avec une disposition visuelle cohérente | Documents semi-structurés ou non structurés avec différentes dispositions |
| Temps de formation | Procès-verbaux | Plus long (dépend de la taille du jeu de données) |
| Coût de formation | inférieur | Plus haut |
| Précision | Élevé pour les formulaires de disposition fixe ; diminue lorsque la disposition varie | Plus élevé dans l’ensemble, en particulier pour les documents avec des variantes de format |
| Prise en charge linguistique | Plus de 100 langues | Moins de langues (consultez la documentation relative à la prise en charge actuelle) |
| Prise en charge des fonctionnalités | Paires clé-valeur, marques de sélection, tables, régions, signatures | Champs qui se chevauchent, détection de signature, fiabilité de table/ligne/cellule |
Conseil / Astuce
Commencez par un modèle de modèle personnalisé si vos formulaires ont une disposition visuelle cohérente. C’est plus rapide et moins cher de s’entraîner. Si la précision est insuffisante ou que vos documents varient en format, basculez vers un modèle neuronal personnalisé.
Classifieurs personnalisés
Les modèles de classification personnalisés identifient le type d’un document avant d’appeler un modèle d’extraction. Vous pouvez utiliser un classifieur pour router les documents entrants vers le modèle d’extraction approprié lorsque vous gérez plusieurs types de formulaires.
Entraîner un modèle personnalisé
Pour entraîner un modèle d’extraction personnalisé :
- Stockez des exemples de formulaires dans un conteneur blob Azure, ainsi que des fichiers JSON contenant des informations sur la disposition et les champs d'étiquettes.
- Fichier
ocr.jsonpour chaque exemple de formulaire (généré à l’aide de la fonction Analyser le document). - Fichier unique
fields.jsondécrivant les champs que vous souhaitez extraire. - Fichier
labels.jsonpour chaque exemple de formulaire, mappant les champs à leur emplacement dans le formulaire.
- Fichier
- Générez une URL de signature d’accès partagé (SAP) pour le conteneur.
- Utilisez la fonction API REST du modèle build ou la méthode du KIT de développement logiciel (SDK) équivalente.
- Utilisez la fonction API REST Get model pour récupérer l’ID de modèle entraîné.
Vous pouvez également entraîner visuellement des modèles personnalisés à l’aide de Document Intelligence Studio, comme décrit dans l’unité Utiliser Document Intelligence Studio .
Conseil / Astuce
Utilisez au moins cinq à six exemples de formulaires pour l’entraînement. Un jeu de données plus grand et plus varié produit des modèles plus précis.
Essayer un modèle personnalisé
Pour extraire des données de formulaire avec un modèle personnalisé, appelez la fonction Analyser le document avec votre ID de modèle. Vous pouvez utiliser un Kit de développement logiciel (SDK) pris en charge ou l’API REST.
C#
string endpoint = "<endpoint>";
string apiKey = "<apiKey>";
AzureKeyCredential credential = new AzureKeyCredential(apiKey);
DocumentAnalysisClient client = new DocumentAnalysisClient(new Uri(endpoint), credential);
string modelId = "<modelId>";
Uri fileUri = new Uri("<fileUri>");
AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, modelId, fileUri);
AnalyzeResult result = operation.Value;
Python
endpoint = "YOUR_DOC_INTELLIGENCE_ENDPOINT"
key = "YOUR_DOC_INTELLIGENCE_KEY"
model_id = "YOUR_CUSTOM_BUILT_MODEL_ID"
formUrl = "YOUR_DOCUMENT"
document_analysis_client = DocumentAnalysisClient(
endpoint=endpoint, credential=AzureKeyCredential(key)
)
task = document_analysis_client.begin_analyze_document_from_url(model_id, formUrl)
result = task.result()
Une réponse réussie contient un analyzeResult objet avec le contenu extrait et un tableau de pages contenant des informations sur le document.
Modèles composés
Vous pouvez combiner plusieurs modèles personnalisés en un seul modèle composé. Lorsque vous envoyez un document à un modèle composé, Document Intelligence le classifie pour déterminer le modèle de composant le plus approprié, puis retourne les résultats d’extraction de ce modèle. Cette approche est utile lorsque vous gérez plusieurs types de formulaires qui nécessitent chacun leur propre modèle d’extraction.