Partager via


Modèle de disposition d’Intelligence documentaire

Important

  • Les mises en production de préversion publique Document Intelligence fournissent un accès anticipé aux fonctionnalités en cours de développement actif. Les fonctionnalités, approches et processus peuvent changer, avant la disponibilité générale (GA), en fonction des commentaires des utilisateurs.
  • La préversion publique des bibliothèques de client Intelligence documentaire utilise par défaut la version 2024-07-31-preview de l’API REST.
  • La préversion publique 2024-07-31-preview est actuellement disponible uniquement dans les régions Azure suivantes. Notez que le modèle génératif personnalisé (extraction de champ de document) dans AI Studio est disponible uniquement dans la région USA Centre Nord :
    • USA Est
    • USA Ouest 2
    • Europe Ouest
    • USA Centre Nord 

Ce contenu s’applique à : coche v4.0 (préversion) | Versions précédentes : coche-bleue v3.1 (GA) coche-bleue v3.0 (GA) coche-bleue v2.1 (GA)

Le modèle de disposition d’Intelligence documentaire est une API avancée d’analyse de documents basée sur le machine learning, qui est disponible dans le cloud Intelligence documentaire. Elle vous permet de prendre des documents dans différents formats et de retourner des représentations de données structurées des documents. Elle combine une version améliorée de nos puissantes capacités de reconnaissance optique de caractères (OCR) avec des modèles de deep learning (apprentissage approfondi) pour extraire du texte, des tableaux, des marques de sélection et la structure du document.

Analyse de la disposition de documents (v4)

L’analyse de la disposition structurelle d’un document est le processus consistant à analyser un document pour en extraire les parties intéressantes et leurs interrelations. L’objectif est d’extraire le texte et les éléments structurels de la page pour créer de meilleurs modèles de compréhension sémantique. Il existe deux types de rôles dans une mise en page de document :

  • Rôles géométriques : Le texte, les tableaux, les figures et les marques de sélection sont des exemples de rôles géométriques.
  • Rôles logiques : Les titres, les en-têtes et les pieds de page sont des exemples de rôles logiques des textes.

L’illustration suivante montre les composants typiques dans une image d’un exemple de page.

Illustration de l’exemple de disposition d’un document.

Options de développement (v4)

Intelligence documentaire v4.0 (2024-07-31-preview) prend en charge les outils, applications et bibliothèques suivants :

Fonctionnalité Ressources ID de modèle
Modèle de disposition Document Intelligence Studio
API REST
Kit de développement logiciel (SDK) C#
Kit de développement logiciel (SDK) Python
Kit de développement logiciel (SDK) Java
Kit de développement logiciel (SDK) JavaScript
prebuilt-layout

Exigences relatives aux entrées (v4)

  • Formats de fichiers pris en charge :

    Modèle PDF Image :
    JPEG/JPG, PNG, BMP, TIFF, HEIF
    Microsoft Office :
    Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML
    Lire
    Layout ✔ (2024-07-31-preview, 2024-02-29-preview, 2023-10-31-preview)
    Document général
    Prédéfinie
    Extraction personnalisée
    Classification personnalisée ✔ (2024-07-31-preview, 2024-02-29-preview)
  • Pour de meilleurs résultats, fournissez une photo nette ou une copie de qualité par document.

  • Pour les PDF et TIFF, jusqu'à 2 000 pages peuvent être traitées (avec un abonnement gratuit, seules les deux premières pages sont traitées).

  • La taille de fichier pour l’analyse de documents est de 500 Mo pour le niveau payant (S0) et de 4 Mo pour le niveau gratuit (F0).

  • Les dimensions de l’image doivent être comprises entre 50 pixels x 50 pixels et 10 000 pixels x 10 000 pixels.

  • Si vos fichiers PDF sont verrouillés par mot de passe, vous devez supprimer le verrou avant leur envoi.

  • La hauteur minimale du texte à extraire est de 12 pixels pour une image de 1024 x 768 pixels. Cette dimension correspond environ à un texte de 8 points à 150 points par pouce (ppp).

  • Pour la formation de modèles personnalisés, le nombre maximal de pages pour les données de formation est de 500 pour le modèle personnalisé et 50 000 pour le modèle neural personnalisé.

    • Pour l’apprentissage du modèle d’extraction personnalisé, la taille totale des données d’entraînement est de 50 Mo pour le modèle de gabarit et de 1 Go pour le modèle neuronal.

    • Pour l’apprentissage du modèle de classification personnalisé, la taille totale des données d’entraînement est de 1 Go, avec un maximum de 10 000 pages. Pour 2024-07-31-preview et versions ultérieures, la taille totale des données d’apprentissage est de 2 Go, avec un maximum de 10 000 pages.

Bien démarrer avec le modèle de disposition

Découvrez comment les données, y compris le texte, les tableaux, les en-têtes de tableau, les marques de sélection et les informations de structure, sont extraites des documents avec Intelligence documentaire. Vous avez besoin des ressources suivantes :

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.

  • Instance Intelligence documentaire dans le Portail Azure. Vous pouvez utiliser le niveau tarifaire gratuit (F0) pour tester le service. Une fois votre ressource déployée, sélectionnez Accéder à la ressource pour accéder à la clé et au point de terminaison.

    Capture d’écran de l’emplacement des clés et des points de terminaison dans le Portail Azure.

