# Extraction de documents auto-améliorante

> Notre harness d’extraction de documents peut maintenant s’adapter aux documents que vous lui envoyez. Sur deux jeux de données publics, la précision a augmenté d’environ 7 à 10 points.

Shashank Aggarwal · 8 nov. 2026 · 3 min de lecture · Engineering
Canonical: https://platform.uprelic.com/fr/blog/self-improving-document-extraction
Deutsch: https://platform.uprelic.com/de/blog/self-improving-document-extraction.md
English: https://platform.uprelic.com/blog/self-improving-document-extraction.md

---

Notre [API d’extraction de documents](https://platform.uprelic.com/docs/document-extraction) prend un PDF ou une image et une liste de champs, et renvoie la valeur de chaque champ avec une confiance. Elle fonctionne bien sur la plupart des documents dès le départ. Mais les documents de chaque client sont un peu différents. Un fournisseur imprime « Montant payé », un autre « Reçu avec remerciements », et le ticket d’une chaîne de restaurants place les frais de service là où une autre place la taxe. Une configuration générale se trompe sur ces détails encore et encore, sur les mêmes champs, pour le même client.

Nous avons donc construit un moyen pour que l’extraction apprenne ces détails à partir des propres documents de chaque client.

## Les harnesses

Strom est un modèle de décision : il répond à des questions avec des probabilités calibrées. Seul, il ne lit pas de PDF. Un **harness** est le code autour du modèle qui transforme une tâche en questions auxquelles Strom peut répondre, puis transforme les réponses en résultat. Pour l’extraction de documents, le harness lit les pages, trouve les lignes qui pourraient contenir chaque champ, demande à Strom quelle ligne est la bonne, et nettoie la valeur selon le type du champ.

Le modèle est partagé par tous. Le harness est l’endroit où peut vivre la connaissance des documents d’un client, sans toucher au modèle. C’est là que se fait l’auto-amélioration.

## Comment fonctionne l’auto-amélioration

Vous l’activez dans [Facturation](https://platform.uprelic.com/console/billing), et vos documents continuent de passer par `POST /v1/extract` comme avant. Dès que suffisamment de nouveaux documents sont arrivés, le harness examine un échantillon de vos documents récents, détermine quels champs il lit mal, et adapte la façon dont il lit ces champs pour votre compte. Une modification n’est mise en service que si elle fait mieux que la configuration actuelle sur vos propres documents. Sinon, elle est abandonnée.

Ce que ce n’est pas :

- **Ce n’est pas de l’entraînement.** Strom lui-même ne change pas, et vos documents ne servent jamais à entraîner ou à affiner un modèle.
- **Ce n’est pas partagé.** Ce que le harness apprend de vos documents ne s’applique qu’à votre compte.
- **Ce n’est pas définitif.** Si vous la désactivez, votre extraction revient à la configuration standard. Réactivez-la, et les améliorations s’appliquent de nouveau.

## Comment nous l’avons testé

Nous avons utilisé deux jeux de données publics dont les bonnes réponses sont connues :

- **[CORD](https://github.com/clovaai/cord)** : des photos de tickets de magasins et de restaurants en Indonésie. Nous avons extrait 7 champs : sous-total, taxe, frais de service, remise, total, espèces versées et monnaie rendue.
- **[DocILE](https://docile.rossum.ai/)** : des documents professionnels numérisés, surtout des factures. Nous avons extrait 12 champs, dont le numéro de facture, le numéro de commande, le numéro client, les dates, les totaux et les montants payés et dus.

Pour chaque jeu de données, nous avons envoyé des documents à l’API avec l’auto-amélioration activée, et laissé le harness faire un cycle d’améliorations. Puis nous avons mesuré la précision avant et après ce cycle par rapport aux bonnes réponses du jeu de données, sur des documents qui n’avaient pas servi à construire les améliorations. Cela montre comment les changements se transposent à des documents dont le harness n’a pas appris.

## Résultats

| Jeu de données | Avant | Après | Gain |
|---|---|---|---|
| Tickets CORD | 78,1 % | **85,3 %** | +7,2 points |
| Factures DocILE | 62,0 % | **71,8 %** | +9,8 points |

« Avant » et « Après » sont la part de toutes les réponses de champs qui étaient correctes, après un cycle.

Les gains viennent de quelques champs qui étaient faux de la même manière sur de nombreux documents :

| Champ | Jeu de données | Avant | Après |
|---|---|---|---|
| Frais de service | CORD | 65 % | 97 % |
| Espèces versées | CORD | 80 % | 98 % |
| Montant payé | DocILE | 20 % | 93 % |
| Numéro de commande | DocILE | 28 % | 64 % |
| Numéro client | DocILE | 67 % | 82 % |

Les champs déjà justes sur la plupart des documents sont restés à peu près au même niveau.

Tous les changements n’ont pas aidé. Sur DocILE, la part de numéros de facture corrects est passée de 80 % à 74 % : le harness est devenu plus strict que le jeu de données sur ce qui compte comme numéro de facture. Nous travaillons à repérer ce genre de changement avant sa mise en service.

## Ce que cela coûte

Tant que l’auto-amélioration est activée, `POST /v1/extract` coûte deux fois son prix habituel. Nous conservons les documents que vous envoyez pendant 90 jours, pour que le harness ait de quoi apprendre. La désactiver rétablit le prix habituel et arrête la conservation des documents. Les détails figurent dans [nos conditions](https://platform.uprelic.com/legal/terms), § 9.9.

Vous pouvez l’activer pour votre compte dans [Facturation](https://platform.uprelic.com/console/billing). La [documentation de l’API](https://platform.uprelic.com/docs/document-extraction) explique l’endpoint lui-même.

## La suite

L’auto-amélioration est en bêta. Nous allons continuer à ajouter de nouvelles façons pour le harness d’apprendre de vos documents, afin que chaque cycle en tire davantage. Et l’extraction de documents n’est que le premier harness à en bénéficier : nous allons ensuite l’étendre à d’autres, à commencer par [Agent guard](https://platform.uprelic.com/blog/agent-guard).
