Modèles d'intelligence artificielle préentraînés pour les documents

Vision fournit des modèles d'IA préentraînés qui vous permettent d'organiser et d'extraire du texte et de la structure à partir de documents d'affaires.

Les modèles préentraînés vous permettent d'utiliser l'IA sans expérience en science des données. Fournissez un document basé sur une image au service Vision et récupérez des informations sur votre document sans avoir à créer votre propre modèle.
Important

Les fonctions AnalyzeDocument et DocumentJob de Vision passent à un nouveau service, la compréhension de documents. Les fonctionnalités suivantes sont affectées :
  • Détection des tables
  • Classification de documents
  • Extraction de clé-valeur d'encaissement
  • Document - ROC
Ces fonctions sont disponibles dans Vision jusqu'au 1er janvier 2024. Par la suite, ils ne sont disponibles que dans le service de compréhension de documents.

Cas d'utilisation

Les modèles d'IA préentraînés vous permettent d'automatiser les opérations d'arrière-guichet et de traiter les reçus plus précisément.

Recherche intelligente
Enrichissez les fichiers basés sur une image avec des métadonnées, notamment le type de document et les champs clés, pour faciliter l'extraction.
Rapport de frais
Extraire les informations requises des réceptions pour automatiser les flux de travail d'affaires. Par exemple, les rapports de frais des employés, la conformité aux dépenses et le remboursement.
Traitement du langage naturel (TLN) en aval
Extraire du texte à partir de fichiers PDF et l'organiser comme entrée pour le TLN, soit dans des tables, soit dans des mots et des lignes.
Saisie des points de fidélité
Automatisez le calcul des points de fidélité à partir des reçus, en fonction du nombre d'articles ou du montant total payé.

Formats pris en charge

Vision prend en charge plusieurs formats de document.

Les documents peuvent être chargés à partir d'un fichier local ou du service Oracle Cloud Infrastructure Object Storage. Ils peuvent être dans les formats suivants :
  • JPEG
  • PDF
  • PNG
  • TIFF

Modèles préentraînés

Reconnaissance optique de caractères

Vision peut détecter et reconnaître le texte dans un document. La classification linguistique identifie la langue d'un document, puis OCR trace des zones englobantes autour du texte imprimé ou écrit à la main qu'il trouve dans une image et numérise le texte.

Si vous avez un PDF avec du texte, Vision trouve le texte dans ce document et extrait le texte. Il fournit ensuite des zones englobantes pour le texte identifié. La détection de texte peut être utilisée avec des modèles d'intelligence artificielle de documents ou d'analyse d'images.

Vision fournit une note de confiance pour chaque regroupement de texte. La note de confiance est un nombre décimal. Les notes plus proches de 1 indiquent un niveau de confiance élevé dans le texte extrait, tandis que les notes inférieures indiquent un niveau de confiance inférieur. L'intervalle de la note de confiance pour chaque étiquette est compris entre 0 et 1.

Note

La prise en charge de la reconnaissance optique de caractères est limitée à l'anglais. Si vous savez que le texte des images est en anglais, réglez la langue à Eng.
Les fonctions prises en charge sont les suivantes :
  • Extraction de mot
  • Extraction de ligne de texte
  • Note de confiance
  • Polygones de délimitation
  • Demande unique
  • Demande par lots
Les limites sont les suivantes :
  • Bien que la classification linguistique identifie plusieurs langues, la ROC se limite à l'anglais.
Exemple de registre OCR

Exemple d'utilisation du registre OCR dans Vision.

Document d'entrée
Entrée ROC Réception d'un café fictif, comprenant deux lignes d'article, la taxe, le sous-total et les montants totaux.
{ "analyzeDocumentDetails":
 { "compartmentId": "",
   "document": { "namespaceName": "",
   "bucketName": "",
   "objectName": "",
   "source": "OBJECT_STORAGE" },
  "features":
             [ { "featureType": "TEXT_DETECTION" },
               { "featureType": "LANGUAGE_CLASSIFICATION",
                 "maxResults": 5 } ]
 } 
}
.
Sortie :
Sortie ROC Le reçu avec tous les champs identifiés