Remarque

Document Intelligence Studio est disponible avec les API v3.0 et versions ultérieures.

Exemple de document traité avec Intelligence documentaire Studio

Capture d'écran illustrant une page de journal dans Document Intelligence Studio par la fonction « Layout ».

  1. Dans la page d’accueil Document Intelligence Studio, sélectionnez disposition.

  2. Vous pouvez analyser l’exemple de document ou charger vos propres fichiers.

  3. Sélectionnez le bouton Exécuter l’analyse et, si nécessaire, configurez les Options d’analyse :

    Capture d’écran des boutons Exécuter l’analyse et Options d’analyse dans Document Intelligence Studio.

Langues et paramètres régionaux pris en charge (ocr)

Consultez notre page Support linguistique - modèles d'analyse documentaire pour une liste complète des langues prises en charge.

Extraction de données (v4)

Le modèle de disposition extrait du texte, des marques de sélection, des tableaux, des paragraphes et des types de paragraphes (roles) à partir de vos documents.

Remarque

Les versions 2024-02-29-preview, 2023-10-31-preview et ultérieures prennent en charge les fichiers Microsoft Office (DOCX, XLSX, PPTX) et HTML. Les fonctionnalités suivantes ne sont pas prises en charge :

  • Il n’existe aucun angle, largeur/hauteur et unité avec chaque objet de page.
  • Pour chaque objet détecté, il n’existe aucun polygone englobant ni région englobante.
  • La plage de pages (pages) n’est pas prise en charge en tant que paramètre.
  • Aucun objet lines.

Pages

La collection de pages est une liste de pages dans le document. Chaque page est représentée séquentiellement dans le document et inclut l’angle d’orientation qui indique si la page est tournée ainsi que la largeur et la hauteur (dimensions en pixels). Les unités de page dans la sortie du modèle sont calculées comme indiqué :

Format de fichier Unité de page calculée Nombre total de pages
Images (JPEG/JPG, PNG, BMP, HEIF) Chaque image = 1 unité de page Nombre total d'images
PDF Chaque page du PDF = 1 unité de page Nombre total de pages dans le fichier PDF
TIFF Chaque image dans le fichier TIFF = 1 unité de page Nombre total d’images dans le fichier TIFF
Word (DOCX) Jusqu’à 3 000 caractères = 1 unité de page, images incorporées ou liées non prises en charge Nombre total de pages allant jusqu’à 3 000 caractères chacune
Excel (XLSX) Chaque feuille de calcul = 1 unité de page, images incorporées ou liées non prises en charge Nombre total de feuilles de calcul
PowerPoint (PPTX) Chaque diapositive = 1 unité de page, images incorporées ou liées non prises en charge Nombre total de diapositives
HTML Jusqu’à 3 000 caractères = 1 unité de page, images incorporées ou liées non prises en charge Nombre total de pages allant jusqu’à 3 000 caractères chacune
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")

Extraire les pages sélectionnées à partir de documents

Pour les documents volumineux comportant plusieurs pages, utilisez le paramètre de requête pages pour indiquer des numéros de page ou des plages de pages spécifiques pour l’extraction de texte.

Paragraphes

Le modèle de disposition extrait tous les blocs de texte identifiés dans la collection paragraphs en tant qu’objet de niveau supérieur sous analyzeResults. Chaque entrée de cette collection représente un bloc de texte et inclut le texte extrait en tant que content et les coordonnées polygon limitrophes. Les informations span pointent vers le fragment de texte dans la propriété content de niveau supérieur qui contient le texte intégral du document.


"paragraphs": [
    {
        "spans": [],
        "boundingRegions": [],
        "content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
    }
]

Rôles de paragraphe

La nouvelle détection d’objet de page basée sur l’apprentissage automatique extrait les rôles logiques tels que les titres, les en-têtes de section, les en-têtes de page, les pieds de page, etc. Le modèle de disposition d’Intelligence documentaire affecte certains blocs de texte de la collection paragraphs avec leur rôle ou type spécialisé prédit par le modèle. Il est préférable d’utiliser les rôles de paragraphe avec des documents non structurés pour mieux comprendre la disposition du contenu extrait pour une analyse sémantique plus riche. Les rôles de paragraphe suivants sont pris en charge :

Rôle prédit Description Types de fichiers pris en charge
title Les titres principaux de la page pdf, image, docx, pptx, xlsx, html
sectionHeading Un ou plusieurs sous-titres sur la page pdf, image, docx, xlsx, html
footnote Texte près du bas de la page pdf, image
pageHeader Texte près du bord supérieur de la page pdf, image, docx
pageFooter Texte près du bord inférieur de la page pdf, image, docx, pptx, html
pageNumber Nombre de pages pdf, image
{
    "paragraphs": [
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "title",
                    "content": "NEWS TODAY"
                },
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "sectionHeading",
                    "content": "Mirjam Nilsson"
                }
    ]
}

Texte, lignes et mots

Le modèle de disposition de documents dans Intelligence documentaire extrait le texte de style imprimé et manuscrit en tant que lines et words. La collection styles inclut tout style manuscrit détecté pour les lignes ainsi que les étendues pointant vers le texte associé. Cette fonctionnalité s’applique aux langues manuscrites prises en charge.

