Classification du texte dans les documents

Classez vos fichiers d'entrée dans des définitions de schémas pour certains types de documents courants ou dans des schémas pour des documents personnalisés. Le prétraitement des documents permet d'extraire plus efficacement le texte du document classifié.

Avant d'utiliser l'extraction de paires clé-valeur basée sur des schémas avec votre document, vous pouvez classer le document en définissant plusieurs schémas dans le corps de la requête de l'API REST de classification de texte. Vous pouvez fournir une combinaison de schémas pour les types de documents prédéfinis pris en charge ou les documents personnalisés. En classant le document à l'avance, le processus d'extraction peut être limité aux champs définis dans le schéma fourni. Si les données de la paire clé-valeur de votre document ne correspondent pas à un schéma, l'API de classification des textes indique que le document n'est pas classifié.

Vous pouvez utiliser l'API REST de classification de texte pour classer un fichier d'entrée stocké dans votre projet en tant qu'actif.

Autorisations requises
Pour classer des documents, vous devez disposer du rôle d'administrateur ou d'éditeur dans un projet.
Informations d'identification requises
Vous devez générer des informations d'identification pour vous authentifier auprès des API d' watsonx.ai. Pour plus d'informations, consultez la section Génération d'un jeton porteur.

Avant de commencer

  • Votre administrateur doit installer un ensemble de modèles d'apprentissage automatique qui traitent les documents. L'ID pour l'ensemble des modèles requis est wdu.

  • Préparez vos documents comme suit avant de les ajouter à votre projet :

    • Supprimez toute protection par mot de passe de votre document.
    • Si votre document PDF est certifié numériquement, convertissez-le dans un autre format de fichier, tel que DOC ou DOCX.
  • Décidez des paramètres à inclure dans votre demande de classification de texte pour répondre à votre cas d'utilisation spécifique. Pour plus d'informations, voir les paramètres de classification du texte.

Important :

Ne modifiez pas et ne supprimez pas le wdu_project_models_dnd projet. Ce projet est créé automatiquement lors de l'installation et est indispensable pour accéder aux services LLM d' watsonx.ai. La suppression du projet entraîne l'échec des fonctionnalités basées sur les modèles LLM, notamment l'extraction de paires clé-valeur (KVP) dans le texte, la génération de schémas et la classification de textes. Parmi les erreurs courantes, on trouve « Invalid project GUID encountered in request path», « Failed to load model 'semantickvp'» et «Cannot set Project or Space ».

Procédure

Suivez ces étapes de haut niveau pour classer un document commercial à l'aide de l'API REST :

  1. Ajoutez le fichier que vous souhaitez classer à un élément de stockage. Vous pouvez également spécifier le support de stockage dans lequel les résultats du processus d'extraction de texte doivent être stockés.

    Vous pouvez utiliser les types de stockage suivants :

    Actif de stockage connecté

    Enregistrez votre document en tant que ressource de connexion dans votre projet, puis référencez les fichiers dans l'API à l'aide d'un identifiant de connexion. Seuls les actifs de connexion qui utilisent la paire clé d'accès et clé secrète pour les informations d'identification sont pris en charge. Pour plus de détails, voir Ajouter des fichiers à référencer à partir de l'API.

    Conteneur dans un espace de projet ou de déploiement

    Pour stocker vos documents d'entrée dans un conteneur dans un espace de déploiement ou un projet, téléchargez votre fichier d'entrée directement à l'aide de l'API des fichiers de ressources. Pour plus de détails, consultez la documentation relative à l'API logicielle commune Data & AI.

    Les fichiers d'entrée sont référencés dans l'API par le chemin d'accès au fichier comme suit :

    "document_reference": {
      "type": "container",
      "location": {
        "path": "dummy_path/ibm-annual-report-2024-pt1_1-20-1.pdf"
      }
    },
    "results_reference": {
      "type": "container",
      "location": {
        "path": "dummy_path/results/"
      }
    }
    
  2. Utilisez la méthode API Démarrer une demande de classification de texte pour lancer le processus de classification. Pour plus de détails sur les demandes d'API, voir l' exemple de demande d'API REST.

    Notez l'identifiant renvoyé dans le champ metadata.id . Vous utilisez cet identifiant pour vérifier ultérieurement le statut de votre demande.

  3. Utilisez la méthode API Obtenir les résultats de la demande pour vérifier l'état de votre demande.

    La vérification de l'état est le seul moyen de savoir si le processus a échoué pour une raison quelconque.

    Lorsque le statut est completed, le champ results contient les détails des résultats du processus de classification des documents.

