Automatisation de l'identification des modifications à l'image des documents contractuels à l'aide du modèle N-gramme



Toute personne moderne sait que vous devez signer un document au plus tôt avant de l'avoir lu. Les contrevenants à cette règle simple sont parfois surpris par des conséquences inattendues qui auraient pu être évitées si vous avez examiné le document avant de le signer, y compris ce qui est écrit en petits caractères. Les astuces dans les contrats par les fournisseurs de services sont utilisées dans le cadre de blagues et de films. Par exemple, dans le film Blinded by Desiresle protagoniste a mis fin à un accord très défavorable avec le diable, malgré l'ignorance des conditions de résiliation du contrat décrites à l'article 147, paragraphe 3, troisième partie du contrat. Une situation similaire est parfois possible dans la vie réelle avec des prestataires de services. Sur Internet, vous pouvez trouver une description des cas curieux où un client d'une banque a changé les termes de l'accord en sa faveur, et cela a été une surprise pour la banque. Dans l'article d'aujourd'hui, nous parlerons d'un algorithme extrêmement utile pour les banques et autres organismes de crédit, qui détecte automatiquement les modifications apportées aux images des documents contractuels. Regardez donc sous le chat!

Actuellement, de nombreuses organisations qui attirent un grand nombre de nouveaux clients, proposent de télécharger un modèle de contrat à partir de leur site Web pour l'auto-préparation. Le contrat imprimé, complété et signé est transféré pour signature à la deuxième partie. Bien entendu, la seconde partie vérifie les contrats préparés par les clients potentiels, par exemple en vérifiant manuellement les documents soumis. Le nombre de ces documents peut être assez important, c'est pourquoi plusieurs employés attentifs sont impliqués dans leur vérification. Cependant, lors de la vérification de plusieurs dizaines de documents identiques (en termes de signification) par jour, même un employé soigné peut ignorer les erreurs. Cela explique les cas de fraude qui n'ont pas été détectés lors de la vérification manuelle.

Nous parlerons de l'automatisation de la vérification de routine d'un large flux de documents contractuels décrits ci-dessus à l'aide des technologies de reconnaissance optique, qui ont fait l'objet d'articles sur les moteurs intelligents sur Habr plus d'une fois (par exemple, une et deux fois ).

Les documents contractuels appartiennent à la classe des documents commerciaux créés pour être diffusés dans certains systèmes de gestion de bureau et de gestion de documents. Une caractéristique distinctive des documents commerciaux est la limitation du vocabulaire utilisé et la façon dont il est conçu. Cela est dû à la volonté d'unifier les formes de documents pour simplifier la compréhension des documents commerciaux, tout d'abord, par une personne.

Le modèle ou la forme du document est décrit à l'avance et se compose de texte statique et de champs pour saisir des informations. Considérez deux classes communes de modèles: un modèle fixe et un modèle flexible. Le modèle fixe ne permet pas la modification de textes statiques, par exemple, lors de l'utilisation du format PDF. Des modèles flexibles peuvent être utilisés pour permettre la modification de textes statiques, par exemple, des modèles au format Microsoft Office. En conséquence, nous distinguerons les documents fixes des documents flexibles.

Méthodes connues de comparaison automatisée de l'image (numérisation ou photo) d'un document signé avec son prototype [1]. Ils vérifient les éventuelles modifications du contenu:

  • remplacement d'un ou plusieurs caractères dans un mot;
  • remplacer un mot par un autre;
  • Ajouter un caractère, un mot ou un groupe de mots
  • Supprimez un caractère, un mot ou un groupe de mots.

Des modifications de la conception du document sont également possibles:

  • changer le style des mots (taille, polices, type);
  • changer les champs d'un document Word;
  • modification du nombre de paragraphes;
  • changer les champs.

La modification d'un modèle fixe est une falsification intentionnelle, car il n'y a pas d'autre moyen d'expliquer le désir de changer le texte protégé. La modification d'un modèle flexible peut être soit une falsification, une faute de frappe accidentelle ou le résultat d'une mise en forme améliorée.

Ensuite, nous décrivons les modèles et les méthodes de recherche de fraude dans les copies de documents commerciaux imprimés à l'aide de modèles fixes et flexibles.

