Guide
Extraire les clauses d'un contrat avec l'IA : méthode
Parties, durée, préavis, reconduction : extraire les clauses d'un contrat en citant le texte exact, et connaître les limites des modèles.
Mis à jour le
Extraire les clauses d'un contrat consiste à retrouver, dans un texte long, des informations bien définies (parties, durée, préavis, reconduction, loi applicable, plafond de responsabilité) et à les ranger dans un JSON, chacune accompagnée du passage exact d'où elle vient. Cette dernière exigence change tout : un contrat est un document où une valeur paraphrasée ne suffit pas. L'IA prépare le travail, un juriste valide. Page mise à jour le 15/11/2026 ; elle décrit une méthode d'extraction, pas un avis juridique.
Ce que fait un modèle spécialisé, et ce qu'il ne fait pas
Le modèle contrat d'Azure Document Intelligence (prebuilt-contract) analyse le texte de contrats, y compris des photos, des scans et des PDF numériques, et extrait des informations clés telles que les parties, les juridictions, l'identifiant du contrat et le titre. La documentation précise : « le modèle prend actuellement en charge les documents en anglais ». Pour vos contrats français, il n'est donc pas documenté comme adapté.
Chez Google, la liste des processeurs ne comporte pas de modèle de contrat prédéfini. Trois briques s'y prêtent : le Custom Extractor (extraction par IA générative ou modèle entraîné, mais son mode génératif n'est officiellement pris en charge qu'en anglais), le Layout Parser (extrait le texte, les tableaux et les listes, et crée des découpages pour la recherche) et le Custom Classifier (distingue par exemple un contrat d'un bon de commande). Un Custom Splitter sépare un dossier qui contient plusieurs documents.
Pour les contrats en français, l'option qui reste est un grand modèle de langage avec un schéma imposé. Anthropic cite parmi les usages de sa lecture de PDF l'extraction d'informations clés de documents juridiques ; le PDF est lu comme texte et comme image, 1 500 à 3 000 jetons de texte par page environ.
Choisir les clauses à extraire
Ne cherchez pas « tout » : choisissez une dizaine d'informations dont la présence ou la valeur déclenche une action chez vous. Exemples :
| Information | Action déclenchée |
|---|---|
| Date de début et durée | alerte à l'échéance |
| Reconduction tacite (oui/non) | rappel avant la date limite de résiliation |
| Préavis de résiliation | date limite à inscrire dans l'agenda |
| Clause de révision de prix | contrôle des prochaines factures |
| Plafond de responsabilité | transmission au juriste si absent |
| Loi applicable, juridiction | classement du contrat |
| Sous-traitance, cession | alerte de revue |
Le schéma : une valeur et sa citation
Pour chaque clause, demandez trois choses : la valeur normalisée, le texte exact du passage et la page. Exemple de structure pour un champ :
{
"preavis_resiliation": {
"present": "boolean",
"valeur_jours": "integer | null",
"extrait_litteral": "string | null",
"page": "integer | null"
}
}
Le champ present distingue « la clause n'existe pas » de « le modèle n'a pas trouvé » : mesurez les deux erreurs séparément. Les sorties structurées d'Anthropic garantissent la conformité du JSON au schéma (types, champs obligatoires) ; elles ne garantissent pas que l'extrait soit authentique, d'où la vérification qui suit. Règles de conception : voir schéma JSON d'extraction.
Vérifier chaque citation par du code
C'est le contrôle le plus efficace sur ce type de document : chercher extrait_litteral dans le texte lu du contrat. Si la chaîne n'y figure pas (après normalisation des espaces et des retours à la ligne), la clause est signalée comme douteuse et part en relecture. Un modèle peut résumer ou reformuler au lieu de citer ; la recherche de texte le détecte à coup sûr, sans score de confiance.
Les contrôles de cohérence complètent : une durée négative, une date de fin avant la date de début, un préavis supérieur à la durée du contrat.
Les pièges propres aux contrats
- Les avenants modifient le contrat initial. Extrayez-les comme des documents à part, et reliez-les : l'état « en vigueur » vient de leur combinaison, pas d'un seul fichier.
- Les annexes et conditions générales sont souvent dans des fichiers séparés. Une clause absente du document principal peut figurer dans les conditions générales.
- Les dossiers composites : un seul PDF qui regroupe contrat, annexes et avenant doit être découpé avant l'extraction ; c'est l'usage d'un découpeur de documents comme celui de Google.
- Les contrats longs : respectez les limites de l'API. Claude accepte au plus 600 pages par requête (100 si la fenêtre de contexte est inférieure à 1 million de jetons) ; Anthropic conseille, pour les PDF denses, de découper le document en sections.
- Les scans de mauvaise qualité dégradent la lecture avant l'extraction : voir le comparatif des API d'OCR.
Mesure et validation
Mesurez sur 20 à 30 contrats de votre portefeuille, clause par clause : justes, manquées, inventées. Le contrat est un cas où le coût d'une clause manquée est élevé : le choix du seuil de relecture se fait donc par clause, selon son enjeu (voir seuil de confiance et validation et mesurer la précision champ par champ). Comparez ensuite les approches avec LLM ou modèle spécialisé.
Enfin, les contrats contiennent des données personnelles (noms, adresses, signatures) : vérifiez où partent les données avant d'envoyer des contrats à un service en ligne, avec votre délégué à la protection des données.
Questions fréquentes
Le modèle contrat d'Azure lit-il les contrats en français ?
Non d'après la documentation : le modèle contrat prend actuellement en charge les documents en anglais. Pour du français, un grand modèle de langage avec schéma est l'option à tester.
L'IA peut-elle dire si une clause est valable en droit ?
Non. L'extraction retrouve et range le texte des clauses ; l'appréciation juridique reste celle d'un juriste. Cette page ne constitue pas un conseil juridique.
Sources
Pages consultées pour écrire cet article :
- https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/prebuilt/contract?view=doc-intel-4.0.0
- https://docs.cloud.google.com/document-ai/docs/processors-list
- https://platform.claude.com/docs/en/build-with-claude/pdf-support
- https://platform.claude.com/docs/en/build-with-claude/structured-outputs