Modèles d'IA de document préentraînés

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

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

Les fonctionnalités AnalyzeDocument et DocumentJob de Vision sont déplacées vers un nouveau service, Document Understanding. Les fonctions suivantes sont impactées :
  • Détection de table
  • Classification de documents
  • Extraction de valeur-clé de réception
  • Documenter la reconnaissance optique de caractères
Ces fonctionnalités sont disponibles dans Vision jusqu'au 1er janvier 2024. Ensuite, ils ne sont disponibles que dans Document Understanding.

Cas d'emploi

Les modèles d'IA de documents préentraînés vous permettent d'automatiser les opérations de back-office et de traiter les reçus avec plus de précision.

Recherche intelligente
Enrichissez les fichiers basés sur une image avec des métadonnées, y compris le type de document et les champs clés, pour faciliter l'extraction.
Reporting des charges
Extraire les informations requises des réceptions pour automatiser les workflows opérationnels. Par exemple, les notes de frais des employés, la conformité des dépenses et les remboursements.
Traitement du langage naturel en aval (NLP)
Extrayez du texte à partir de fichiers PDF et organisez-le comme entrée pour le traitement du langage naturel, soit dans des tableaux, soit dans des mots et des lignes.
Capture des points de fidélité
Automatiser 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 téléchargés à partir d'un fichier local ou d'Oracle Cloud Infrastructure Object Storage. Ils peuvent être dans les formats suivants :
  • JPEG
  • PDF
  • PNG
  • TIFF

Modèles préentraînés

Reconnaissance optique des caractères (OCR)

Vision peut détecter et reconnaître le texte d'un document. La classification des langues identifie la langue d'un document, puis OCR dessine 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'IA de documents ou d'analyse d'images.

Vision fournit un score de confiance pour chaque regroupement de texte. Le score de confiance est un nombre décimal. Les scores plus proches de 1 indiquent une confiance plus élevée dans le texte extrait, tandis que les scores inférieurs indiquent un score de confiance inférieur. La plage du score de confiance pour chaque étiquette est comprise entre 0 et 1.

Remarque

La prise en charge d'OCR est limitée à l'anglais. Si vous savez que le texte des images est en anglais, définissez la langue sur Eng.
Les fonctionnalités prises en charge sont les suivantes :
  • Extraction de mots
  • Extraction de ligne de texte
  • Score de fiabilité
  • Polygone limitant
  • Demande unique
  • Demande en batch
Les limites sont les suivantes :
  • Bien que la classification linguistique identifie plusieurs langues, la ROC est limitée à l'anglais.
Exemple de registre OCR

Exemple d'utilisation de la reconnaissance optique de caractères dans Vision.

Document d'entrée
Saisie OCR Reçu d'un café fictif, comprenant deux lignes, 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 OCR 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 documents possibles pour le document analysé. Chaque type de document a un score de confiance. Le score de confiance est un nombre décimal. Les scores plus proches de 1 indiquent une confiance plus élevée dans le texte extrait, tandis que les scores inférieurs indiquent un score de confiance inférieur. La plage du score de confiance pour chaque étiquette est comprise entre 0 et 1. La liste des types de documents possibles est la suivante :
  • Facture
  • Encaissement
  • CV
  • Déclaration de revenus
  • Permis de conduire
  • Passeport
  • relevé bancaire
  • Sélectionner
  • Fiche de paie
  • Autre
Les fonctionnalités prises en charge sont les suivantes :
  • Classer un document
  • Score de fiabilité
  • Demande unique
  • Demande en batch
Exemple de classification de documents

Exemple d'utilisation de la classification des documents dans Vision.

Document d'entrée
Entrée de classification de document Reçu d'un café fictif, comprenant deux lignes, 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 table

L'extraction de table permet d'identifier les tables d'un document et d'en extraire le contenu. Par exemple, si un reçu 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 lignes et de colonnes de la table et le contenu de chaque cellule de la table. Chaque cellule a un score de confiance. Le score de confiance est un nombre décimal. Les scores plus proches de 1 indiquent une confiance plus élevée dans le texte extrait, tandis que les scores inférieurs indiquent un score de confiance inférieur. La plage du score de confiance pour chaque étiquette est comprise entre 0 et 1.

Les fonctionnalités prises en charge sont les suivantes :
  • Extraction de table pour tables avec et sans bordures
  • Polygone limitant
  • Score de fiabilité
  • Demande unique
  • Demande en batch
Les limites sont les suivantes :
  • Langue anglaise uniquement
Exemple d'extraction de table

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 identifiant de ligne mis en évidence
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 valeur de clé (réceptions)

L'extraction des valeurs de clé 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 renvoyer sous forme de paire de valeurs de clé.

Les fonctionnalités prises en charge sont les suivantes :
  • Extraire les valeurs pour les paires clé-valeur prédéfinies
  • Polygone limitant
  • Demande unique
  • Demande en batch
Limites :
  • Prend en charge les reçus en anglais seulement.
Les champs pris en charge sont les suivants :
MerchantName
Nom du commerçant émettant le reçu.
MerchantPhoneNumber
Numéro de téléphone du commerçant.
MerchantAddress
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, après le lettrage de tous les frais et taxes.
Sous-total
Sous-total avant impôts.
Tax
Toutes les taxes de vente.
Conseil
Montant du pourboire donné par l'acheteur.
Les informations de ligne de revenu prises en charge sont les suivantes :
ItemName
Nom de l'élément.
ItemPrice
Prix unitaire de l'article.
ItemQuantity
Nombre de chaque article acheté.
ItemTotalPrice
Prix total de la ligne.
Exemple d'extraction de valeur de clé (réceptions)

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

Document d'entrée
Entrée d'extraction de valeur de clé (réceptions) Reçu d'un café fictif, comprenant deux lignes, 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 valeur de clé (réceptions) Encaissement fictif avec uniquement des lignes et des champs spécifiques
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 de reconnaissance optique des caractères (OCR)

OCR PDF génère un fichier PDF recherchable dans Object Storage. Par exemple, Vision peut prendre un fichier PDF avec du texte et des images et renvoyer un fichier PDF dans lequel vous pouvez rechercher le texte dans le PDF.

Fonctions prises en charge :
  • Générer un PDF pouvant faire l'objet d'une recherche
  • Demande unique
  • Demande en batch
Exemple de fichier PDF de reconnaissance optique de caractères

Exemple d'utilisation d'OCR PDF dans Vision.

Entrée
Demande d'API Page d'un document PDF d'entrée OCR ODF :
{ "analyzeDocumentDetails":
 { "compartmentId": "",
   "document":
              { "source": "INLINE",
                "data": "......" },
   "features":
              [ { "featureType": "TEXT_DETECTION",
                  "generateSearchablePdf": true } ]
 } 
}
Sortie :
PDF pouvant faire l'objet d'une recherche.

Utilisation des modèles d'IA de document prédéfinis

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

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

  • Compte de location payant dans Oracle Cloud Infrastructure.

  • Bonne connaissance d'Oracle Cloud Infrastructure Object Storage.

Vous pouvez appeler les modèles d'IA de document préentraînés en tant que demande par lots à l'aide des API Rest, du SDK ou de l'interface de ligne de commande. Vous pouvez appeler les modèles d'IA de document préentraînés en tant que demande unique à l'aide de la console, des API Rest, du kit SDK ou de l'interface de ligne de commande.

Pour plus d'informations sur ce qui est autorisé dans les demandes par lots, reportez-vous à la section Limites.