La base pour comparer l'image de test (copie) et l'image de référence (originale) sont les images de mots trouvés par n'importe quelle méthode. L'image du mot est représentée par une description (descripteur), le descripteur le plus évident est les caractères reconnus du mot. MotWdéfini comme un point de texte W=(T(W),B(W))où - T(W)- le noyau du point caractéristique du texte, c'est-à-dire une séquence de caractères d'un mot composé de caractères d'un alphabet particulier ou une séquence de familiarité avec les notes de conformité de familiarité avec les caractères de l'alphabet, B(W)- cadre du point d'entité de texte, composé des coordonnées de la bordure Bx1(W), By1(W), Bx2(W), By2(W)qui peut être normalisé dans une certaine plage, ainsi que F(W)- Signes d'un point de fonctionnalité de texte (par exemple, un casque et une modification de police).

Un point d'entité texte est similaire à un point d'entité «graphique» dans une image, ce qui signifie un point qui remplit plusieurs conditions:

  • un quartier qui diffère des points de son voisinage;
  • immunité au bruit;
  • résistance à certaines transformations (par exemple, aux transformations affines ou à la desquamation) [2].

Les propriétés des points singuliers sont:

  • repeatability – , ;
  • distinctiveness/informativeness – ;
  • locality – ;
  • quantity – ;
  • accuracy – , , ;
  • efficiency – .

Il est supposé qu'un point d'entité de texte est différent des points d'entité de texte voisins à son voisinage. Si par quartier, nous entendons une ligne de texte, la plupart des mots des documents commerciaux diffèrent des voisins de la ligne. Plusieurs mots identiques placés sur la même ligne ne seront pas des points singuliers de texte. Cependant, si par voisinage nous entendons un ou deux mots voisins, alors deux mots identiques placés sur la même ligne et distingués par des mots voisins seront des points singuliers de texte. La comparaison des points singuliers est effectuée à l'aide de la mesure de similitude d, qui doit prendre des valeurs proches de zéro dans le cas de la comparaison de deux points correspondant à un endroit de l'image, et des valeurs importantes lors de la comparaison des points de différents endroits de l'image.Les comparaisons de deux noyaux de points singuliers de texte dans cet article sont basées sur la distance de LevenshteinρLev[3] et ses modifications. Seuild(W) comparaisons de mots T(W)en d'autres termes, il est calculé à l'avance. SiρLev(W,Wr)<d(W)alors le mot Wret point de fonctionnalité de texte Wsont identiques , sinon différents.

Un descripteur de point de caractéristique est un identifiant utilisé lors de la correspondance des points de caractéristique. Le descripteur devrait être invariant lors de l'appariement de points singuliers en ce qui concerne les transformations d'image.

La méthode d'extraction de points singuliers d'une image s'appelle un détecteur. DétecteurUn point de caractéristique de texte est une procédure de reconnaissance utilisant une OCR qui extrait des descripteurs de point de caractéristique d'une image de document. Les propriétés des points de fonctionnalité répertoriés ci-dessus sont valables pour les points de fonctionnalité de texte dans le cas de la capacité de l'OCR moderne à compenser les différents types de distorsions d'image. L'unicité des descripteurs de singularité du texte est déterminée par la structure des documents (division sans ambiguïté d'un document en constellations - sections, paragraphes et lignes) et les propriétés du langage naturel (une coïncidence rare dans les documents de deux mots adjacents). Différentes relations entre des points singuliers textuels (relations au-dessus - en dessous, de droite à gauche ou distance géométrique entre les cadres) vous permettent de combiner des points en constellations à l'aide d'algorithmes de clustering.

Idéalement, l'OCR extrait sans erreur tous les points spécifiques au texte de l'image de copie et du modèle de document. Cela vous permet de former des constellations, en particulier la ligne. La comparaison d'une copie et d'une référence consiste à établir une correspondance non ambiguë entre tout ou partie du texte des points singuliers de la référence et un ensemble de points spécifiques au texte de la copie. Le processus d'établissement d'une correspondance entre des points ou des constellations de points est appelé coordination.

