Pourquoi vaut-il la peine d'enregistrer plus de numéros de page et de fragments de texte originaux en JSON ?
Le résultat de l'extraction n'est qu'un seul `amount: 1200`, et le réviseur doit encore parcourir à nouveau l'intégralité du document. Enregistrer davantage de numéros de page et de courts fragments de texte original est souvent plus utile que d'ajouter une décimale de « confiance » : cela permet de localiser les erreurs et de bien documenter les corrections ultérieures.
Si le résultat de votre extraction ne comporte qu'un amount: 1200, le réviseur doit quand même parcourir à nouveau l'intégralité du document pour confirmer sa source. Enregistrer des numéros de page supplémentaires et de courts extraits de texte est souvent plus utile que d'ajouter une autre décimale de « confiance ». Il permet de localiser les erreurs et de documenter chaque correction.
Cet article convient aux développeurs et aux éditeurs qui effectuent des extractions de documents, des révisions bilingues ou des vérifications financières sur le terrain. Le code de cet article est démontré à l'aide d'échantillons synthétiques et a passé avec succès une inspection par échantillons dans un environnement isolé, mais cela ne représente pas une garantie de tous les fichiers réels ou effets du produit. Avant de traiter des documents importants, veuillez conserver les originaux et les examiner en fonction des limites et des éléments d'acceptation du texte.
Comment enregistrer plusieurs numéros de page et fragments de texte originaux ? Conclusion en une phrase
Enregistrez plusieurs numéros de page, de courts extraits de texte original et des hachages de fichiers afin que chaque champ puisse être revérifié sur la page source.
| votre situation | Pratiques recommandées | raison |
|---|---|---|
| Les champs n'ont que des valeurs et aucune source | Enregistrez simultanément les numéros de page et de courts extraits de texte original | Le réviseur peut localiser l'emplacement directement sans avoir à relire l'intégralité du document. |
| Besoin de confirmer à quelle version du fichier correspond l'enregistrement | Enregistrer le hachage du contenu du fichier | Le hachage peut identifier la version correspondante |
| L'analyse des numéros de page de la bibliothèque commence à 0 | Convertir pour commencer à partir de 1 à la limite et noté dans le protocole | Conforme aux numéros de page consultés manuellement |
| Les fragments peuvent contenir des informations sensibles | Ne gardez que des phrases courtes en rapport avec le domaine | Évitez de copier la page entière dans des journaux, des index de recherche ou des messages de notification |
📊 Comparaison de base
| élément de comparaison | Enregistrez uniquement les valeurs des champs (telles que amount: 1200) | Enregistrez les numéros de page et les courts extraits de texte |
|---|---|---|
| Erreur de positionnement | Il faut relire l'intégralité du document | Peut être réduit à la page correspondante |
| Corriger le dossier | Il est difficile d'expliquer la base | Chaque correction contient un extrait du texte original disponible pour révision. |
L'objet de preuve devrait être capable de ramener les gens au texte original
L'exemple suivant utilise des numéros de page commençant à 1. Si votre bibliothèque d'analyse commence à 0, elle doit être convertie aux limites et notée dans le protocole.
Les fragments ne conservent que de courtes phrases pertinentes pour un champ, évitant ainsi de copier des pages entières d'informations sensibles dans des journaux, des index de recherche ou des messages de notification.
Vérifiez d'abord la forme, puis vérifiez la correspondance.
from jsonschema import Draft202012Validator
schema = {
"type": "object", "required": ["value", "evidence"],
"additionalProperties": False,
"properties": {
"value": {"type": "string"},
"evidence": {"type": "object", "additionalProperties": False,
"required": ["page", "quote"],
"properties": {"page": {"type": "integer", "minimum": 1},
"quote": {"type": "string", "minLength": 1}}}
}
}
v = Draft202012Validator(schema)
pages = ["Invoice total: USD 1200."]
record = {"value": "1200", "evidence": {"page": 1, "quote": "USD 1200"}}
assert v.is_valid(record)
def quote_exists(r):
if not v.is_valid(r):
return False
e = r["evidence"]
return e["page"] <= len(pages) and e["quote"] in pages[e["page"] - 1]
assert quote_exists(record)
fake = {"value": "9999", "evidence": {"page": 1, "quote": "USD 9999"}}
assert v.is_valid(fake)
assert not quote_exists(fake)
assert not quote_exists({"value": "1", "evidence": {"page": 9, "quote": "x"}})
Cet exemple synthétique construit délibérément un dossier avec une structure juridique, mais la preuve n'existe pas. Cela montre que la vérification des schémas et la comparaison des sources ne peuvent pas se remplacer : la structure correcte ne signifie pas que la preuve existe réellement. La structure des champs de l'objet peut faire référence à Structure d'objet de schéma JSON.
Les vrais PDF peuvent présenter des différences en termes de sauts de mots, de traits d'union et d'espaces. La correspondance de sous-chaînes n'est qu'une démonstration minimale et ne peut pas être directement utilisée comme algorithme complet de vérification des preuves.
La preuve doit également être liée à la version du fichier
| Enregistrer les éléments | peut être résolu | non garanti |
|---|---|---|
| Hachage du contenu du fichier | Identifier la version correspondante | Le téléverseur a des permissions de fichier |
| Numéro de page | Réduisez votre champ de recherche | La page n’a pas été réarrangée |
| Extrait du texte original | Vérification rapide par texto | La sémantique des champs doit être correcte |
| Coordonnées et systèmes de coordonnées | Localiser la zone de la page | Les résultats de l’OCR ont été exacts |
Le texte original existe, mais il peut aussi être cité au mauvais endroit
La même quantité peut apparaître plusieurs fois dans un même document. Même si des fragments existent, vous devez déterminer s’ils sont totals, fiscaux ou le solde de la période précédente.
Une acceptation supplémentaire peut être vérifiée :
- Si les balises de champ sont cohérentes
- Vérifier si le tableau est correct
- Si le contexte adjacent correspond
Lorsque vous rencontrez plusieurs candidats, ne choisissez pas seulement le premier, mais comparez le contexte un par un.
La relecture bilingue nécessite la traçabilité de la manière la plus efficace
En utilisant ces enregistrements sources conjointement avec les vérifications bilingues de OmniDoc (entrée produit), les évaluateurs peuvent passer des numéros traduits à la page source pour en confirmer le sens.
L’intérêt de cette approche ne réside pas dans la complexité des résultats, mais dans le fait de faire chaque correction clairement expliquée, réduisant ainsi le temps passé à chercher l’original.
🎯 Quelle méthode te convient ?
Si vous avez besoin d’une relecture manuelle des chiffres dans la traduction
La priorité est donnée à l’enregistrement des numéros de pages et des courts extraits de texte original ; lors de la relecture, vous pouvez revenir directement à la page source pour confirmation.
Si vous avez besoin de la version du fichier correspondant à l’enregistrement de traçabilité
Sauvegardez le hachage du contenu du fichier et utilisez-le avec les numéros de page pour réduire la plage de recherche.
Si votre champ peut apparaître plusieurs fois dans le fichier
En plus de comparer les extraits, vous devez aussi vérifier les balises de champ, la table où elles se trouvent et le contexte adjacent — ne choisissez pas simplement le premier candidat.
❓ Foire aux questions (FAQ)
1. L’enregistrement des numéros de page et des extraits de texte originaux peut-il remplacer la validation de schéma ?
Non. Les exemples de cet article montrent que les documents structurellement valides peuvent encore manquer de preuves correspondantes, et que les deux doivent être vérifiés séparément.
2. Pourquoi ne pas simplement ajouter un champ de confiance ?
Le texte original estime que sauvegarder les numéros de page et les courts extraits de texte originaux est souvent plus utile, car cela permet de repérer les erreurs et fournit des preuves pour des corrections ultérieures.
3. Après avoir enregistré le hachage, pouvez-vous confirmer que le contenu du fichier est correct ?
Les hachages ne peuvent reconnaître que la version correspondante ; ils ne peuvent garantir que le téléchargeur a les permissions de fichier, ni garantir que la sémantique des champs est correcte.
4. Combien de temps un fragment doit-il être conservé ?
Ne conservez que de courtes phrases liées au champ, évitant de copier des informations sensibles de toute la page dans des journaux, index de recherche ou messages de notification.
📝 Résumé
Enregistrez les numéros de page, les courts extraits de texte originaux et les hachages de fichiers pour permettre de vérifier les valeurs des champs sur la page source, et fournir également des corrections fondées sur des preuves. Avant de traiter des documents importants, veuillez conserver les originaux et compléter la revue.