Pour Microsoft Word, Excel, PowerPoint et HTML, les versions 2024-02-29-preview et 2023-10-31-preview du modèle de mise en page extraient tout le texte incorporé tel quel. Les textes sont extraits sous forme de mots et de paragraphes. Les images incorporées ne sont pas prises en charge.

# Analyze lines.
if page.lines:
    for line_idx, line in enumerate(page.lines):
    words = get_words(page, line)
    print(
        f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
        f"within bounding polygon '{line.polygon}'"
    )

    # Analyze words.
    for word in words:
        print(f"......Word '{word.content}' has a confidence of {word.confidence}")

Style manuscrit des lignes de texte

La réponse inclut le classement de chaque ligne de texte selon qu’elle est de style manuscrit ou non, avec un score de confiance. Pour plus d'informations, consultez Consultez Prise en charge des langues manuscrites. L’exemple suivant montre un exemple d’extrait JSON.

"styles": [
{
    "confidence": 0.95,
    "spans": [
    {
        "offset": 509,
        "length": 24
    }
    "isHandwritten": true
    ]
}

Si vous activez la fonctionnalité de complément de police/style, vous obtenez également le résultat de police/style dans le cadre de l’objet styles.

Marques de sélection

Le modèle de disposition extrait aussi les marques de sélection des documents. Les marques de sélection extraites apparaissent dans la collection pages pour chaque page. Elles incluent le polygon limitrophe, confidence et la sélection state (selected/unselected). La représentation sous forme de texte (autrement dit, :selected: et :unselected) est également incluse comme index de départ (offset) et length qui référence la propriété content de niveau supérieur contenant le texte intégral du document.

# Analyze selection marks.
if page.selection_marks:
    for selection_mark in page.selection_marks:
        print(
            f"Selection mark is '{selection_mark.state}' within bounding polygon "
            f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
        )

Tables

L’extraction de tableaux est une condition essentielle pour le traitement de documents contenant de grands volumes de données généralement mis en forme en tant que tableaux. Le modèle de disposition extrait des tableaux dans la section pageResults de la sortie JSON. Les informations extraites d’un tableau comprennent le nombre de colonnes et de lignes, l’étendue des lignes et l’étendue des colonnes. Chaque cellule avec son polygone limitrophe est une sortie avec des informations que la zone soit reconnue comme un columnHeader ou non. Le modèle prend en charge l’extraction de tableaux pivotés. Chaque cellule de tableau contient l’index de ligne et de colonne et les coordonnées du polygone limitrophe. Pour le texte de cellule, le modèle génère les informations span contenant l’index de démarrage (offset). Le modèle génère également la length du contenu supérieur qui contient le texte intégral du document.

Voici quelques facteurs à prendre en compte lors de l’utilisation de la fonctionnalité d’extraction de balles Intelligence documentaire :

  • Les données que vous voulez extraire sont-elles présentées sous forme de tableau ? La structure du tableau est-elle significative ?

  • Si les données ne sont pas au format tableau, peuvent-elles être contenues dans une grille à deux dimensions ?

  • Vos tableaux s’étendent-ils sur plusieurs pages ? Si tel est le cas, pour éviter d’avoir à étiqueter toutes les pages, divisez le PDF en pages avant de l’envoyer à Intelligence documentaire. Après l’analyse, effectuez un post-traitement des pages dans un tableau unique.

  • Reportez-vous à champs tabulaires si vous créez des modèles personnalisés. Les tableaux dynamiques contiennent un nombre variable de lignes pour chaque colonne. Les tableaux fixes, eux, contiennent un nombre constant de lignes pour chaque colonne.

Remarque

  • L’analyse de table n’est pas prise en charge si le fichier d’entrée est XLSX.
  • À compter de 2024-07-31-preview, les régions englobantes pour les figures et les tableaux couvrent uniquement le contenu principal et excluent les légendes et notes de bas de page associées.
if result.tables:
    for table_idx, table in enumerate(result.tables):
        print(f"Table # {table_idx} has {table.row_count} rows and " f"{table.column_count} columns")
        if table.bounding_regions:
            for region in table.bounding_regions:
                print(f"Table # {table_idx} location on page: {region.page_number} is {region.polygon}")
        # Analyze cells.
        for cell in table.cells:
            print(f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'")
            if cell.bounding_regions:
                for region in cell.bounding_regions:
                print(f"...content on page {region.page_number} is within bounding polygon '{region.polygon}'")

Sortie au format markdown

L’API Layout peut générer le texte extrait au format Markdown. Utilisez le outputContentFormat=markdown pour spécifier le format de sortie en Markdown. Le contenu markdown est généré dans le cadre de la section content.

Remarque

À partir de 2024-07-31-preview, la représentation des tables est modifiée en tables HTML pour permettre le rendu de cellules fusionnées, d’en-têtes à plusieurs lignes, etc. Une autre modification associée consiste à utiliser des caractères ☒ de case à cocher Unicode et ☐ à des marques de sélection au lieu de :selected : et :unselected :. Notez que cela signifie que le contenu des champs de marque de sélection contient :selected: même si leurs étendues font référence aux caractères Unicode dans l’étendue de niveau supérieur.

document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
    "prebuilt-layout",
    AnalyzeDocumentRequest(url_source=url),
    output_content_format=ContentFormat.MARKDOWN,
)

Figures

Les figures (graphiques, images) dans les documents jouent un rôle crucial dans le complément et l’amélioration du contenu textuel, fournissant des représentations visuelles qui aident à comprendre les informations complexes. L’objet figures détecté par le Modèle de disposition possède des propriétés clés telles que boundingRegions (les emplacements spatiaux de la figure sur les pages du document, y compris le numéro de page et les coordonnées de polygone qui définissent les limites de la figure), spans (détaille les étendues de texte liées à la figure, en spécifiant leurs décalages et longueurs dans le texte du document. Cette connexion permet d’associer la figure à son contexte textuel pertinent), elements (identificateurs pour les éléments de texte ou les paragraphes du document qui sont liés ou décrivent la figure) et caption le cas échéant.

Lorsque output=figures est spécifiée lors de l’opération d’analyse initiale, le service génère des images rognées pour toutes les figures détectées accessibles via /analyeResults/{resultId}/figures/{figureId}. FigureId est inclus dans chaque objet figure, suivant une convention non documentée de {pageNumber}.{figureIndex}figureIndex réinitialise à une par page.

Remarque

À compter de 2024-07-31-preview, les régions englobantes pour les figures et les tableaux couvrent uniquement le contenu principal et excluent les légendes et notes de bas de page associées.

# Analyze figures.
if result.figures:
    for figures_idx,figures in enumerate(result.figures):
        print(f"Figure # {figures_idx} has the following spans:{figures.spans}")
        for region in figures.bounding_regions:
            print(f"Figure # {figures_idx} location on page:{region.page_number} is within bounding polygon '{region.polygon}'")

Sections

L’analyse hiérarchique de la structure des documents est essentielle pour organiser, comprendre et traiter des documents étendus. Cette approche est essentielle pour segmenter sémantiquement des documents longs afin d’améliorer la compréhension, de faciliter la navigation et d’améliorer la récupération des informations. L’avènement de la génération augmentée de récupération (RAG) dans l’IA générative de document souligne l’importance de l’analyse hiérarchique de la structure de document. Le Modèle de disposition prend en charge les sections et sous-sections de la sortie, qui identifie la relation des sections et des objets dans chaque section. La structure hiérarchique est conservée dans elements de chaque section. Vous pouvez utiliser la sortie au format markdown pour obtenir facilement les sections et sous-sections en markdown.

document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
    "prebuilt-layout",
    AnalyzeDocumentRequest(url_source=url),
    output_content_format=ContentFormat.MARKDOWN,
)