Exemple de demande d'API REST

La commande suivante soumet une demande d'extraction de texte à partir du fichier retail_guidebook.pdf stocké dans une corbeille Cloud Object Storage du projet et enregistre les résultats extraits dans le dossier results_data .

curl -X POST \
  'https://cpd-<namespace-name>.apps.<OCP-domain>/ml/v1/text/classifications?version=2025-10-08' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer eyJraWQiOi...'

Le corps de la requête est le suivant :

{
    "project_id": "e40e5895-ce4d-42a3-b699-8ac764b89a09",
    "document_reference": {
      "type": "connection_asset",
      "connection": {
        "id": "5c0cefce-da57-408b-b47d-58f7785de3ee"
      },
      "location": {
        "bucket":"my-cloud-object-storage-bucket",
        "file_name": "retail_guidebook.pdf"
      }
    },
    "parameters": {
      "languages": [
        "en"
      ],
      "ocr_mode": "enabled",
      "classification_mode": "exact",
      "semantic_config": {
        "schemas": [ {
           "document_type": "Auto_Insurance_Application",
           "document_description": "A California Personal Auto Application form used to collect information necessary for initiating or updating an auto insurance policy. It includes agency, applicant, carrier, and policy details such as contact information, address, policy number, and effective/expiration dates.",
           "additional_prompt_instructions": "Return phone numbers and policy numbers exactly as they appear in the document.",
           "fields": {
              "agency_name": {
                "default": "",
                "example": "Spring Insurance",
                "description": "Name of the insurance agency handling the auto application."
              },
              "applicant_name": {
                "default": "",
                "example": "John Smith",
                "description": "Full name of the person applying for auto insurance."
              },
              "applicant_address": {
                "default": "",
                "example": "245 W 52nd St, Apt 8B, New York, NY 10019",
                "description": "Mailing address of the applicant including street, apartment, city, state, and ZIP code."
              },
              "applicant_phone": {
                "default": "",
                "example": "(917) 555-2843",
                "description": "Phone number for contacting the applicant."
              },
              "applicant_email": {
                "default": "",
                "example": "john.smith@gmail.com",
                "description": "Email address of the applicant."
              },
              "carrier_name": {
                "default": "",
                "example": "Tower Insurance Company",
                "description": "Name of the insurance carrier providing the policy."
              },
              "policy_number": {
                "default": "",
                "example": "10",
                "description": "Unique identifier for the insurance policy."
              },
              "effective_date": {
                "default": "",
                "example": "2023-01-01",
                "description": "Date when the insurance policy becomes effective."
              },
              "expiration_date": {
                "default": "",
                "example": "2024-01-01",
                "description": "Date when the insurance policy expires."
              }
           }
        } ]
      }
    }
  }

Dans la réponse, vous trouverez les résultats de la classification dans la réponse de l'attribut results :

"results": {
  "completed_at": "2025-10-08T09:05:42.880Z",
  "running_at": "2025-10-08T09:05:27.345Z",
  "status": "completed",
  "document_classified": "True",
  "document_type": "Auto_Insurance_Application"
}

Etape suivante

Vous pouvez utiliser les résultats de la requête de classification de texte pour décider comment utiliser la définition du schéma de paires clé-valeur afin d'extraire plus efficacement le texte de votre document. Pour plus de détails, voir Extraction de texte.