La coordination des documents fixes comprend:

  • rechercher la correspondance de tout point du point de référence dans la copie;
  • rechercher la correspondance de tout point de la copie aux points de la norme;
  • rechercher la correspondance de toute ligne statique de la norme aux points de la copie;
  • rechercher la correspondance de toute ligne de copie statique aux points de la norme;
  • vérification de l'identité des images de chaque paire d'images coordonnées.

Toute incohérence trouvée est une modification potentielle. Bien entendu, l'incohérence constatée peut être due à des erreurs de détection (OCR) ou à des distorsions de l'image du document. L'énoncé du problème est de trouver toutes les modifications dans la copie du document.

La coordination de documents flexibles implique d'établir une correspondance entre tous les mots d'un texte statique. Cependant, contrairement aux documents fixes, aucune correspondance entre les lignes de texte statique d'un document flexible n'est supposée. Dans les documents flexibles, des changements légitimes sont possibles qui ne changent pas la signification du texte, comme changer la police, changer les limites des lignes, les sauts de ligne. De telles modifications peuvent conduire à des sauts de ligne sur une autre page, donc une comparaison de documents flexibles multi-pages doit être effectuée pour la séquence entière de pages.

Dans le cas général, sans connaissance de la structure du document, la coordination de tous les mots des documents de test et de référence est nécessaire. Un inconvénient certain de la coordination complète des mots est les inévitables erreurs de reconnaissance, en particulier pour les photos (voir un exemple d'un fragment d'une image texte avec des distorsions dans la figure ci-dessous), interprétées comme des modifications. La personne responsable de la vérification sera obligée de passer plus de temps à vérifier les fausses modifications.



Avec une coordination complète des mots de la copie et de l'original, en plus des fausses erreurs de reconnaissance, il peut y avoir d'autres différences insignifiantes. Le fait est que du point de vue de l'utilisateur fonctionnel du programme de comparaison de la copie et de l'original, tous les mots n'ont pas la même valeur. En fait, un sous-ensemble des mots d'une page d'un document, qui détermine les termes essentiels du contrat, est précieux. Il est supposé que la tâche du fraudeur consiste à apporter des modifications qui, au tribunal ou dans le cadre d'une procédure préliminaire, peuvent endommager l'organisation qui a signé le contrat avec le fraudeur. Donner une définition formelle de cette importanteles mots sont à peine possibles, ils sont déterminés par des experts. De plus, certains mots deviennent significatifs en combinaison avec des mots voisins. Par exemple, la particule «non» en combinaison avec le mot adjacent «garanties» est significative. La modification du mot «contrat» par le mot «non contractuel» est insignifiante, car dans une procédure judiciaire, elle ne peut apporter d’avantages à un fraudeur.

Ainsi, une autre formulation du problème est possible, en utilisant à la fois la connaissance de la structure du document et le placement des mots essentiels à la vérification. Dans cette déclaration, le modèle de document se compose de paragraphes et de chaînes de texte. Chaque ligne de texte et chaque paragraphe est représenté par un ensemble de points singuliers de texte dont la séquence est unique pour un paragraphe ou une ligne donné. Les lignes et les paragraphes peuvent également contenir des mots qui ne sont pas uniques, c'est-à-dire répétés ou même situés à proximité. Dans des cas particuliers, il est possible de connaître la distance entre des mots uniques, déterminée par le nombre de caractères intermédiaires ou la distance géométrique entre les images de mots.

L'utilisation d'un modèle de mot N-gramme simple s'est avérée efficace. Le modèle N-gramme est utilisé dans diverses tâches, telles que la compression ou le codage de textes. Dans le traitement des textes écrits dans une langue naturelle, les N-grammes sont utiles pour trouver et corriger les erreurs (nous avons déjà écrit à ce sujet auparavant ).

Pour rechercher des mots clés, N-grammes de mots sont utilisés sous les formes suivantes:

n2(wi)=wi,r1(wi)
n3(wi)=wi,r1(wi),r2(wi)
n2(wi)=l1(wi),wi
n3(wi)=l1(wi),wi,r1(wi)
n4(wi)=l1(wi),wi,r1(wi),r2(wi)
n3(wi)=l2(wi),l1(wi),wi
n4(wi)=l2(wi),l1(wi),wi,r1(wi)
n5(wi)=l2(wi),l1(wi),wi,r1(wi),r2(wi),