Ce contenu s’applique à : coche v3.1 (GA) | Dernière version : coche violette v4.0 (préversion) | Versions précédentes : coche-bleue v3.0 coche-bleue v2.1

Ce contenu s’applique à : coche v3.0 (GA) | Dernières versions : coche violette v4.0 (préversion) coche-violette v3.1 | Version précédente : coche-bleue v2.1

Ce contenu s’applique à : coche v2.1 | Dernière version : coche-bleue v4.0 (préversion)

Le modèle de disposition d’Intelligence documentaire est une API avancée d’analyse de documents basée sur le machine learning, qui est disponible dans le cloud Intelligence documentaire. Elle vous permet de prendre des documents dans différents formats et de retourner des représentations de données structurées des documents. Elle combine une version améliorée de nos puissantes capacités de reconnaissance optique de caractères (OCR) avec des modèles de deep learning (apprentissage approfondi) pour extraire du texte, des tableaux, des marques de sélection et la structure du document.

Analyse de la disposition de documents

L’analyse de la disposition structurelle d’un document est le processus consistant à analyser un document pour en extraire les parties intéressantes et leurs interrelations. L’objectif est d’extraire le texte et les éléments structurels de la page pour créer de meilleurs modèles de compréhension sémantique. Il existe deux types de rôles dans une mise en page de document :

  • Rôles géométriques : Le texte, les tableaux, les figures et les marques de sélection sont des exemples de rôles géométriques.
  • Rôles logiques : Les titres, les en-têtes et les pieds de page sont des exemples de rôles logiques des textes.

L’illustration suivante montre les composants typiques dans une image d’un exemple de page.

Illustration de l’exemple de disposition d’un document.

Options de développement

Document Intelligence v3.1 prend en charge les outils, applications et bibliothèques suivants :

Fonction Ressources ID de modèle
Modèle de disposition Document Intelligence Studio
API REST
Kit de développement logiciel (SDK) C#
Kit de développement logiciel (SDK) Python
Kit de développement logiciel (SDK) Java
Kit de développement logiciel (SDK) JavaScript
prebuilt-layout

Intelligence documentaire v3.0 prend en charge les outils, applications et bibliothèques suivants :

Fonction Ressources ID de modèle
Modèle de disposition Document Intelligence Studio
API REST
Kit de développement logiciel (SDK) C#
Kit de développement logiciel (SDK) Python
Kit de développement logiciel (SDK) Java
Kit de développement logiciel (SDK) JavaScript
prebuilt-layout

Intelligence documentaire v2.1 prend en charge les outils, applications et bibliothèques suivants :

