Brevet FR2990541A1 — publié le 20131115

111690-FR-NP 1 PROCEDE DE TRAITEMENT DE SORTIE DE DISPOSITIF DE RECONNAISSANCE OPTIQUE DE CARACTERES [0001] Les modes de réalisation divulgués dans la présente concernent la traduction de langues, telle que la traduction automatique de documents. Plus particulièrement, les modes de réalisation divulgués dans la présente concernent une technique pour corriger la sortie d'un Dispositif de Reconnaissance Optique de Caractères (OCR). [0002] Des systèmes de traduction automatique (TA) sont utilisés de manière croissante dans différents processus d'entreprise pour casser la barrière de la langue. Dans des scénarios où des copies papier de documents qui ont besoin d'être traduites automatiquement, les systèmes TA peuvent être utilisés après que les documents sont traités par un OCR. La sortie de l'OCR peut être bruitée. Le bruit désigne diverses erreurs possibles, telles que, mais 20 sans y être limitées, des erreurs de remplacement de caractère ou de segmentation de caractères. Dans le cas d'une erreur de remplacement de caractère, un caractère dans une image est reconnu à tort en tant que caractère différent ou que séquence de caractères. Dans le cas 25 d'erreurs de segmentation, soit un espace entre deux mots n'est pas reconnu, soit un ou plusieurs espaces supplémentaires sont insérés au milieu d'un mot. Une telle sortie bruitée peut conduire à une traduction défectueuse par le système TA. En outre, corriger manuellement de 30 telles erreurs prend un temps et un effort considérables. [0003] Selon des aspects illustrés ici, est proposé un procédé mis en oeuvre par ordinateur, un système et un produit programme d'ordinateur pour traiter la sortie d'un OCR. Le système reçoit une première séquence de caractères provenant de l'OCR. Un premier ensemble de caractères à partir de la première séquence de caractères est converti en un second ensemble de caractères correspondant pour générer une seconde séquence de caractères sur la base d'une table de recherche et de scores de langue générés par un modèle linguistique. [0004] Différents modes de réalisation seront par la suite décrits selon les dessins annexés fournis pour illustrer et non limiter la portée d'une quelconque manière, dans lesquels des désignations similaires indiquent des éléments analogues ; et dans lesquels : [0005] La Figure 1 est un schéma fonctionnel illustrant un système pour traiter la sortie d'un OCR selon un mode de 15 réalisation ; [0006] La Figure 2a et la Figure 2b illustrent une séquence de caractères d'entrée et une séquence de caractères de sortie selon un mode de réalisation ; [0007] La Figure 3 est un organigramme illustrant un 20 procédé pour traiter la sortie d'un OCR selon un mode de réalisation ; [0008] La Figure 4a représente une table de recherche selon un mode de réalisation ; [0009] La Figure 4b représente une autre table de 25 recherche selon un mode de réalisation ; [0010] La Figure 5a illustre un transducteur fini (FST) selon un mode de réalisation ; [0011] La Figure 5b illustre un autre FST selon un mode de réalisation ; 30 [0012] La Figure 6a illustre un autre FST selon un mode de réalisation ; [0013] La Figure 6b illustre encore un autre FST selon un mode de réalisation ; [0014] La Figure 7 est un organigramme illustrant un procédé pour traiter la sortie d'un OCR selon un mode de réalisation ; [0015] La Figure 8 est un schéma fonctionnel illustrant un système pour traduction de langue selon un mode de réalisation ; [0016] La Figure 9 illustre une séquence de caractères d'entrée, une séquence de caractères de sortie et une séquence de caractères traduite selon un mode de W réalisation ; et [0017] La Figure 10 est un organigramme illustrant un procédé pour traduction de langue selon un mode de réalisation. [0018] La Figure 1 est un schéma fonctionnel illustrant 15 un système 100 pour traiter la mode de réalisation. Le système 102, une mémoire 104 couplée au de programme 106 et des données dans la mémoire 104. Le module sortie d'un OCR selon un 100 comprend un processeur processeur 102, un module de programme 108 stockées de programme 106 comprend 20 un OCR 110, un module de conversion 112, un modèle linguistique 114 et un module d'apprentissage 116. Les données de programme 108 comprennent une table de recherche 118, un stockage de séquence 120 et d'autres données 122. [0019] Afin de traduire un document, un utilisateur 25 scanne les documents à l'aide d'un scanner approprié. Le scanner génère ensuite un document électronique, tel qu'une image numérique du document. L'image numérique du document est ensuite fournie à l'OCR 110. En outre, il est entendu que plus d'un document peut être scanné sans limiter la 30 portée de la présente description. [0020] En bref, l'OCR 110 reçoit l'image numérique (par exemple, le document électronique) et génère une première séquence de caractères à partir de l'image numérique. L'OCR 110 stocke la première séquence de caractères dans le stockage de séquence 120. Une fois que la première séquence de caractères est générée, le module de conversion 112 obtient la première séquence de caractères à partir du stockage de séquence 120. Le module de conversion 112 fonctionne ensuite conjointement avec le modèle linguistique 114, le module d'apprentissage 116 et la table de recherche 118 pour convertir la première séquence de caractères en une seconde séquence de caractères. Le W module de conversion 112 stocke ensuite la seconde séquence de caractères dans le stockage de séquence 120. Afin que le module de conversion 112 réalise la conversion, le module d'apprentissage 116 facilite la génération de la table de recherche 118. La table de recherche 118 est 15 consultée par le module de conversion 112 pour identifier un mappage de caractères approprié pour réaliser différentes corrections. Le modèle linguistique 114 calcule un score de langue pour chaque correction possible. Ainsi, sur la base de la table de recherche 118 et du score 20 de langue, le module de conversion 112 convertit la première séquence de caractères en la seconde séquence de caractères. [0021] L'OCR 110 reconnait différents caractères présents dans l'image numérique et génère la première 25 séquence de caractères. Par exemple, une première séquence de caractères est davantage illustrée sur la Figure 2a et la Figure 2b. Une séquence de caractères, telle qu'une première séquence de caractères 202, apparaît à la sortie de l'OCR 110. On observe à partir de la Figure 2a et de la 30 Figure 2b que la première séquence de caractères 202 est erronée et a besoin d'être corrigée. L'OCR 110 stocke la première séquence de caractères 202 dans le stockage de séquence 120. [0022] Le module de conversion 112 convertit la première séquence de caractères 202 en une séquence de caractères corrigée, telle qu'une seconde séquence de caractères 204 ayant les corrections possibles. Dans un mode de réalisation, afin de corriger les erreurs dans la première séquence de caractères 202, le module de conversion 122 fonctionne conjointement avec le modèle linguistique 114, le module d'apprentissage 116 et la table de recherche 118. En outre, la première séquence de caractères 202 et la 10 seconde séquence de caractères 204 sont stockées dans le stockage de séquence 120. [0023] Dans un mode de réalisation, différentes corrections possibles comprennent, mais sans y être limitées, l'addition de caractères, le retrait de 15 caractères, le remplacement/transformation de caractères, etc. Dans un mode de réalisation, un caractère peut être un espace. Afin de corriger les erreurs dans la première séquence de caractères 202, le module de conversion 112 convertit un premier ensemble de caractères dans la 20 première séquence de caractères 202 en un second ensemble de caractères correspondant pour générer la seconde séquence de caractères 204 sur la base de la table de recherche 118 et de scores de langue générés par le modèle linguistique 114. Dans le cas de l'addition de caractères, 25 le premier ensemble de caractères ne contient pas de caractères (par exemple, le premier ensemble de caractères est un ensemble vide) et le second ensemble de caractères contient un ou plusieurs caractères. Dans le cas du retrait de caractères, le premier ensemble de caractères 30 contient un ou plusieurs caractères et le second ensemble de caractères ne contient pas de caractères (par exemple, le second ensemble de caractères est un ensemble vide). [0024] Dans un mode de réalisation, le module de conversion 112 peut être mis en oeuvre à l'aide d'un système de traduction automatique statistique (SMT) (par exemple, MOSES) pour convertir la première séquence de caractères 202 en la seconde séquence de caractères 204. La conversion est réalisée au niveau caractère à l'aide de la table de recherche 118 et des scores de langue générés par le modèle linguistique 114. Cela est davantage expliqué en liaison avec la Figure 3 et la Figure 4. [0025] Dans un autre mode de réalisation, le module de conversion 112 peut être mis en oeuvre à l'aide d'un FST libre (une bibliothèque pour mettre en oeuvre des transducteurs finis pondérés) pour convertir la première séquence de caractères 202 en la seconde séquence de caractères 204 à l'aide d'une technique basée sur FST (transducteur fini). La conversion est réalisée à l'aide de différents FST et des scores de langue générés par le modèle linguistique 114. Cela est davantage expliqué en liaison avec la Figure 6 et la Figure 7. [0026] Dans un autre mode de réalisation, une technique hybride est utilisée, dans laquelle le module de conversion 112 peut être mis en oeuvre à l'aide à la fois du système de traduction automatique statistique (SMT) (par exemple, MOSES) et d'un FST libre. La conversion est réalisée à l'aide de différents FST, de la table de recherche et des scores de langue générés par le modèle linguistique 114. Cela est davantage expliqué en liaison avec la Figure 3, la Figure 4 et la Figure 5. [0027] Le modèle linguistique 114 est un modèle statistique qui calcule un score de langue (par exemple, valeur de probabilité) pour la réalisation de chaque correction possible. Le modèle linguistique 114 calcule le score de langue par mise en oeuvre d'une technique de distribution de probabilité. Les scores de langue calculés, conjointement avec la table de recherche 118, sont ensuite utilisés par le module de conversion 112 pour apporter des corrections dans la première séquence de 5 caractères 202 et générer la seconde séquence de caractères 204. Dans un mode de réalisation, les scores de langue sont stockés dans les données de programme 108 en tant que partie des autres données 122. [0028] Dans un mode de réalisation, le modèle 10 linguistique 114 est mis en oeuvre à l'aide d'une technique de modélisation linguistique, telle qu'un modèle N-gramme. Cependant, il est entendu pour l'homme du métier que toute autre technique appropriée de modélisation linguistique (par exemple, modèle linguistique positionnel, modèle 15 linguistique discriminant, modèle linguistique basé sur déclenchement, et analogues) peut également être mise en oeuvre par le modèle linguistique 114. En outre, le modèle linguistique 114 est entraîné à l'aide d'une boîte à outils SRILM (la boîte à outils de modélisation linguistique SRI 20 par SRI internationalM. [0029] Le module d'apprentissage 116 facilite la création de la table de recherche 118. Dans un mode de réalisation, le module d'apprentissage 116 peut être mis en oeuvre à l'aide d'un outil, comme GIZA++, qui met en oeuvre 25 différents modèles IBM@ ou HMM (modèles de Markov cachés) pour alignement de mots. Différentes données d'apprentissage sont fournies au module d'apprentissage 116, sur la base desquelles le module d'apprentissage 116 extrait des mappages de caractères de source et de 30 caractères de cible. Dans un mode de réalisation, les caractères de source comprennent, mais sans y être limités, divers caractères alphabétiques, caractères numériques, symboles et combinaisons de ceux-ci, sans limiter la portée de la présente description. Divers caractères présents dans la première séquence de caractères peuvent être considérés en tant que caractères de source. Dans un mode de réalisation, les caractères de cible représentent les caractères qui peuvent remplacer les caractères de source. En outre, le module d'apprentissage 116 calcule un ou plusieurs scores, tels que des scores de probabilité (par exemple, P(T1S) comme représenté sur la Figure 4a), et affecte les ou les scores à chacun des mappages extraits W pour former la table de recherche 118. En outre, selon un autre mode de réalisation, divers autres scores appropriés, tels qu'une probabilité d'avoir un caractère de source particulier étant donnée un caractère de cible particulier, et divers scores lexicaux sont calculés et affectés aux 15 mappages extraits pour générer la table de recherche 118. Ainsi, la table de recherche 118 peut également comprendre les autres scores et données appropriés en plus de P(T1S). [0030] En outre, le procédé pour traiter la première séquence de caractères 202 est expliqué en détail en 20 liaison avec la Figure 3. [0031] La Figure 2a et la Figure 2b illustrent une séquence de caractères d'entrée et une séquence de caractères de sortie selon un mode de réalisation. La première séquence de caractères 202 représente la séquence 25 de caractères d'entrée injectée au module de conversion 112. Dans un mode de réalisation, la première séquence de caractères 202 est en langue allemande. Il apparaîtra à l'homme du métier que toute autre séquence de caractères dans toute autre langue peut être traitée par le module de 30 conversion 112 sans limiter la portée de la présente description. [0032] La séquence de caractères de sortie du module de conversion 112 est représentée par la seconde séquence de caractères 204. La seconde séquence de caractères 204 représente une version corrigée de la première séquence de caractères 202. [0033] Différentes corrections, telles que des corrections 206a, 206b, 206c, 206d et 206e désignées par la suite par corrections 206, sont illustrées sur la Figure 2b. Par exemple, la correction 206a montre qu'un troisième caractère « r » (en partant de la gauche) dans la première séquence de caractères 202 a besoin d'être remplacé par « r », où représente un seul espace. La correction 206b montre que les caractères « h » dans la première séquence de caractères 202 ont besoin d'être remplacés par « h ». La correction 206c montre que le caractère « p » dans la première séquence de caractères 202 a besoin d'être remplacé par « o ». La correction 206d montre que le caractère « 1 » dans la première séquence de caractères a besoin d'être remplacé par « f ». De façon analogue, la correction 206e montre que les caractères « ii » dans la première séquence de caractères 202 ont besoin d'être remplacés par « n ». En plus des corrections 206, d'autres corrections comprennent la suppression (par exemple, le remplacement d'un caractère par un zéro ou aucun caractère) et l'addition (par exemple, le remplacement de l'absence de caractère par un caractère ou inclure un caractère supplémentaire). Comme divulguée précédemment, la conversion est réalisée par le module de conversion 112. [0034] La Figure 3 est un organigramme illustrant un procédé pour traiter la sortie de l'OCR 110 selon un mode de réalisation. [0035] A l'étape 302, une séquence de caractères, telle que la première séquence de caractères 202, est reçue en provenance de l'OCR 110. [0036] A l'étape 304, le premier ensemble de caractères à partir de la première séquence de caractères 202 est converti pour correspondre à un second ensemble de caractères pour générer la seconde séquence de caractères 204 sur la base de la table de recherche 118 et de scores de langue générés par le modèle linguistique 114. Cela est davantage expliqué dans la description suivante. La conversion est réalisée par le module de conversion 112. [0037] Différentes corrections, telles que les corrections 206, sont réalisées sur la base des scores de langue calculés par le modèle linguistique, des mappages et de divers scores (par exemple, P(T1S)) dans la table de recherche (par exemple, 118a, 118b comme représenté sur la Figure 4). [0038] La Figure 4a illustre une table de recherche 118a selon un mode de réalisation. La table de recherche 118a comprend différents caractères de cible possibles correspondant à un caractère de source « r ». Une première colonne dans la table de recherche 118a représente le caractère de source « r ». Une deuxième colonne dans la table de recherche 118a représente des caractères de cible possibles correspondant au caractère de source « r ». Une troisième colonne dans la table de recherche 118 représente des scores de probabilité, tels que P(T1S). Les scores de probabilité représentent une probabilité d'utiliser les caractères de cible possibles pour corriger chaque caractère de source. Dans la table de recherche 118a, P(T1S) représente une probabilité d'un caractère de cible particulier (par exemple, « r », « e r », « e ») remplaçant le caractère de source « r ». La table de recherche 118a peut être consultée par le module de conversion 118 conjointement avec le score de langue correspondant fourni par le modèle linguistique 114 pour H remplacer le caractère « r » dans la première séquence de caractères 202 par « r », où représente un espace. [0039] La Figure 4b décrit une autre table de recherche 118b selon un mode de réalisation. La table de recherche 118b comprend différents caractères de cible possibles correspondant à un caractère de source « p ». Une première colonne dans la table de recherche 118a représente le caractère de source « p ». Une deuxième colonne dans la table de recherche 118a représente les caractères de cible W possibles correspondant au caractère de source « p ». Une troisième colonne dans la table de recherche 118a représente des scores de probabilité P(T1S). Dans la table de recherche 118b, P(T1S) représente une probabilité d'un caractère de cible particulier (par exemple, p, « p », 15 d) remplaçant le caractère de source « p ». La table de recherche 118a peut être utilisée par le module de conversion 112 pour remplacer le caractère « p » dans la première séquence de caractères 202 par « o » conjointement avec le score fourni par le modèle linguistique 114. 20 [0040] Il apparaîtra à l'homme du métier que les tables de recherche 118a et 118b peuvent être stockées de manière séparée ou combinée dans une unique table de recherche, telle que la table de recherche 118, dans les données de programme 118. En outre, la table de recherche 118 peut 25 comprendre différents caractères de cible possibles avec leurs scores de probabilité respectifs pour tous les caractères de source possibles. Les caractères de source peuvent comprendre, mais sans y être limités, différents caractères alphabétiques, caractères numériques, symboles 30 et combinaisons de ceux-ci, sans limiter la portée de la présente description. [0041] Un score de langue est calculé pour chaque correction possible par le modèle linguistique 114. Dans un mode de réalisation, le score de langue est une valeur de probabilité. Par exemple, pour chaque remplacement possible pour le caractère de source « r » tel que représenté dans la table de recherche 118a, le score de langue est calculé et stocké dans les autres données 122. En outre, des scores de langue pour une correction possible sont calculés sur la base de l'apprentissage. Cela est en outre expliqué ci-dessous. [0042] Par exemple, afin de calculer le score de langue W pour « r » qui est le remplacement pour « r », un score de langue «ihr verb» est calculé par le modèle linguistique 114 sur la base de l'apprentissage initial. De façon analogue, des scores de langue correspondant à chaque caractère de cible possible listé dans la table de 15 recherche 118a sont calculés. [0043] Par exemple, le score de langue pour la séquence « ihr verbraucherinsolvenzverfarhen » (par exemple, la seconde séquence de caractères 204) peut être calculé à l'aide de l'équation suivante : 20 P(« ihr verbraucherinsolvenzverfahren ») = p(i 1 )* p(h 1 i)* p(r 1 ih)* p( 1 hr)*_*p(n 1 re) ... Equation 1 où P(« ihr verbraucherinsolvenzverfarhen ») représente le 25 score de langue pour toute la séquence ; p(i 1 ) représente le score de langue (par exemple, une valeur de probabilité) pour « i » qui est le premier caractère ; p(h 1 i) représente le score de langue pour « h » suivant « i » qui est le premier caractère ; p(r 1 ih) 30 représente le score de langue pour « r » suivant « ih », etc. [0044] Dans un mode de réalisation, si les scores de langue ne peuvent pas être bien estimés directement à partir de données (par exemple, des données utilisées pour entraîner le modèle linguistique 114 et des données présentes dans la table de recherche 118, telle que les tables de recherche 118a et 118b), certaines techniques de lissage sont utilisées pour ajuster les valeurs de ces scores de langue. [0045] Sur la base de l'ensemble de tels scores de langue calculés et des scores de probabilité présents dans la table de recherche 118a, « r » est déterminé comme W étant le meilleur remplacement possible pour le caractère « r » dans la première séquence de caractères 202 par le module de conversion 112. De façon analogue, d'autres corrections, telles que les corrections 206b, 206c, 206d et 206e, sont apportées par le module de conversion 112. 15 [0046] Dans un autre mode de réalisation, la technique hybride (par exemple, une technique basée sur FST conjointement avec la table de recherche 118) est utilisée par le module de conversion 112 pour traiter la première séquence de caractères 202. De cette manière, un espace de 20 recherche (par exemple, les transformations possibles pour un caractère de source donné) est limité aux mappages présents dans la table de recherche 118. Les transformations possibles pour un caractère donné dans la première séquence de caractères 202 sont déduites sur la 25 base des caractères de cible possibles présents dans la table de recherche 118. [0047] La Figure 5a illustre un FST 500a selon un mode de réalisation. possibles pour le 30 de recherche 118b. [0048] On observe caractères de cible recherche 118b sont des transformations la base de la table à partir du FST 500a que les possibles listés dans la table de pris en compte par le module de Le FST 500a montre caractère « p » sur conversion 112. Le FST 500a comprend différents états prédéfinis, tels que SO, Si, S2, S3 et S4. Dans un mode de réalisation, les états Si, S2, S3 et S4 sont des états intermédiaires. [0049] De façon analogue, de tels FST pour remplacement du caractère « r » peuvent être déduits sur la base de la table de recherche 118a. En général, un FST pour chaque caractère de source comprenant, mais sans y être limité, différents caractères alphabétiques, caractères numériques, symboles et combinaisons de ceux-ci, peut être défini sans limiter la portée de la présente description. En outre, il est entendu que les états expliqués sur la Figure 5 sont simplement des exemples et que le nombre d'états et la définition correspondante des états peuvent varier. Egalement, ils peuvent être définis par l'utilisateur ou ils peuvent être définis ou basés sur un programme d'apprentissage. [0050] La Figure 5b illustre un FST 500b selon un mode de réalisation. Le FST 500b montre des transformations possibles pour le caractère « p » sur la base de la table de recherche 118b et différents coûts. Les différents coûts peuvent également être pris en compte lors de la définition de tout FST. Le FST 500b montre le coût correspondant à chaque transformation. Le coût correspond à une valeur indiquant une probabilité du ou des caractères de source de la première séquence de caractères d'être remplacés par le ou les caractères de cible correspondants. Par exemple, le coût de conversion de « p » en « s » est de 8,2483, ce qui est beaucoup plus élevé que le coût de conversion de « p » en « p » qui est de 0,065958. Cela indique qu'il est moins probable que « p » soit converti en « s » étant donné que le coût correspondant est supérieur. [0051] Dans un mode de réalisation, chaque tel FST (par exemple, le FST 500a ou le FST 500b) pour des caractères de source et le modèle linguistique 114 se voient affecter des poids les uns par rapport aux autres, les poids représentant l'importance relative des scores générés par le modèle linguistique 114 et différentes transformations proposées par le FST 500a. Dans un mode de réalisation, les poids du FST 500a et du modèle linguistique 114 sont déterminés à l'aide d'une technique d'apprentissage à taux 10 d'erreur minimal (MERT). [0052] Sur la base des FST définis (par exemple, le FST 500A ou le FST 500b) et des scores de langue fournis par le modèle linguistique 114, le second ensemble de caractères (par exemple, contenant des caractères de cible appropriés 15 provenant de la table de recherche 118 ou aucun caractère) pour le premier ensemble de caractères dans la première séquence de caractères 202 sont déterminés par le module de conversion 112. Les corrections 206 sont ensuite apportées pour générer la seconde séquence de caractères 204. Dans 20 un mode de réalisation, les poids associés aux FST et au modèle linguistique 114 sont pris en compte par le module de conversion 112 pour identifier le second ensemble de caractères pour le premier ensemble de caractères dans la première séquence de caractères 202. 25 [0053] La Figure 6a illustre un autre FST 600a selon un mode de réalisation. Le FST 600a représente un FST d'édition. Un tel FST est utilisé pour réaliser toutes les opérations d'édition possibles dans la première séquence de caractères 202. 30 [0054] La Figure 6b illustre encore un autre FST 600b selon un mode de réalisation. Le FST 600b représente un FST de segmentation. Le FST 600b est utilisé pour réaliser M toutes les opérations de segmentation possibles dans la première séquence de caractères 202. [0055] Dans un mode de réalisation, le FST 600a et le FST 600b sont utilisés conjointement avec le modèle linguistique 114 pour convertir la première séquence de caractères 202 en la seconde séquence de caractères 204 et l'utilisation de la table de recherche 118 par le module de conversion 112 est évitée. [0056] Le FST 600a est mis en oeuvre par le module de W conversion 112 pour générer différentes éditions possibles de la séquence de caractères d'entrée (par exemple, la première séquence de caractères 202), dont l'une représente la version corrigée de la séquence de caractères d'entrée. Les différentes éditions possibles de la séquence de 15 caractères d'entrée sont obtenues par différentes opérations, telles qu'un remplacement de caractère, une suppression de caractère et une addition de caractère. Ces trois opérations sont représentées à l'aide de trois types différents d'arcs, tels que , > et 20 :$x>, respectivement. « x » représente un ou plusieurs caractères à remplacer. « y » représente un ou plusieurs caractères différents qui peuvent être utilisés pour remplacer le caractère. représente un caractère zéro (ou aucun caractère). L'arc suggère que le ou 25 les caractères devraient être remplacés par le ou les caractères différents. Par exemple, « r » peut être remplacé par « r », « p » peut être remplacé par « o », etc. L'arc > suggère qu'un caractère soit supprimé. L'arc :$x> suggère qu'un nouveau caractère 30 soit ajouté. Chacune de ces trois opérations est associée à un coût d'édition. Le FST 600a comprend différents états prédéfinis, tels que S10, Sll et S12. Cependant, un nombre différent d'états peut également être défini. [0057] Si toutes les éditions possibles pour la séquence de caractères d'entrée sont permises, le nombre de corrections candidates possibles deviendra très élevé. Dans un mode de réalisation, afin de restreindre l'espace de recherche, le nombre d'éditions par mot peut être restreint à un certain nombre (par exemple, deux éditions par mot). [0058] Le FST 600b est mis en oeuvre par le module de conversion 112 pour réaliser un ensemble de changements de W segmentation à différentes séquences de caractères générées par le FST d'édition (le FST 600a). Les opérations réalisées par le FST 600b comprennent un retrait d'espace (représenté par un arc : >) et m'introduction d'un espace pour diviser un mot (représenté par un arc 15 : >. Dans un mode de réalisation, le nombre de changements de segmentation dans la séquence de caractères d'entrée est restreint afin de rendre cette opération réalisable par calcul. Par exemple, dans le FST 600b, le nombre de changements de segmentation est restreint à deux. 20 « s » représente un coût de segmentation. Dans un mode de réalisation, s=1. Le FST 600a comprend différents états prédéfinis, tels que S20, S21 et S22. Cependant, un nombre différent d'états peut également être défini. [0059] La Figure 7 est un organigramme illustrant un 25 procédé pour traiter la sortie de l'OCR 110 selon un mode de réalisation. [0060] Comme expliqué précédemment, à l'étape 302, une séquence de caractères, telle que la première séquence de caractères 202, est reçue en provenance de l'OCR 110. 30 [0061] A l'étape 702, le premier ensemble de caractères à partir de la première séquence de caractères 202 est converti en un second ensemble de caractères correspondant pour générer la seconde séquence de caractères 204 sur la base des FST (par exemple, les FST 600a et 600b) correspondant à chaque caractère de la première séquence de caractères 202 et des scores de langue générés par le modèle linguistique 114. Un ou plusieurs poids des FST et du modèle linguistique 114 sont déterminés à l'aide de la technique MERT. Chacun des FST (par exemple, 600a et 600b) et le modèle linguistique 114 utilisés pour transformer la séquence d'entrée sont pondérés les uns par rapport aux autres. Soient We, Ws et Wl les poids relatifs pour le FST W d'édition (le FST 600a), le FST de segmentation (le FST 600b) et le modèle linguistique, respectivement. Soient Ce, Cs et Cl les coûts de transformation de la séquence de caractères d'entrée pour obtenir une correction. Un score de la sortie est calculé par 15 S(o,W) = - (iNe*Ce+Ws*Cs+Wi*Ci) _Equation 2 où « o » représente une séquence de caractères de sortie et « W » représente les poids. 20 [0062] La séquence de caractères de sortie « o » (par exemple, la seconde séquence de caractères 204), étant donnée une séquence de caractères d'entrée (par exemple, la première séquence de caractères 202), est calculée par, 25 o = argmax o S(o, W)... Equation 3 où « o »={0}1N, N = nombre de segments (ou mots) dans la séquence de caractères d'entrée (par exemple, la première séquence de caractères 202), W={We, Ws, W1}. [0063] Les poids W={We, Ws, Wl} sont calculés par minimisation de l'erreur de prédiction à l'aide de la technique MERT. Dans un mode de réalisation, la formule suivante peut être utilisée pour calculer les poids : W = argmin W E(o, R)... Equation 4 où E(o, R) représente l'erreur de prédiction et « R » représente un texte de référence. La séquence de W caractères de sortie « o » est comparée au texte de référence pour calculer l'erreur de prédiction. Les poids W sont calculés sur la base de l'erreur de prédiction. [0064] La technique mentionnée ci-dessus peut également être utilisée pour calculer les poids pour le FST 500a et 15 le FST 500b. [0065] La Figure 8 est un schéma fonctionnel illustrant un système 800 pour traduction de langue selon un mode de réalisation. Le système 800 comprend différents modules illustrés comme faisant partie du système 100 (voir Figure 20 1) et en utilisant les mêmes chiffres de référence, à l'exception d'un module de traduction 802. Les modules référencés avec des chiffres sur la Figure 8 identiques à ceux du système 100 sont reliés d'une façon analogue et fonctionnent d'une manière analogue comme expliqué sur la 25 Figure 1 et la Figure 3. [0066] Le module de traduction 802 reçoit une séquence de caractères, telle que la seconde séquence de caractères 204, provenant du module de conversion 112. Dans un mode de réalisation, le module de traduction 802 traduit ensuite 30 une première séquence de mots de la seconde séquence de caractères 204 en une séquence de mots traduite correspondante, telle qu'une seconde séquence de mots 902 en anglais, comme représenté sur la Figure 9. La Figure 9 illustre la séquence de caractères d'entrée (par exemple, la première séquence de caractères 202), la séquence de caractères de sortie (par exemple, la seconde séquence de caractères 204) et la séquence de caractères traduite (par exemple, la seconde séquence de mots 902) selon un mode de réalisation. Dans un mode de réalisation, la première séquence de mots correspond à une séquence de mots dans la seconde séquence de caractères 204. Il est entendu que la première séquence de mots peut tout aussi bien être convertie dans une toute autre langue, sans limiter la portée de la présente description. [0067] Dans un mode de réalisation, le module de traduction 802 peut être mis en oeuvre à l'aide du MOSES. Il apparaîtra à l'homme du métier que tout autre système de traduction automatique approprié (par exemple, Google® Translate, boîte à outils Google® Translator, Bine Translator et analogues) peuvent également être utilisés sans limiter la portée de la présente description. [0068] La Figure 10 est un organigramme 1000 illustrant un procédé pour traduction de langue selon un mode de réalisation. [0069] A l'étape 1002, une séquence de caractères, telle que la première séquence de caractères 202, dans une première langue est reçue en provenance de l'OCR 110. Dans un mode de réalisation expliqué ci-dessus, la première langue est l'allemand. [0070] A l'étape 1004, le premier ensemble de caractères à partir de la première séquence de caractères 202 est convertit en le second ensemble de caractères correspondant pour générer la seconde séquence de caractères 204 sur la base d'une table de recherche (par exemple, la table de recherche 118) et des scores de langue générés par le modèle linguistique 114. En outre, le procédé de conversion de la première séquence de caractères 202 en la 5 seconde séquence de caractères 204 est expliqué dans la description ci-dessus. [0071] A l'étape 1006, la première séquence de mots correspondant à la seconde séquence de caractères 204 est traduite en la seconde séquence de mots 902 dans la seconde W langue. Comme illustré sur la Figure 9, la seconde séquence de mots 902 représente une séquence de mots traduite en langue anglaise. Comme expliqué précédemment, de telles traductions peuvent être réalisées par un module de programme de système, tel que le module de traduction 15 802. [0072] Les procédés et systèmes divulgués, tels que décrits dans la présente description, ou n'importe lequel de ses composants, peuvent être mis en oeuvre sous la forme d'un système informatique. Des exemples typiques d'un 20 système informatique comprennent un ordinateur polyvalent, un microprocesseur programmé, un microcontrôleur, un élément de circuit intégré périphérique et d'autres dispositifs ou agencements de dispositifs qui sont aptes à mettre en oeuvre les étapes qui constituent le procédé de la 25 divulgation. [0073] Le système informatique comprend un ordinateur, un dispositif d'entrée, une unité d'affichage et l'Internet. L'ordinateur comprend en outre un microprocesseur. Le microprocesseur est connecté à un bus 30 de communication. L'ordinateur comprend également une mémoire. La mémoire peut être une mémoire vive (RAM) ou une mémoire morte (ROM). Le système informatique comprend en outre un dispositif de stockage, qui peut être un lecteur de disque dur ou un lecteur de stockage amovible, tel qu'un lecteur de disquette, un lecteur de disque optique, etc. Le dispositif de stockage peut également être un autre moyen analogue pour charger des programmes d'ordinateur ou d'autres instructions dans le système informatique. Le système informatique comprend également une unité de communication. L'unité de communication autorise l'ordinateur à se connecter à d'autres bases de W données et l'Internet par l'intermédiaire d'une interface d'entrée/sortie (I/O), autorisant le transfert ainsi que la réception de données provenant d'autres bases de données. L'unité de communication peut comprendre un modem, une carte Ethernet ou d'autres dispositifs 15 analogues, qui permettent au système informatique de se connecter à des bases de données et des réseaux, tels qu'un réseau local (LAN), un réseau métropolitain (MAN), un réseau étendu (WAN) et l'Internet. Le système informatique facilite des entrées d'un utilisateur par 20 l'intermédiaire d'un dispositif d'entrée, accessible au système par l'intermédiaire d'une interface I/O. [0074] Le système informatique exécute un ensemble d'instructions qui sont stockées dans un ou plusieurs éléments de stockage, afin de traiter des données d'entrée. 25 Les éléments de stockage peuvent également conserver des données ou d'autres informations si désiré. L'élément de stockage peut se présenter sous la forme d'une source d'informations ou d'un élément de mémoire physique présent dans la machine de traitement. 30 [0075] Les instructions programmables ou lisibles par ordinateur peuvent comprendre différentes commandes qui donnent instruction à la machine de traitement de réaliser des tâches spécifiques, telles que les étapes qui constituent le procédé de la divulgation. Le procédé et les systèmes décrits peuvent également être mis en oeuvre à l'aide uniquement d'une programmation de logiciel ou à 5 l'aide uniquement de matériel ou par une combinaison variable des deux techniques. La divulgation est indépendante du langage de programmation et du système d'exploitation utilisé dans les ordinateurs. Les instructions pour la divulgation peuvent être écrites dans 10 tous les langages de programmation comprenant, mais sans y être limités, « C », « C++ », « Visual C++ » et « Visual Basic ». En outre, le logiciel peut se présenter sous la forme d'une collection de programmes séparés, d'un module de programme avec un programme plus grand ou une partie 15 d'un module de programme, comme dans la divulgation. Le logiciel peut également comprendre une programmation modulaire sous la forme d'une programmation orientée objet. Le traitement de données d'entrée par la machine de traitement peut se faire en réponse à des commandes 20 d'utilisateur, des résultats d'un traitement précédent ou une requête faite par une autre machine de traitement. La divulgation peut également être mise en oeuvre dans différents systèmes d'exploitation et plateformes comprenant, mais sans y être non limités, « Unix », 25 « DOS », « Android », « Symbian » et « Linux ». [0076] Les instructions programmables peuvent être stockées et transmises sur un support lisible par ordinateur. La divulgation peut également être mise en oeuvre dans un produit programme d'ordinateur comprenant un 30 support lisible par ordinateur, le produit étant capable de mettre en oeuvre les procédés et systèmes ci-dessus, ou les nombreuses variantes possibles de ceux-ci. [0077] Le procédé, le système et le produit programme d'ordinateur, tels que décrits ci-dessus, ont de nombreux avantages. Certains de ces avantages peuvent comprendre, mais sans y être limités, une minimisation d'erreurs d'OCR 5 et une traduction automatique efficace. La sortie de l'OCR est traitée par le système et une séquence de caractères corrigée est fournie au système TA. Ainsi, une traduction correcte peut être obtenue à la sortie du système TA. Un traitement au niveau caractère (par exemple, des W corrections) de la sortie d'OCR à l'aide de la table de recherche et du modèle linguistique fournit des résultats améliorés. En outre, l'utilisation de la technique MERT pour calculer les poids relatifs des FST et du modèle linguistique aide également à obtenir des corrections de 15 qualité élevée. En outre, l'utilisation de la technique hybride s'exécute plus rapidement que les techniques basées sur FST classiques du fait que l'espace de recherche total de FST est réduit à l'aide de la table de recherche. [0078] Il sera apprécié par l'homme du métier que le 20 système, les modules et les sous-modules ont été illustrés et expliqués pour servir d'exemples et ne devraient pas être considérés comme limitatif d'une quelconque manière. Il sera apprécié que les variantes des éléments de système divulgués ci-dessus, ou modules et autres caractéristiques 25 et fonctions, ou des alternatives de celles-ci, peuvent être combinées pour créer beaucoup d'autres systèmes différents ou applications différentes. [0079] Dans un mode de réalisation, le logiciel d'OCR convertit des documents en format ASCII ; cependant, des 30 variantes de modes de réalisation peuvent utiliser différents formats électroniques courants, tels que, mais sans y être limités, XML, HTML, PDF, GIF, JPEG ou tout autre format lisible par machine. [0080] Le mot « scanner » utilisé dans la présente englobe tout appareil, tel qu'un imageur numérique, un 5 copieur et une machine multifonction, qui réalise une fonction de sortie de balayage pour un quelconque but. [0081] Ce qui est revendiqué : REVENDICATIONS1 - Procédé mis en oeuvre par ordinateur pour traiter une sortie d'un dispositif de reconnaissance optique de caractères (OCR), le procédé mis en oeuvre par ordinateur comprenant : - la reconnaissance optique de caractères d'un document électronique pour générer la première séquence de caractères ; - la réception de la première séquence de caractères provenant de l'OCR ; et W - la conversion d'un premier ensemble de caractères de la première séquence de caractères en un second ensemble de caractères correspondant pour générer une seconde séquence de caractères sur la base d'une table de recherche et de scores de langue générés par un modèle linguistique. 2 - Procédé mis en oeuvre par ordinateur selon la revendication 1, comprenant en outre le balayage d'un document pour générer un document électronique, le document 20 électronique étant optiquement reconnu par l'OCR pour générer la première séquence de caractères. 3 - Procédé mis en oeuvre par ordinateur selon la revendication 1, dans lequel la table de recherche comprend 25 une liste de caractères et un ou plusieurs seconds caractères correspondants. 4 - Procédé mis en oeuvre par ordinateur selon la revendication 3, dans lequel la table de recherche comprend 30 un ou plusieurs scores. - Procédé mis en oeuvre par ordinateur selon la revendication 4, comprenant en outre la détermination du second ensemble de caractères pour le premier ensemble de caractères à partir du ou des seconds caractères sur la base du ou des scores. 6 - Procédé mis en oeuvre par ordinateur selon la revendication 4, dans lequel le ou les scores comprennent une probabilité d'utiliser le ou les seconds caractères pour corriger un ou plusieurs caractères donnés de la liste de caractères. 7 - Procédé mis en oeuvre par ordinateur selon la revendication 1, dans lequel la conversion comprend l'implantation d'un transducteur fini (FST) correspondant à chaque caractère de la première séquence de caractères. 8 - Procédé mis en oeuvre par ordinateur selon la revendication 7, comprenant en outre l'affectation de poids au FST et au modèle linguistique à l'aide d'une technique d'apprentissage à taux d'erreur minimal (MERT). 9 - Procédé mis en oeuvre par ordinateur pour traiter une sortie d'un dispositif de reconnaissance optique de caractères (OCR), le procédé mis en oeuvre par ordinateur comprenant : - la réception d'une première séquence de caractères provenant de l'OCR ; - la conversion d'un premier ensemble de caractères à partir de la première séquence de caractères en un second ensemble de caractères correspondant pour générer une seconde séquence de caractères sur la base d'un ou plusieurs transducteurs finis (FST) correspondant à chaque caractère de la première séquence de caractères et de scores de langue générés par un modèle linguistique, des poids associés au ou aux FST et au modèle linguistique étant déterminés à l'aide d'une technique d'apprentissage à taux d'erreur minimal (MERT). - Procédé mis en oeuvre par ordinateur pour traduction de langue comprenant : la réception d'une première séquence de caractères provenant d'un dispositif de reconnaissance optique de W caractères (OCR), la première séquence de caractères étant dans une première langue ; la conversion d'un premier ensemble de caractères à partir de la première séquence de caractères en un second ensemble de caractères correspondant pour générer une seconde séquence de caractères sur la base d'une table de recherche et de scores de langue générés par un modèle linguistique, la seconde séquence de caractères étant dans la première langue ; et la traduction d'une première séquence de mots correspondant à la seconde séquence de caractères en une seconde séquence de mots dans une seconde langue.