rk(wi), lq(wi)un mot à droite ou à gauche du mot central wiles distances autorisées sont également connues ρBT(wi,r1(wi)), ρBT(r1(wi),r2(wi)), ρBT(l1(wi),wi), ρBT(l2(wi),l1(wi))entre les mots adjacents. Indicek dans la désignation des N-grammes nk(wi)appeler la longueur du N-gramme.

Un modèle de paragraphe consiste en une séquence ordonnée de N-grammes
n1(w1),n2(w2),,nm(wm)avec des tuples de mots prédéfinis ni(wi), avec des distances connues entre les paires {nj1(wj1),nj(wj)}. Notez que certains N-grammes sont uniques à un paragraphe, et certains peuvent être répétés. Pour garantir l'unicité, des N-grammes de différentes longueurs peuvent être utilisés: bigrammes, trigrammes, tétragrammes et pentagrammes.

Lors de la construction d'un modèle de paragraphe, les N-grammes sont formés de manière à maximiser le nombre de N-grammes uniques. L'utilisation de N-grammes par rapport à des mots clés individuels garantit l'unicité de la plupart des paragraphes des documents contractuels, principalement en raison de la limitation importante susmentionnée de l'ensemble de mots dans un texte statique.

Il est judicieux d'effectuer une formation et une optimisation des paramètres sur des ensembles de données réels. Notez que même sur des ensembles de données réels, nous ne verrons pas de modifications possibles, tout d'abord, en raison de la sécrétion de ces données par les propriétaires des ensembles de données. Je dois apporter des modifications de mes propres mains.

L'algorithme de recherche de trigrammes revient à sélectionner plusieurs mots consécutifs. Bien sûr, vous devez d'abord former un ensemble de points singuliers de texte. Pour ce faire, nous avons pris les mesures suivantes:

  • traitement des demi-teintes (bibliothèque MinImage);
  • normalisation de l'image par angle à l'aide de méthodes basées sur la transformée de Hough rapide [4] (Smart IDReader API);
  • mettre en évidence les limites des mots en utilisant les opérations «d'érosion» et de «dilatation» (bibliothèque MinImage);
  • reconnaissance des caractères dans les limites des mots trouvés (API Smart IDReader).

Le paragraphe était présenté comme une longue ligne.

Une comparaison des mots idéaux et des mots reconnus d'un paragraphe a été effectuée en utilisant la distance de Levenshtein modifiée. Les algorithmes de calcul de distance de Levenshtein sont bien connus, ils vous permettent de trouver non seulement le nombre de prescriptions éditoriales, mais les prescriptions elles-mêmes.

La distance de Levenshtein modifiée a été utilisée. Tout d'abord, un seuil unique a été choisi pour comparer un mot particulier avec d'autres mots. Pour le refus d'identifier des paires de mots de type «MER» = «MONTAGNE» ou pour des identifiants de type «IDENTIFIER196», «IDENTIFIER296», «IDENTIFIER199», une autre règle a été appliquée. Pour ces mots, des segments ont été indiqués qui devaient rester inchangés. Autrement dit, au début des mots «IDENTIFICATEUR jj», un grand nombre d'erreurs étaient autorisées, mais l'identification était interdite avec les instructions éditoriales trouvées dans les 3 derniers caractères du mot.

Une autre modification consistait à compenser le remplacement de l'OCR de certains caractères par des caractères similaires. Remplacer officiellement les caractères de l'alphabet latinB8, DO, 1Isont des erreurs, cependant, la réduction du prix de ces substitutions peut améliorer la précision de l'identification des mots. Le prix de remplacement d'une lettre pour les personnages de styles similaires a été choisi lors de la formation.
Sur la base de plusieurs distances du centre et des voisins du N-gramme aux analogues sélectionnés, une estimation heuristique de la liaison du N-gramme dans son ensemble est formée.
Les paramètres du modèle (seuils, longueurs de N-grammes) ont été choisis au cours de la formation afin de minimiser le nombre d'erreurs de liaison de N-grammes et maximiser le nombre de N-grammes correctement liés.