Fonction Ressources
Modèle de disposition ● Outil d’étiquetage Intelligence Documentaire
API REST
Kit de développement logiciel (SDK) Bibliothèque client
Intelligence Documentaire Conteneur Docker

Critères des entrées

  • Formats de fichiers pris en charge :

    Modèle PDF Image :
    JPEG/JPG, PNG, BMP, TIFF, HEIF
    Microsoft Office :
    Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML
    Lire
    Layout ✔ (2024-07-31-preview, 2024-02-29-preview, 2023-10-31-preview)
    Document général
    Prédéfinie
    Extraction personnalisée
    Classification personnalisée ✔ (2024-07-31-preview, 2024-02-29-preview)
  • Pour de meilleurs résultats, fournissez une photo nette ou une copie de qualité par document.

  • Pour les PDF et TIFF, jusqu'à 2 000 pages peuvent être traitées (avec un abonnement gratuit, seules les deux premières pages sont traitées).

  • La taille de fichier pour l’analyse de documents est de 500 Mo pour le niveau payant (S0) et de 4 Mo pour le niveau gratuit (F0).

  • Les dimensions de l’image doivent être comprises entre 50 pixels x 50 pixels et 10 000 pixels x 10 000 pixels.

  • Si vos fichiers PDF sont verrouillés par mot de passe, vous devez supprimer le verrou avant leur envoi.

  • La hauteur minimale du texte à extraire est de 12 pixels pour une image de 1024 x 768 pixels. Cette dimension correspond environ à un texte de 8 points à 150 points par pouce (ppp).

  • Pour la formation de modèles personnalisés, le nombre maximal de pages pour les données de formation est de 500 pour le modèle personnalisé et 50 000 pour le modèle neural personnalisé.

    • Pour l’apprentissage du modèle d’extraction personnalisé, la taille totale des données d’entraînement est de 50 Mo pour le modèle de gabarit et de 1 Go pour le modèle neuronal.

    • Pour l’apprentissage du modèle de classification personnalisé, la taille totale des données d’entraînement est de 1 Go, avec un maximum de 10 000 pages. Pour 2024-07-31-preview et versions ultérieures, la taille totale des données d’apprentissage est de 2 Go, avec un maximum de 10 000 pages.

  • Formats de fichiers pris en charge : JPEG, PNG, PDF et TIFF.
  • Nombre de pages pris en charge : pour PDF et TIFF, jusqu’à 2 000 pages sont traitées. Abonnés du niveau Gratuit : seules les deux premières pages sont traitées.
  • Taille de fichier prise en charge : La taille de fichier doit être inférieure à 50 Mo, et les dimensions comprises entre 50 × 50 pixels et 10 000 × 10 000 pixels.

Bien démarrer avec le modèle de disposition

Découvrez comment les données, y compris le texte, les tableaux, les en-têtes de tableau, les marques de sélection et les informations de structure, sont extraites des documents avec Intelligence documentaire. Vous avez besoin des ressources suivantes :

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.

  • Instance Intelligence documentaire dans le Portail Azure. Vous pouvez utiliser le niveau tarifaire gratuit (F0) pour tester le service. Une fois votre ressource déployée, sélectionnez Accéder à la ressource pour accéder à la clé et au point de terminaison.

Capture d’écran de l’emplacement des clés et des points de terminaison dans le Portail Azure.

Remarque

Document Intelligence Studio est disponible avec les API v3.0 et versions ultérieures.

Exemple de document traité avec Intelligence documentaire Studio

Capture d'écran illustrant une page de journal dans Document Intelligence Studio par la fonction « Layout ».

  1. Dans la page d’accueil Document Intelligence Studio, sélectionnez disposition.

  2. Vous pouvez analyser l’exemple de document ou charger vos propres fichiers.

  3. Sélectionnez le bouton Exécuter l’analyse et, si nécessaire, configurez les Options d’analyse :

    Capture d’écran des boutons Exécuter l’analyse et Options d’analyse dans Document Intelligence Studio.

Outil d’étiquetage d’exemples d’Intelligence documentaire

  1. Accédez à l’outil d’exemples d’Intelligence documentaire.

  2. Dans la page d’accueil de l’outil d’étiquetage des exemples, sélectionnez Utiliser Disposition pour obtenir du texte, des tableaux et des marques de sélection.

    Capture d’écran des paramètres de connexion pour le processus de disposition d’Intelligence documentaire.

  3. Dans le champ Point de terminaison du service Document Intelligence, collez le point de terminaison que vous avez obtenu avec votre abonnement Document Intelligence.

  4. Dans le champ Clé, collez la clé que vous avez obtenue de votre ressource Document Intelligence.

  5. Dans le champ Source, sélectionnez URL dans le menu déroulant Vous pouvez utiliser notre exemple de document :

  6. Sélectionnez Exécuter la requête. L’Outil d’étiquetage des exemples d’Intelligence documentaire appelle l’API Analyze Layout et analyse le document.

    Capture d'écran de la fenêtre déroulante « Layout ».

  7. Afficher les résultats : consultez le texte extrait mis en évidence, les marques de sélection détectées et les tableaux détectés.

    Capture d’écran des paramètres de connexion pour l’outil d’étiquetage des exemples d’Intelligence documentaire.

Langues et régions prises en charge

