Jean Véronis
Aix-en-Provence
(France)


Se connecter à moi sur LinkedIn Me suivre sur Twitter Facebook RSS

mardi, juin 08, 2010

Google: La reconnaiffance de caractères eft une fcience affez fûre!

... mais pas sur les textes du XVIIe siècle ! Je cherchais à relire hier soir L'Homme de Cour de Baltasar Gracián y Morales, philosophe jésuite espagnol assez peu connu du public, mais dont les oeuvres (presque immédiatement traduites en français) ont inspiré La Rochefoucauld, Voltaire, Schopenhauer, Nietzche, Lacan et Guy Debord. Le personnage, rebelle et assez cynique, n'est pas sans rappeler Machiavel — à la différence que son analyse désenchantée du pouvoir, des apparences et de la comédie sociale ne s'adresse pas au Prince mais à l'homme du commun...

Bref, je farfouille dans Google. Pure paresse, j'en conviens (j'aurais pu chercher sur Gallica, dont je suis un grand fan [1, 2], mais la lourdeur et la lenteur de l'interface ont fini par avoir raison de ma bonne volonté...). Voici donc le document qui apparaît — la numérisation d'un volume de l'Université du Michigan :


Superbe. J'étais prêt à me replonger dans les aphorismes du vieux jésuite, mais un nuage de tags assez extraordinaire m'a accroché l'œil :

Google numérise en mode texte les livres anciens ! Voilà qui est nouveau. Ou peut-être pas, mais en tout cas j'avais raté cet épisode. Cela m'a surpris parce que jusqu'ici la reconnaissance de caractères sur de tels textes posait des difficultés à peu près insurmontables (c'est pour ça que Gallica ne propose quasiment que des images pour les fonds anciens). Vous imaginez que ça a titillé quelque peu ma curiosité !

Feulement, foilà... il y a un petit problème ! Le tag cloud semble avoir été réécrit par Sylvestre (je ne parle pas d'un traducteur jésuite du XVIIe siècle, je parle du Gros minet, frapriffti fauffife !) :


Fage, feulement, favoir, fouvent, chofes, fcience... Le tag cloud est affez maffacré ! Le principal problème provient du s long : les textes de cette époque utilisaient pour le s interne aux mots une forme voisine du f. Le s que nous connaissons de nos jours n'était utilisé qu'en position finale. Cela rend la lecture malaisée pour le profane, mais avec un peu d'habitude on n'y fait plus attention.

Visiblement l'OCR n'aime pas — ce dont je me doutais ! Mais le plus étonnant est tout de même que Google ne s'en aperçoive pas, ou ignore volontairement le maffacre... Car l'utilisation qui est faite de ces numérisations en mode texte maffacré semble maffive ! Le texte ainsi maltraité est indexé tel quel dans le moteur et l'index est pollué de façon majeure. Pour avoir une idée de l'ampleur des dégâts, tapez par exemple la requête +feulement +favoir (le + force le mot dans sa forme exacte sans correction orthographique). Vous tombez sur l'Encyclopédie de Diderot et d'Alembert et 272 000 résultats au total :


Voilà qui m'épate tout de même ! Apparemment des dizaines de milliers d'ouvrages anciens ont déjà été numérisés avec ce bug. Personne ne regarde le résultat chez Google ? Je conviens que la numérisation des documents anciens en mode texte est difficile (je ne la pensais même pas possible). Mais sur ce cas d'espèce il suffirait déjà de redresser tous les mots qui n'apparaissent pas dans le dictionnaire (comme fcience ou jurifprudence), mais se rapprochent d'un mot existant en substituant un s au f pour résoudre la moitié des problèmes. Une approche légèrement plus ambitieuse basée sur la probabilité des bigrammes ou trigrammes de mots résoudrait la plupart des autres cas, comme feulement, qui est aussi un mot du français (le feulement des fauves)...

Tiens, je vais leur proposer mes services !

En attendant, si vous voulez une version plus lisible, en orthographe et typographie moderne, de cet Homme de cour, j'en ai trouvé une ici.

23 Commentaires:

Blogger TOMHTML a écrit...

Pour corriger ce problème, il faudrait déjà posséder une bonne liste de bigrammes et mots...datés de cette époque ! Même pour Google, pas sur qu'ils aient ceci en stock.

De plus, Google a racheté reCAPTCHA il y a quelques temps, qui permet non seulement de déterminer si l'utilisateur est un être humain ou pas mais aussi permet d'améliorer grandement les capacités de reconnaissance de caractères ! (puisque c'est vous qui faites le boulot lorsqu'on vous présente de mots tout droit issus de livres numérisés). Dès lors, si tu montres un mot comme ça à l'utilisateur, sans contexte, l'internaute répondra à coup sur que la lettre qu'il voit est un "f" et non un "s" ;-)

Merci de m'avoir fait découvrir cette exception de la langue française de l'époque que je ne connaissais pas.

08 juin, 2010 10:09  
Blogger Jean Véronis a écrit...

Tom> Je pense qu'on obtiendrait déjà d'assez bons résultats en amorçant le système avec des fréquences tirées de textes littéraires des XIXe et XXe (il y en a pas mal disponibles: ABU, Gutenberg, Gallica). Ensuite, il y a des techniques d'estimation-réestimation assez simples qui devraient permettre d'auto-améliorer les probabilités au fur et à mesure que la numérisation avance... Je suis assez confiant.

Oui, j'ai vu l'histoire du recaptcha. Génial !

08 juin, 2010 10:17  
Anonymous Rémi Camus a écrit...

Quid des ligatures: devant "i" - "fi, ti" etc., devant "t" - "st", "ct" etc.). La page wikipedia donne une bonne idée de l'existant, et des problèmes que cela peut poser à la reconnaissance des caractères ("fi" interprété "H" etc.)