Après avoir lié les N-grammes aux mots du paragraphe, les contrôles suivants peuvent être effectués:

  • la présence de tous les N-grammes attendus;
  • la présence de tous les N-grammes uniques en un seul exemplaire;
  • la séquence de N-grammes;
  • distance entre N-grammes adjacents.

Le défaut d'effectuer l'une des vérifications signifie trouver une modification au mot clé important.

La méthode décrite a été testée sur un ensemble de données composé de 161 images d'un document de type «Accord» numérisées avec une résolution de 100 à 300 dpi. Nous avons étudié un modèle de 33 mots clés. Certains des mots clés dans les images de l'ensemble de données ont été délibérément supprimés ou modifiés. 740 suppressions et 140 mots ont été modifiés. OCR Smart IDReader [5] a été utilisé pour la reconnaissance.

La qualité de l'algorithme a été évaluée par les critères de précision (précision) et d'exhaustivité (rappel), dans la détermination des nombres qui ont été utilisés:

  • mots modifiés trouvés tp;
  • mots corrects classés comme modifications fp;
  • mots modifiés non trouvés fn;
  • mots corrects classés comme corrects tn.

Les résultats sont présentés dans le tableau. Le tableau présente les caractéristiques calculées pour plusieurs seuils.d(wi) appréciation de l'exactitude du mot par rapport au mot de référence.

d (w i )tpfptnfnPrécisionRappel
121641473800,341,00
221690106200,701,00
3 et plus21654109800,801,00

Notez que lorsque OCR Smart IDReader a été reconnu, tous les mots modifiés ont été trouvés. Les erreurs de métol sont associées à des erreurs de reconnaissance, principalement dues à des défauts de numérisation (présence de zones surexposées).

Il est facile de deviner que la méthode décrite a une limitation associée à la précision de la distinction des limites de mots. Les défauts de numérisation indiqués ont conduit à un petit nombre d'erreurs de recherche de limites de mots (environ 1-1,5% pour certains mots clés). Pour éliminer cette limitation, nous proposons un moyen supplémentaire de rechercher des mots. Pour certains N-grammes non détectés, un sous-ensemble des mots du paragraphe reconnu a été sélectionné dans lequel la présence de ce N-gramme était attendue. Des lacunes ont été supprimées du sous-ensemble de mots sélectionné et une chaîne de caractères a été formée. N-gramme de mots concaténés, formant une sous-chaîne pour la recherche. Ensuite, nous avons recherché des sous-chaînes, par exemple, en utilisant un algorithme bitup modifié en utilisant une distance de Levenshtein modifiée. Cela permet de réduire de 2 à 3 fois le nombre d'erreurs de vérifications de N grammes associées aux erreurs de recherche de limites de mots.

Brève conclusion


Nous avons parlé d'un outil pour rechercher des faux de documents contractuels. Bien sûr, cet outil ne résout pas complètement le problème et des vérifications manuelles des mots prétendument modifiés trouvés sont nécessaires. La méthode vous permet d'automatiser de manière fiable la recherche de modifications et de réduire considérablement le nombre de contrôles manuels de routine. La complexité du développement de la méthode décrite était la difficulté d'obtenir des ensembles de données réels avec des contrefaçons.

Bibliographie
  1. Sidere N. et al. A dataset for forgery detection and spotting in document images // 2017 Seventh International Conference on Emerging Security Technologies (EST). – IEEE, 2017. – P. 26-31.
  2. Bertrand R. et al. A conditional random field model for font forgery detection // 2015 13th International Conference on Document Analysis and Recognition (ICDAR). – IEEE, 2015. – P. 576-580.
  3. . . , // . – , 1965. – . 163. – №. 4. – . 845-848.
  4. Bezmaternykh P. V., Nikolaev D. P. A document skew detection method using fast Hough transform // Twelfth International Conference on Machine Vision (ICMV 2019). – International Society for Optics and Photonics, 2020. – Vol. 11433. – P. 114330J.
  5. Bulatov K. et al. Smart IDReader: Document recognition in video stream // 2017 14th IAPR International Conference on Document Analysis and Recognition (ICDAR). – IEEE, 2017. – Vol. 6. – P. 39-44.


All Articles