Consultez notre page Support linguistique - modèles d'analyse documentaire pour une liste complète des langues prises en charge.

Intelligence documentaire v2.1 prend en charge les outils, applications et bibliothèques suivants :

Fonction Ressources
API de disposition ● Outil d’étiquetage Intelligence Documentaire
API REST
Kit de développement logiciel (SDK) Bibliothèque client
Intelligence Documentaire Conteneur Docker

Extraction de données

Le modèle de disposition extrait du texte, des marques de sélection, des tableaux, des paragraphes et des types de paragraphes (roles) à partir de vos documents.

Remarque

Les versions 2024-02-29-preview, 2023-10-31-preview et ultérieures prennent en charge les fichiers Microsoft Office (DOCX, XLSX, PPTX) et HTML. Les fonctionnalités suivantes ne sont pas prises en charge :

  • Il n’existe aucun angle, largeur/hauteur et unité avec chaque objet de page.
  • Pour chaque objet détecté, il n’existe aucun polygone englobant ni région englobante.
  • La plage de pages (pages) n’est pas prise en charge en tant que paramètre.
  • Aucun objet lines.

Pages

La collection de pages est une liste de pages dans le document. Chaque page est représentée séquentiellement dans le document et inclut l’angle d’orientation qui indique si la page est tournée ainsi que la largeur et la hauteur (dimensions en pixels). Les unités de page dans la sortie du modèle sont calculées comme indiqué :

Format de fichier Unité de page calculée Nombre total de pages
Images (JPEG/JPG, PNG, BMP, HEIF) Chaque image = 1 unité de page Nombre total d'images
PDF Chaque page du PDF = 1 unité de page Nombre total de pages dans le fichier PDF
TIFF Chaque image dans le fichier TIFF = 1 unité de page Nombre total d’images dans le fichier TIFF
Word (DOCX) Jusqu’à 3 000 caractères = 1 unité de page, images incorporées ou liées non prises en charge Nombre total de pages allant jusqu’à 3 000 caractères chacune
Excel (XLSX) Chaque feuille de calcul = 1 unité de page, images incorporées ou liées non prises en charge Nombre total de feuilles de calcul
PowerPoint (PPTX) Chaque diapositive = 1 unité de page, images incorporées ou liées non prises en charge Nombre total de diapositives
HTML Jusqu’à 3 000 caractères = 1 unité de page, images incorporées ou liées non prises en charge Nombre total de pages allant jusqu’à 3 000 caractères chacune
"pages": [
    {
        "pageNumber": 1,
        "angle": 0,
        "width": 915,
        "height": 1190,
        "unit": "pixel",
        "words": [],
        "lines": [],
        "spans": []
    }
]
# Analyze pages.
for page in result.pages:
    print(f"----Analyzing layout from page #{page.page_number}----")
    print(
        f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
    )

Extraire les pages sélectionnées à partir de documents

Pour les documents volumineux comportant plusieurs pages, utilisez le paramètre de requête pages pour indiquer des numéros de page ou des plages de pages spécifiques pour l’extraction de texte.

Paragraphes

Le modèle de disposition extrait tous les blocs de texte identifiés dans la collection paragraphs en tant qu’objet de niveau supérieur sous analyzeResults. Chaque entrée de cette collection représente un bloc de texte et inclut le texte extrait en tant que content et les coordonnées polygon limitrophes. Les informations span pointent vers le fragment de texte dans la propriété content de niveau supérieur qui contient le texte intégral du document.


"paragraphs": [
    {
        "spans": [],
        "boundingRegions": [],
        "content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
    }
]

Rôles de paragraphe

La nouvelle détection d’objet de page basée sur l’apprentissage automatique extrait les rôles logiques tels que les titres, les en-têtes de section, les en-têtes de page, les pieds de page, etc. Le modèle de disposition d’Intelligence documentaire affecte certains blocs de texte de la collection paragraphs avec leur rôle ou type spécialisé prédit par le modèle. Il est préférable d’utiliser les rôles de paragraphe avec des documents non structurés pour mieux comprendre la disposition du contenu extrait pour une analyse sémantique plus riche. Les rôles de paragraphe suivants sont pris en charge :

Rôle prédit Description Types de fichiers pris en charge
title Les titres principaux de la page pdf, image, docx, pptx, xlsx, html
sectionHeading Un ou plusieurs sous-titres sur la page pdf, image, docx, xlsx, html
footnote Texte près du bas de la page pdf, image
pageHeader Texte près du bord supérieur de la page pdf, image, docx
pageFooter Texte près du bord inférieur de la page pdf, image, docx, pptx, html
pageNumber Nombre de pages pdf, image
{
    "paragraphs": [
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "title",
                    "content": "NEWS TODAY"
                },
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "sectionHeading",
                    "content": "Mirjam Nilsson"
                }
    ]
}

Texte, lignes et mots

Le modèle de disposition de documents dans Intelligence documentaire extrait le texte de style imprimé et manuscrit en tant que lines et words. La collection styles inclut tout style manuscrit détecté pour les lignes ainsi que les étendues pointant vers le texte associé. Cette fonctionnalité s’applique aux langues manuscrites prises en charge.