Réponse d'API :
{ "documentMetadata":
 { "pageCount": 1,
   "mimeType": "image/jpeg" },
   "pages":
           [ { "pageNumber": 1,
               "dimensions":
                            { "width": 361, 
                              "height": 600,
                              "unit": "PIXEL" },
                              "detectedLanguages":
                                                  [ { "languageCode": "ENG",
                                                      "confidence": 0.9999994 },
                                                    { "languageCode": "ARA", 
                                                      "confidence": 4.7619238e-7 },
                                                    { "languageCode": "NLD",
                                                      "confidence": 7.2325456e-8 },
                                                    { "languageCode": "CHI_SIM",
                                                      "confidence": 3.0645523e-8 },
                                                    { "languageCode": "ITA",
                                                      "confidence": 8.6900076e-10 } ],
                              "words":
                                                  [ { "text": "Example",
                                                      "confidence": 0.99908227,
                                                      "boundingPolygon":
                                                                        { "normalizedVertices": 
                                                                                               [ { "x": 0.0664819944598338, 
                                                                                                   "y": 0.011666666666666667 },
                                                                                                 { "x": 0.22160664819944598,
                                                                                                   "y": 0.011666666666666667 },
                                                                                                 { "x": 0.22160664819944598,
                                                                                                   "y": 0.035 },
                                                                                                 { "x": 0.0664819944598338,
                                                                                                   "y": 0.035 } ]
                                                                        } ... "detectedLanguages":
                                                                                                [ { "languageCode": "ENG", 
                                                                                                     "confidence": 0.9999994 } ], ...

Classification de documents

La classification de document peut être utilisée pour classer un document.

Vision fournit une liste des types de document possibles pour le document analysé. Chaque type de document a une note de confiance. La note de confiance est un nombre décimal. Les notes plus proches de 1 indiquent un niveau de confiance élevé dans le texte extrait, tandis que les notes inférieures indiquent un niveau de confiance inférieur. L'intervalle de la note de confiance pour chaque étiquette est compris entre 0 et 1. La liste des types de document possibles est la suivante :
  • Facture
  • Reçu
  • C.V.
  • Formulaire fiscal
  • Permis de conduire
  • Passeport
  • Relevé bancaire
  • Sélectionner
  • Fiche de paie
  • Autres
Les fonctions prises en charge sont les suivantes :
  • Classer le document
  • Note de confiance
  • Demande unique
  • Demande par lots
Exemple de classification de documents

Exemple d'utilisation de la classification de document dans Vision.

Document d'entrée
Entrée de classification de document Réception d'un café fictif, comprenant deux lignes d'article, la taxe, le sous-total et les montants totaux.
Demande d'API :
{ "analyzeDocumentDetails":
 { "compartmentId": "",
   "document":
              { "namespaceName": "",
                "bucketName": "",
                "objectName": "",
                "source": "OBJECT_STORAGE" },
   "features": 
              [ { "featureType":
                  "DOCUMENT_CLASSIFICATION",
                  "maxResults": 5 } ]
 } 
}
Sortie :
Réponse d'API :
{ "documentMetadata":
 { "pageCount": 1,
   "mimeType": "image/jpeg" },
  "pages":
          [ { "pageNumber": 1,
              "dimensions": 
                           { "width": 361,
                             "height": 600,
                             "unit": "PIXEL" },
              "detectedDocumentTypes":
                                      [ { "documentType": "RECEIPT",
                                          "confidence": 1 },
                                        { "documentType": "TAX_FORM",
                                          "confidence": 6.465067e-9 },
                                        { "documentType": "CHECK",
                                          "confidence": 6.031838e-9 },
                                        { "documentType": "BANK_STATEMENT",
                                          "confidence": 5.413888e-9 },
                                        { "documentType": "PASSPORT",
                                          "confidence": 1.5554872e-9 } ],
 ...
               detectedDocumentTypes":
                                      [ { "documentType": "RECEIPT",
                                          "confidence": 1 } ], ...

Extraction de tableau

L'extraction de table peut être utilisée pour identifier les tables d'un document et extraire leur contenu. Par exemple, si un encaissement PDF contient une table qui inclut les taxes et le montant total, Vision identifie la table et extrait la structure de la table.

Vision fournit le nombre de rangées et de colonnes pour la table et le contenu de chaque cellule de table. Chaque cellule a un score de confiance. La note de confiance est un nombre décimal. Les notes plus proches de 1 indiquent un niveau de confiance élevé dans le texte extrait, tandis que les notes inférieures indiquent un niveau de confiance inférieur. L'intervalle de la note de confiance pour chaque étiquette est compris entre 0 et 1.

Les fonctions prises en charge sont les suivantes :
  • Extraction de table pour les tables avec et sans bordures
  • Polygones de délimitation
  • Note de confiance
  • Demande unique
  • Demande par lots
Les limites sont les suivantes :
  • Anglais seulement
Exemple d'extraction de tableau

Exemple d'utilisation de l'extraction de table dans Vision.

Document d'entrée
Entrée d'extraction de table Bilan fictif pour huit trimestres
Demande d'API :
{ "analyzeDocumentDetails":
 { "compartmentId": "",
   "document": 
              { "namespaceName": "",
                "bucketName": "",
                "objectName": "",
                "source": "OBJECT_STORAGE" },
   "features": 
              [ { "featureType": "TABLE_DETECTION" } ]
 } 
}
Sortie :
Sortie d'extraction de table Bilan avec cellule, en-tête de colonne et identificateur de rangée mis en surbrillance
Réponse d'API :
{ "documentMetadata":
 { "pageCount": 1,
   "mimeType": "application/pdf" },
  "pages":
          [ { "pageNumber": 1,
              "dimensions": 
                           { "width": 2575, 
                             "height": 1013,
                             "unit": "PIXEL" },
 ... 
  "tables":
           [ { "rowCount": 15,
               "columnCount": 9,
               "bodyRows":
                          [ { "cells":
                                      [ { "text": "Qtr1-12",
                                          "rowIndex": 0,
                                          "columnIndex": 1,
                                          "confidence": 0.92011595,
                                          "boundingPolygon":
                                                            { "normalizedVertices": 
                                                                                   [ { "x": 0.2532038834951456,
                                                                                       "y": 0.022704837117472853 },
                                                                                     { "x": 0.3005825242718447,
                                                                                       "y": 0.022704837117472853 },
                                                                                     { "x": 0.3005825242718447,
                                                                                       "y": 0.05330700888450148 },
                                                                                     { "x": 0.2532038834951456,
                                                                                       "y": 0.05330700888450148 } ]
                                                             },
                                                               "wordIndexes": [ 0 ] },
                                        { "text": "Qtr2-12",
                                          "rowIndex": 0,
                                          "columnIndex": 2,
                                          "confidence": 0.919653,
                                          "boundingPolygon":
                                                           { "normalizedVertices":
                                                                                   [ { "x": 0.33048543689320387,
                                                                                       "y": 0.022704837117472853 },
                                                                                     { "x": 0.3724271844660194,
                                                                                       "y": 0.022704837117472853 },
                                                                                     { "x": 0.3724271844660194,
                                                                                       "y": 0.05330700888450148 },
                                                                                     { "x": 0.33048543689320387,
                                                                                       "y": 0.05330700888450148 } ]
                                                          }, "wordIndexes": [ 1 ] },
 ...

Extraction de clés de valeur (receptions)

L'extraction des valeurs clés peut être utilisée pour identifier les valeurs des clés prédéfinies dans un encaissement. Par exemple, si un reçu comprend un nom de commerçant, une adresse de commerçant ou un numéro de téléphone de commerçant, Vision peut identifier ces valeurs et les retourner en tant que paire de valeurs clés.

Les fonctions prises en charge sont les suivantes :
  • Extraire les valeurs des paires clé-valeur prédéfinies
  • Polygones de délimitation
  • Demande unique
  • Demande par lots
Limites :
  • Prend en charge les reçus en anglais seulement.
Les champs pris en charge sont les suivants :
MerchantName
Nom du commerçant émettant l'encaissement.
MerchantPhoneNumber
Numéro de téléphone du commerçant.
MerchantAddress
L'adresse du commerçant.
TransactionDate
Date à laquelle l'encaissement a été émis.
TransactionTime
Heure à laquelle le reçu a été émis.
Total
Montant total de l'encaissement, une fois tous les frais et toutes les taxes imputés.
Sous-total
Sous-total avant taxes.
Tax
Toutes les taxes de vente.
Conseil
Le montant du pourboire donné par l'acheteur.
Les données sur les objets de dépenses pris en charge sont les suivantes :
ItemName
Nom de l'article.
ItemPrice
Prix unitaire de l'article.
ItemQuantity
Numéro de chaque article acheté.
ItemTotalPrice
Prix total de la ligne d'article.
Exemple d'extraction de valeurs de clé (reçus)

Exemple d'utilisation de l'extraction de valeur de clé dans Vision.

Document d'entrée
Entrée d'extraction de valeurs clés (reçus) Réception d'un café fictif, comprenant deux lignes d'article, la taxe, le sous-total et les montants totaux.
Demande d'API :
{ "analyzeDocumentDetails":
 { "compartmentId": "",
   "document":
              { "namespaceName": "",
                "bucketName": "",
                "objectName": "",
                "source": "OBJECT_STORAGE" },
   "features":
              [ { "featureType": "KEY_VALUE_DETECTION" } ]
 } 
}
Sortie :
Sortie d'extraction de valeurs clés (reçus) Réception fictive avec uniquement des lignes et des champs spécifiques en surbrillance
Réponse d'API :
{ "documentMetadata":
                     { "pageCount": 1,
                       "mimeType": "image/jpeg" },
                       "pages":
                               [ { "pageNumber": 1, 
                                   "dimensions":
                                                { "width": 361,
                                                  "height": 600,
                                                  "unit": "PIXEL" },
 ...
                                   "documentFields":
                                                     [ { "fieldType": "KEY_VALUE",
                                                         "fieldLabel":
                                                                      { "name": "MerchantName" },
                                                         "fieldValue":
                                                                      { "valueType": "STRING",
                                                                        "boundingPolygon":
                                                                                          { "normalizedVertices":
                                                                                                                 [ { "x": 0.0664819944598338,
                                                                                                                     "y": 0.011666666666666667 },
                                                                                                                   { "x": 0.3157894736842105,
                                                                                                                     "y": 0.011666666666666667 },
                                                                                                                   { "x": 0.3157894736842105,
                                                                                                                     "y": 0.035 },
                                                                                                                   { "x": 0.0664819944598338,
                                                                                                                     "y": 0.035 } ]
                                                                                           },
                                                                        "wordIndexes":
                                                                                      [ 0, 1 ],
                                                                        "value": "Example cafe" } },
 ...

PDF sur la reconnaissance optique de caractères

Le fichier PDF ROC génère un fichier PDF interrogeable dans le stockage d'objets. Par exemple, Vision peut prendre un fichier PDF avec du texte et des images, et retourner un fichier PDF où vous pouvez rechercher le texte dans le PDF.

Fonctions prises en charge :
  • Générer un PDF interrogeable
  • Demande unique
  • Demande par lots
Exemple PDF ROC

Exemple d'utilisation du fichier PDF ROC dans Vision.

Entrée
Demande d'API Page à partir d'un document PDF d'entrée ODF ROC :
{ "analyzeDocumentDetails":
 { "compartmentId": "",
   "document":
              { "source": "INLINE",
                "data": "......" },
   "features":
              [ { "featureType": "TEXT_DETECTION",
                  "generateSearchablePdf": true } ]
 } 
}
Sortie :
PDF consultable.

Utilisation des modèles d'intelligence artificielle préentraînés pour les documents

Vision fournit des modèles préentraînés permettant aux clients d'extraire des informations sur leurs documents sans avoir besoin de spécialistes des données.

Vous devez disposer des éléments suivants avant d'utiliser un modèle préentraîné :

  • Un compte de location payante dans Oracle Cloud Infrastructure.

  • Connaissance du service Oracle Cloud Infrastructure Object Storage.

Vous pouvez appeler les modèles prétraités d'intelligence artificielle pour documents en tant que demande par lots à l'aide des API Rest, de la trousse SDK ou de l'interface de ligne de commande. Vous pouvez appeler les modèles prétraités d'intelligence artificielle pour documents en tant que demande unique à l'aide de la console, des API de restauration, de la trousse SDK ou de l'interface de ligne de commande.

Voir la section Limites pour plus d'informations sur ce qui est autorisé dans les demandes par lots.