Entraîner et utiliser des modèles personnalisés

Effectué

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é :

  1. 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.json pour chaque exemple de formulaire (généré à l’aide de la fonction Analyser le document).
    • Fichier unique fields.json décrivant les champs que vous souhaitez extraire.
    • Fichier labels.json pour chaque exemple de formulaire, mappant les champs à leur emplacement dans le formulaire.
  2. Générez une URL de signature d’accès partagé (SAP) pour le conteneur.
  3. Utilisez la fonction API REST du modèle build ou la méthode du KIT de développement logiciel (SDK) équivalente.
  4. 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.

En savoir plus