Pour Microsoft Word, Excel, PowerPoint et HTML, les versions 2024-02-29-preview et 2023-10-31-preview du modèle de mise en page extraient tout le texte incorporé tel quel. Les textes sont extraits sous forme de mots et de paragraphes. Les images incorporées ne sont pas prises en charge.

"words": [
    {
        "content": "While",
        "polygon": [],
        "confidence": 0.997,
        "span": {}
    },
],
"lines": [
    {
        "content": "While healthcare is still in the early stages of its Al journey, we",
        "polygon": [],
        "spans": [],
    }
]
# Analyze lines.
for line_idx, line in enumerate(page.lines):
    words = line.get_words()
    print(
        f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
        f"within bounding polygon '{format_polygon(line.polygon)}'"
    )

    # Analyze words.
    for word in words:
        print(
            f"......Word '{word.content}' has a confidence of {word.confidence}"
        )

Style manuscrit des lignes de texte

La réponse inclut le classement de chaque ligne de texte selon qu’elle est de style manuscrit ou non, avec un score de confiance. Pour plus d'informations, consultez Consultez Prise en charge des langues manuscrites. L’exemple suivant montre un exemple d’extrait JSON.

"styles": [
{
    "confidence": 0.95,
    "spans": [
    {
        "offset": 509,
        "length": 24
    }
    "isHandwritten": true
    ]
}

Si vous activez la fonctionnalité de complément de police/style, vous obtenez également le résultat de police/style dans le cadre de l’objet styles.

Marques de sélection

Le modèle de disposition extrait aussi les marques de sélection des documents. Les marques de sélection extraites apparaissent dans la collection pages pour chaque page. Elles incluent le polygon limitrophe, confidence et la sélection state (selected/unselected). La représentation sous forme de texte (autrement dit, :selected: et :unselected) est également incluse comme index de départ (offset) et length qui référence la propriété content de niveau supérieur contenant le texte intégral du document.

{
    "selectionMarks": [
        {
            "state": "unselected",
            "polygon": [],
            "confidence": 0.995,
            "span": {
                "offset": 1421,
                "length": 12
            }
        }
    ]
}
# Analyze selection marks.
for selection_mark in page.selection_marks:
    print(
        f"Selection mark is '{selection_mark.state}' within bounding polygon "
        f"'{format_polygon(selection_mark.polygon)}' and has a confidence of {selection_mark.confidence}"
    )

Tables

L’extraction de tableaux est une condition essentielle pour le traitement de documents contenant de grands volumes de données généralement mis en forme en tant que tableaux. Le modèle de disposition extrait des tableaux dans la section pageResults de la sortie JSON. Les informations extraites d’un tableau comprennent le nombre de colonnes et de lignes, l’étendue des lignes et l’étendue des colonnes. Chaque cellule avec son polygone limitrophe est une sortie avec des informations que la zone soit reconnue comme un columnHeader ou non. Le modèle prend en charge l’extraction de tableaux pivotés. Chaque cellule de tableau contient l’index de ligne et de colonne et les coordonnées du polygone limitrophe. Pour le texte de cellule, le modèle génère les informations span contenant l’index de démarrage (offset). Le modèle génère également la length du contenu supérieur qui contient le texte intégral du document.

Voici quelques facteurs à prendre en compte lors de l’utilisation de la fonctionnalité d’extraction de balles Intelligence documentaire :

  • Les données que vous voulez extraire sont-elles présentées sous forme de tableau ? La structure du tableau est-elle significative ?

  • Si les données ne sont pas au format tableau, peuvent-elles être contenues dans une grille à deux dimensions ?

  • Vos tableaux s’étendent-ils sur plusieurs pages ? Si tel est le cas, pour éviter d’avoir à étiqueter toutes les pages, divisez le PDF en pages avant de l’envoyer à Intelligence documentaire. Après l’analyse, effectuez un post-traitement des pages dans un tableau unique.

  • Reportez-vous à champs tabulaires si vous créez des modèles personnalisés. Les tableaux dynamiques contiennent un nombre variable de lignes pour chaque colonne. Les tableaux fixes, eux, contiennent un nombre constant de lignes pour chaque colonne.

Remarque

  • L’analyse de table n’est pas prise en charge si le fichier d’entrée est XLSX.
  • À compter de 2024-07-31-preview, les régions englobantes pour les figures et les tableaux couvrent uniquement le contenu principal et excluent les légendes et notes de bas de page associées.
{
    "tables": [
        {
            "rowCount": 9,
            "columnCount": 4,
            "cells": [
                {
                    "kind": "columnHeader",
                    "rowIndex": 0,
                    "columnIndex": 0,
                    "columnSpan": 4,
                    "content": "(In millions, except earnings per share)",
                    "boundingRegions": [],
                    "spans": []
                    },
            ]
        }
    ]
}

# Analyze tables.
for table_idx, table in enumerate(result.tables):
    print(
        f"Table # {table_idx} has {table.row_count} rows and "
        f"{table.column_count} columns"
    )
    for region in table.bounding_regions:
        print(
            f"Table # {table_idx} location on page: {region.page_number} is {format_polygon(region.polygon)}"
        )
    for cell in table.cells:
        print(
            f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
        )
        for region in cell.bounding_regions:
            print(
                f"...content on page {region.page_number} is within bounding polygon '{format_polygon(region.polygon)}'"
            )

Annotations (disponibles uniquement dans l’API 2023-02-28-preview.)

Le modèle de disposition extrait les annotations dans les documents, telles que les vérifications et les croisements. La réponse inclut le genre d’annotation ainsi qu’un score de confiance et un polygone englobant.

    {
    "pages": [
    {
        "annotations": [
        {
            "kind": "cross",
            "polygon": [...],
            "confidence": 1
        }
        ]
    }
    ]
}

Sortie de l’ordre de lecture naturel (langues latines uniquement)

Vous pouvez spécifier l’ordre dans lequel les lignes de texte sont générées avec le paramètre de requête readingOrder. Utilisez natural pour une sortie d’ordre de lecture plus conviviale, comme illustré dans l’exemple suivant. Cette fonctionnalité est prise en charge uniquement pour les langues latines.

Capture d'écran du traitement des commandes de lecture selon le modèle « Layout ».

Sélectionner des numéros de page ou des plages de pages pour l’extraction de texte

Pour les documents volumineux comportant plusieurs pages, utilisez le paramètre de requête pages pour indiquer des numéros de page ou des plages de pages spécifiques pour l’extraction de texte. L’exemple suivant montre un document de 10 pages, avec le texte extrait pour les deux cas : toutes les pages (1 à 10) et certaines pages (3 à 6).

Capture d’écran de la sortie des pages sélectionnées du modèle de disposition.

Opération d’obtention du résultat de l’analyse de la disposition

La seconde étape consiste à appeler l’opération d’obtention du résultat de l’analyse de la disposition. Cette opération prend en entrée l’identifiant de résultat créé par l’opération Analyze Layout. Elle retourne une réponse JSON qui contient un champ État avec les possibles valeurs suivantes.

Champ Type Valeurs possibles
status string notStarted : l’opération d’analyse n’a pas commencé.

running : l’opération d’analyse est en cours.

failed : échec de l’opération d’analyse.

succeeded : l’opération d’analyse a réussi.

Appelez cette opération de façon itérative jusqu’à ce qu’elle renvoie la valeur succeeded. Pour éviter de dépasser le taux de requêtes par seconde (RPS), utilisez un intervalle de trois à cinq secondes.

Quand le champ status a la valeur succeeded, la réponse JSON inclut la disposition, le texte, les tableaux et les marques de sélection extraits. Les données extraites comprennent les lignes de texte et les mots extraits, les cadres englobants, l’aspect du texte avec indication d’écriture manuscrite, les tableaux et les marques de sélection avec indication de sélection/non-sélection.

Classification manuscrite pour les lignes de texte (Latin uniquement)

La réponse inclut le classement de chaque ligne de texte selon qu’elle est de style manuscrit ou non, avec un score de confiance. Cette fonctionnalité est prise en charge uniquement pour les langues latines. L’exemple suivant illustre la classification manuscrite pour le texte de l’image.

Capture d'écran du processus de classification de l'écriture manuscrite selon le modèle « layout ».

Exemple de sortir JSON

La réponse à l’opération Get Analyze Layout Result est une représentation structurée du document avec toutes les informations extraites. Reportez-vous à cet exemple de fichier de document et cet exemple de sortie de disposition structurée.

La sortie JSON comporte deux parties :

  • Le nœud readResults contient tout le texte reconnu et toutes les marques de sélection. La hiérarchie de présentation de texte est page, ligne, puis mots individuels.
  • Le nœud pageResults contient les tables et les cellules extraites avec leurs cadres englobants, le niveau de confiance et une référence aux lignes et aux mots dans le champ « readResults ».

Exemple de sortie

Texte

L’API de disposition extrait du texte des documents et des images avec plusieurs angles et couleurs de texte. Elle accepte les photos de documents, les télécopies, les textes imprimés et/ou manuscrits (en anglais uniquement) et les modes mixtes. Le texte est extrait avec des informations fournies sur les lignes, les mots, les cadres englobants, les scores de confiance et le style (manuscrit ou autre). Toutes les informations textuelles sont incluses dans la section readResults de la sortie JSON.

Tableaux avec en-têtes

L’API de disposition extrait des tableaux dans la section pageResults de la sortie JSON. Les documents peuvent être scannés, photographiés ou numériques. Les tableaux peuvent être complexes avec des cellules ou des colonnes fusionnées, avec ou sans bordures et avec des angles irréguliers. Les informations extraites d’un tableau comprennent le nombre de colonnes et de lignes, l’étendue des lignes et l’étendue des colonnes. Chaque cellule avec son cadre englobant est une sortie avec la zone qui est reconnue comme faisant partie, ou non, d’un en-tête. Les cellules d’en-tête prédites du modèle peuvent s’étendre sur plusieurs lignes et ne sont pas nécessairement les premières lignes d’un tableau. Elles fonctionnent également avec les tableaux pivotés. Chaque cellule de tableau comprend également le texte complet avec des références aux mots individuels dans la section readResults.

Exemple de table

Marques de sélection

L’API de disposition extrait aussi les marques de sélection des documents. Les marques de sélection extraites incluent le cadre englobant, la confiance et l’état (sélectionné/non sélectionné). Les informations sur les marques de sélection sont extraites dans la section readResults de la sortie JSON.

Guide de migration

Étapes suivantes