08 juin, 2010 12:29  
Blogger Jean Véronis a écrit...

Rémi> Ouin, c'est évident. C'est pour ça que la reco sur les textes anciens est un challenge (sans parler de la grande variabilité des caractères, du papier altéré, etc.).

08 juin, 2010 12:34  
Blogger Charles a écrit...

L'informatique permet même de conſerver la typographie d'origine en utiliſant le ſ à ſa place plutôt que de le remplacer par un f incongru.

08 juin, 2010 14:54  
Blogger Jean Véronis a écrit...

C B> Oui, c'est vrai, et il y a même toutes les ligatures qu'il faut dans unicode.

Ceci étant, le codage se discute. Doit-on code la forme ou la lettre (s en l'occurrence). Pour des problèmes de search, il faut finalement avoir "s"...

08 juin, 2010 14:57  
Blogger Charles a écrit...

C'est amusant de voir que si vous cherchez ſeulement google reconnait tout de suite qu'il s'agit bien de seulement. C'est un problème surmontable.

08 juin, 2010 15:03  
Blogger Jean Véronis a écrit...

Oui, avec le caractère ſ. Et idem avec xeulement, zeulement etc. Magie de la correction orthographique. Mais feulement renvoie le cri des fauves...

08 juin, 2010 15:14  
Anonymous Anonyme a écrit...

Je découvre avec grand plaisir votre blog (à partir d'une recherche sur le poisson d'avril), et je me permets de mettre mon grain de sel. Google semble bien identifier le caractères ſ au s: les résultats pour "ſeulement" sont identiques à ceux pour "seulement", ce qui n'est pas le cas de "xeulement" (ou intervient la correction orthographique).

08 juin, 2010 16:18  
Anonymous Acer11 a écrit...

Sur Wikisource, on numérise doucement le Dictionnaire de Trévoux, nous avons pris le parti de remplacer le « s » long par un normal, d'enlever l'espace avant la virgule, etc... via un script et des regexp dont l'affinage avance lentement (plus par manque de temps que par difficulté). Nous gardons les finales et les désinences en « vieux françois ».

Bien d'autres lettres posent problème : le « t » est difficile à différencier du « r » par ex. ...

http://fr.wikisource.org/wiki/Dictionnaire_universel_françois_et_latin,_6e_édition_(1771)

http://fr.wikisource.org/wiki/Livre:Dictionnaire_de_Trévoux,_1771,_I.djvu

Quand la reconnaissance de caractère donne une faute d'orthographe, la correction automatique peut être envisagée. Mais quand elle donne un mot qui existe, la correction demande une analyse contextuelle : « faut » ou « saut » ? « félon » ou « selon » ? « fécond » ou « second » ? « font » ou « sont » ?

Parfois le s long est interprété comme un l : « acculer » ou « accuser » ? « balle » ou « basse » ?

Et il y en a bien d'autres !

Si le cœur vous en dit d'essayer, jetez un œil sur :

http://fr.wikisource.org/wiki/Discussion_Livre:Dictionnaire_de_Trévoux,_1771,_I.djvu.

Merci pour vos intéressants billets.

08 juin, 2010 16:25  
Blogger Jean Véronis a écrit...

Anonyme> Bienvenue et merci de votre indulgence !

Je pense en effet que Google a une table de conversion entre caractères pour les requêtes. Ce n'est pas le cas dans l'OCR visiblement, car la forme indexée est bien Feulement. Donc on a beau taper ſeulement dans la requête, on ne trouvera pas Feulement...

08 juin, 2010 18:52  
Anonymous Neville a écrit...

A propos de la confusion entre S long et f, il me semble bien que les "lapalissades" en proviennent aussi :

Quelqu'un peut-il me donner une source de ce qu'on m'a toujours raconté à ce sujet ?

Le Maréchal de La Palisse ayant vécu et étant mort héroïquement, ses soldats composèrent en son honneur une chanson, dans laquelle se seraient trouvés les vers suivants : " (...) s'il n'était pas mort, il ferait encore envie"

Un f pris pour un s long et un espace opportunément placé au milieu d'"envie" et ce serait devenu "s'il n'était pas mort, il serait encore en vie", et l'amorce pour toutes les vérités premières était lancée.

Le Maréchal de la Palisse n'y était donc pour rien, mais son nom resterait accolé à l'énonciation d'évidences à cause de cette confusion, volontaire ou pas.

08 juin, 2010 23:05  
Anonymous Neville a écrit...

Une petite recherche rapide sur "lapalissade " me confirme que Wikipedia
( http://fr.wikipedia.org/wiki/Lapalissade )
cite également cette origine, mais sans que l'auteur de cette page précise exactement où on peut trouver les références de cette chanson à la gloire de La palisse, détournée et servant plutôt désormais à le tourner en ridicule.

Quelqu'un aurait-il des références plus fiables ?

08 juin, 2010 23:13  
Blogger Jean Véronis a écrit...

Neville> L'histoire est, je crois, bien plus compliquée :

cf. L'Intermédiaire des chercheurs et curieux (1904)

p.373

08 juin, 2010 23:35  
Blogger Jean Véronis a écrit...

ps/ et sur La Galisse (la chanson originale) voir dans les Managiana de Gilles Ménage (1693).

Il y aurait un joli billet à faire la dessus !

08 juin, 2010 23:43  
Blogger Unknown a écrit...

Cher Monsieur,

La numérisation en mode texte de Google n'est pas nouvelle mais elle est extrêmement mauvaise. Sans doute plus mauvaise que celle de Gallica.

Des expériences d'OCR sur des textes anciens sont en cours, notamment à la Bibliothèque royale des Pays-Bas, qui travaille toutefois essentiellement sur des textes de la fin du XVIIIe.

C'est pour pallier cette difficulté que la BnF a tenté une expérimentation - dont vous avez certainement dû entendre parler - avec Wikimédia France pour la correction collaborative de textes de Gallica.

Vous trouverez les détails ici :
http://www.bnf.fr/documents/cp_wikimedia.pdf
http://alatoisondor.wordpress.com/2010/04/07/wikimedia-france-signe-un-partenariat-avec-la-bnf/

et me tiens à votre disposition si vous avez des questions.

RM
Conservateur des bibliothèques
Membre du conseil d'administration de Wikimédia France

09 juin, 2010 11:23  
Anonymous estellebeaurivage a écrit...

Puisque l'étude des lettres(V,S,F) semble vous interesser à plusieurs titres, je me permets de vous conseiller la lecture de "Recherches sur l'Y" de Pierquin de Gembloux. Ed.La tour de Babel. 1844.
Ce célèbre fou littéraire, auteur, entre autres, de "De l'Arithmétique Politique de la Folie" et d'un "Glossaire ouistiti" est à l'origine d'une virulante polémique sur l'Y. Vous en trouverez des extraits sur Google.
(votre blog est une jubilation)

09 juin, 2010 12:03  
Blogger Béranger a écrit...

Mais non, Monsieur, le lien vers Scribd me déplaît. Pourquoi pas l'original ? C'est par ici :
http://beq.ebooksgratuits.com/Philosophie/index.htm.

Ou bien: Gracian-cour.pdf, Gracian_Lhomme_de_cour.epub.

10 juin, 2010 11:15  
Anonymous cdr-pdf a écrit...

Google tué par la typographie ancienne !

11 juin, 2010 16:14  
Anonymous Zeck a écrit...

Comme il est bon de chausser parfois des yeux de peintre, il est parfois utile de lire en se déchaussant les dents.

09 juillet, 2010 11:39  
Blogger Le Chaland qui passe a écrit...

Bonjour,
Visiteur irrégulier de votre passionnant blog, je tombe avec étonnement sur ce billet. En effet, le s long et le f ne sont pas le même signe typographique (en général, la barre du s long est soit très peu marquée, soit marquée sur la gauche, alors que celle du f est traversante.)
Les logciels d'OCR ne peuvent-ils pas être tout simplement paramétrés pour distinguer ces 2 signes ?

07 août, 2010 15:30  
Blogger Jean Véronis a écrit...

Jean Philippe> Si, bien sûr, il faudrait régler le logiciel d'OCR pour ce type de caractère, très présent dans les documents anciens... Ce qui est étonnant c'est que Google se lance dans la numérisation massive d'ouvrages anciens sans ce préliminaire indispensable, et surtout sans que personne chez eux ne regarde même le résultat ni ne se préoccupe du fait qu'ils engrangent des millions de pages absurdes...

07 août, 2010 15:37  
Anonymous Didier S. a écrit...

Bonjour, merci pour votre blog passionnant. Je vous trouve sur ce coup très partial en faveur de Gallica. C'est une catastrophe ! Cela fait longtemps que je n'y suis pas allé, mais de mémoire (dernière recherche faite sur des poèmes huguenots anciens il y a quelques années), Gallica ne faisait pas mieux. Si encore il n'y avait que le s long, l'oeil arrive à essayer systématiquement le s quand il rencontre un f. Je me souviens de bouillies infâmes sur des mots très clairement typographiés et sans ligature ou caractère désuet. Seules les fichiers images (au téléchargement sénatorial) étaient lisibles. Que Google ne se préoccupe pas sérieusement des livres du XVIIe s. est moins étonnant que pour la BNF.

06 octobre, 2010 22:55  

Enregistrer un commentaire