RECONNAISSANCE DES ÉCRITURES MANUSCRITES : ÉTAT DE L’ART ET MISE EN OEUVRE Paris - 29 mai 2018 Christopher Kermorvant - A2iA - TEKLIA RECONNAISSANCE D’ÉCRITURE ? Quand je dis que suis suis chercheur en reconnaissance d’écriture manuscrite : Je croyais que c’était un problème résolu. Plus personne n’écrit à la main. Aucune machine ne peut déchi!rer l’écriture manuscrite MNIST 0.23% d’erreur SHORT HISTORY OF HANDWRITING RECOGNITION La reconnaissance d’écriture est un des plus vieux défis de l’IA Les performances de la machine sont encore loin derrière celles de l’humain RAND corporation, 1960 The MNIST database “The drosophila of machine learning” Geoffrey Hinton! EST-CE QUE CA MARCHE ? Première partie : avec des outils “sur étagère” Google cloud visio API https://cloud.google.com/vision/docs/drag-and-drop Microsoft Cognitive Services EST-CE QUE CA MARCHE ? Text imprimé (électronique) Différentes fontes Différentes couleurs Logos EST-CE QUE CA MARCHE ? EST-CE QUE CA MARCHE ? Texte manuscrit récent (1981) Robert Badinter. Discours sur l'abolition de la peine de mort. http://gallica.bnf.fr/ark:/12148/btv1b8571107s/f9.item EST-CE QUE CA MARCHE ? Localisation du texte Reconnaissance du texte EST-CE QUE CA MARCHE ? Archives nationales, JJ 090 Registre du Trésor des chartes années [1354] 1357-1360 1361 http://bvmm.irht.cnrs.fr/mirador/index.php? manifest=http://bvmm.irht.cnrs.fr/iiif/23678/manifest EST-CE QUE CA MARCHE ? Localisation du texte Reconnaissance du texte UNE BRÈVE HISTOIRE DE LA RECONNAISSANCE D’ÉCRITURE 1970 - 1990 : Les approches analytiques Segmenter Mesurer 1990 - 2000 : Les approches statistiques Classifier SHORT HISTORY OF HANDWRITING RECOGNITION 2010 - : Les approches Deep Learning Segmenter Mesurer Apprendre/Classifier EST-CE QUE CA MARCHE ? Deuxième partie : dans les laboratoires de recherche Evaluations internationales Pages complètes Mots isolés : EST-CE QUE CA MARCHE ? Evaluations internationales Taux d’erreur mot 40 Mots isolés Pages complètes 1 humain 2 humains 30 20 10 0 2005 2007 2009 2010 2011 2013 2015 Reconnaissance des mots et pages en arabe manuscrit EST-CE QUE CA MARCHE ? DERNIÈRE ÉVALUATION READ : 2016 ET 2017 ! Document issus de la collection Ratsprotokolle (1470 à 1805) en allemand. ! Lettres de la collection Alfred Escher en allemand Figure 1. Document samples. The image on the left belongs to the Alfred Escher Letter Collection and the image on the right belongs to a different propose The ob at char high. I German this lan Part of used in th but it in French, I training a PAGE fo for the co The tra HANDWRITING RECOGNITION : DOES IT WORK ? 2016 2017 Taux d’erreur mot 50 50 Moins de données d’entrainement 46 25 21 0 RWTH 21 BYU 22 A2iA 26 45 25 LITIS PARISTECH 19 0 BYU 22 LITIS PARISTECH ! Tous les systèmes sont basés sur le Deep Learning ! Les systèmes peuvent être entrainés avec moins de données ! Un taux plancher de 20% d’erreur RECONNAISSANCE D’ÉCRITURE : EST-CE UTILE (AVEC CE TAUX D’ERREUR) Manuscrits de Jeremy Bentham : 70 000 pages Transcription par des experts humains : 67 ans RECONNAISSANCE D’ÉCRITURE : EST-CE UTILE (AVEC CE TAUX D’ERREUR) Crowdsourcing (2010) Transcription par des volontaires : 27 ans RECONNAISSANCE D’ÉCRITURE : EST-CE UTILE (AVEC CE TAUX D’ERREUR) Word Error Rate (%) Reconnaissance automatique (2014) 15 10 5 0 https://read.transkribus.eu LIMSI1 CITLAB LIMSI2 A2IA Evaluation ICFHR 2014 Transcription par une machine : 24 heures Mais le texte doit encore être validé manuellement THE HIMANIS PROJECT European Research Project (JPI) 2015-2018 ! Objectifs : donner aux historiens de nouveaux outils pour exploiter un corpus de registres manuscrits : les registres de la chancellerie française (1300 - 1483) ! La technologie : ! Reconnaissance automatique d’écriture et indexation profonde ! Interface de recherche controlée par l’utilisateur DEEP LEARNING POUR LA RECONNAISSANCE D’ÉCRITURE descort, c’est assavoir que li diz sires de Harecourt dysoit et maintenoit que deux miles livres à tournois de rente annuelle et perpetu elle que li diz sires de Partenay li avoit promises et données pour cause dou dit mariage, à avoir du dit seigneur de Harecourt après le deceps du dit seigneur de Partenay, ou cas que il auroit hoir ou hoirs mâles, et le cas se estoit jà offert, li devoient estre assises à Chas Images de lignes de texte Texte DEEP LEARNING POUR LA RECONNAISSANCE D’ÉCRITURE Modèle optique : reconnait les formes Texte Images de lignes de texte Back-propagation DEEP LEARNING POUR LA RECONNAISSANCE D’ÉCRITURE Modèle de langue : modélise les statistiques linguistiques Unigram Seigneur Bigram #Seigneur Trigram ##Seigneur Représenté dans un automate stochastique Entrainé sur un corpus de texte électronique (pas besoin d’images) ABRÉVIATIONS ! ~30% des mots sont abrégés (60% pour le latin) Chevalier Guillaume ! La vérité terrain est généralement modernisée, avec abréviations résolues ! La langue (français/latin) n’est pas explicitée DEEP LEARNING POUR LA RECONNAISSANCE D’ÉCRITURE Modèle optique + modèle de langue : ! Bonne nouvelle n°1 : le système apprend les abréviations ! Bonne nouvelle n°2 : le modèle de langue multilingue DEEP LEARNING POUR LA RECONNAISSANCE D’ÉCRITURE Transcrit (0.5%) Entrainement Periode Non transcrit Evaluation Corpus 1302-1361 1302-1483 Nombre d’actes 341 95 68 000 Lignes 6 061 1 733 2 692 339† Mots 117 709 33 097 39 623 581† † estimated ins 11 % Taux d’erreur caractère en test: 18% del 52 % subs 37 % COMMENT FAIRE L’INDEXATION AVEC 20% D’ERREUR ? Première solution : utiliser la transcription brute et indexer HIMANIS Paris-2017 meeting les caractères g & Search: Precision-Recall Tradeoff Model 1 quality be : Hautecan précision cision (⇡ ) & recall of the retrieved call is high if most ts are retrieved. e indexed, you’d th ⇢ = ⇡ = 1. 0.8 Precision: π les résultats sont bons mais peu nombreux Haut rappel : les résultats sont nombreux mais souvent faux 0.6 0.4 Perfect (AP=1.0) Aut. Transcript (AP=0.6) 0.2 0 0 0.2 0.4 0.6 Recall: ρ 0.8 1 COMMENT FAIRE L’INDEXATION AVEC 20% D’ERREUR ? Donner à l’utilisateur le contrôle sur précision/rappel HIMANIS Paris-2017 meeting & Search: Precision-Recall Tradeoff Model Définition d’un seuil 1 uality can be ision (⇡ ) & recall e indexed, you’d th ⇢ = ⇡ = 1. 0.8 Precision: π of the retrieved all is high if most s are retrieved. High confidence theshold 0.6 0.4 Perfect (AP=1.0) Aut. Transcript (AP=0.6) Prob. Index (AP=0.8) 0.2 Low confidence threshold 0 0 0.2 0.4 0.6 Recall: ρ 0.8 1 COMMENT FAIRE L’INDEXATION AVEC 20% D’ERREUR ? 1ère idée : demander au reconnaisseur de multiples hypothèses de reconnaissance ➤ Augmenter le rappel ➤ Augmenter la précision par un meilleur score MULTIPLES HYPOTHESES Meilleure hypothèse et maintenoit que deux miles Multiple hypothèses : treillis de caractères CARTE DE PROBABILITÉ 2ème idée : calculer une carte probabilité de présence des caractères recherchés Indexing & Search HIMANIS Paris-2017 meeting Probabilistic Word Indexing from the Posteriorgram P X Directly computing and using a full pixel-level posteriorgram would entail a formidable computational load and would require prohibitive amounts of indexing storage. PROBABILITÉ CALCULÉE SUR LE TREILLIS D’HYPOTHÈSES q4 α(q4 ) f t o o q3 β(q3 ) a f b @ @ b k @ e e e e α(q5 ) q5 α(q6 ) q6 f o f t α(q1 ) q2 t q1 t q7 o a r a β(q8 ) q8 @ r y S(cv , x, i) t(q4 ) t(q1 ) t(q2 ) t(q3 ) t(q6 ) t(q5 ) t(q7 ) t(q8 ) Top: A small, partial example of CL for a handwritten text “to be for”. The edge sequence paths: {(q1 , q2 ), (q2 , q3 )}, {(q4 , q2 ), ( 7 ), (q7 , q8 )} and {(q6 , q7 ), (q7 , q8 )} (in dashed red lines) correspond to the query character sequence: cv = “to”. The “@” symbol stand space character. Bottom: Corresponding posteriorgram-like frame-level function S(cv , x, i). Note that the score S(”to”, x, i) is not negligib l where the word “for” appears in the image. However is much lower than in the correct interval where “to” is actually written. thm 1 Comput. of the frame-level score: S(cv , x, i) puting the frame-level character sequence score S fo INDEXATION AVEC CONTRÔLE RAPPEL/PRÉCISION Indexing & Search 1 1 0.8 0.8 Haut rappel : les résultats sont 0.6 nombreux mais souvent 0.4 faux 0.6 Precision: π Haute précision : les résultats sont bons mais peu nombreux Precision: π Chancery Probabilistic Index Evaluation: Lab 0.4 5grm 3grm 0grm HTR 0.2 0 0 AP=0.75 AP=0.69 AP=0.62 AP=0.58 0.2 mAP=0.68 mAP=0.61 mAP=0.52 mAP=0.44 0.4 5gr-la 5gr 5gr-fr HTR 0.2 0.6 0.8 1 0 0 AP=0.86 AP=0.84 AP=0.80 AP=0.69 m m m m 0.2 0 Recall: ρ Left: Recall-Precision results for different character N -gram models (0g R-P point (HTR) is also shown for the 1-best recognition hypotheses with LA DETECTION DU TEXTE : ENCORE À AMÉLIORER Lignes manquées Lignes mal détectées UN ORDINATEUR PEUT-IL LIRE L’ÉCRITURE MANUSCRITE ? ➤ Un système à base de réseau de neurones profond peut lire les écritures manuscrites médiévales ➤ Une indexation complète est possible même si le taux d’erreur est élevé grâce à des hypothèses multiples ➤ La détection du texte est une étape critique et encore à améliorer ➤ L’évolution de l’écriture dans les registres doit être prise en compte ➤ L’évaluation de la qualité est un enjeu majeur EST-CE TRANSPOSABLE À D’AUTRES CORPUS ? A priori, oui Mais, avec quelle performance ? Il faut évaluer les facteurs favorables et défavorables EST-CE TRANSPOSABLE À D’AUTRES CORPUS ? Critère Point Corpus disponible en IIIF +2 Numérisation uniforme (microfilm, image NB, images couleur) +1 Numérisation uniforme en simple/double page +1 Mise en page uniforme dans le corpus +1 Complexité de la mise en forme Pages de texte :+1 Tables : 0 Mixte : -1 EST-CE TRANSPOSABLE À D’AUTRES CORPUS ? Critère Langue : simple ou multiple Transcriptions disponibles Point Peu d’impact 1 point par lot de 100 pages Localisation des lignes de texte disponible +1 Corpus textuel similaire disponible +1 Dans tous les cas, la machine apprend à partir d’exemples annotés par les humains. Plus les documents sont hétérogènes, plus il faudra d’exemples pour apprendre la diversité. COMMENT METTRE EN OEUVRE CES TECHNIQUES ? Ne pas sous-estimer le travail humain : la machine apprend à partir d’exemples annotés. Le gain est dans le passage à l’échelle : pas de gain sur des petits corpus. COMMENT METTRE EN OEUVRE CES TECHNIQUES ? Créer une équipe mixte informaticiens / historiens Si possible au même endroit COMMENT METTRE EN OEUVRE CES TECHNIQUES ? Le processus de développement est itératif autour des données VERS UNE ARCHITECTURE RÉ-UTILISABLE Version 1 : développements spécifiques HIMANIS beta Transcription A2iA Indexation UPV Version 2 : IIIF et open-source Serveur IIIF image Transcription A2iA Indexation UPV Moteur d’indexation Elastic Search IIIF viewer Mirador DÉVELOPPEMENT D’UNE API Résultats par actes Intégration des numéros d’actes et de leur localisation sur les pages DÉVELOPPEMENT D’UNE API - IIIF A!chage dans Mirador Position des actes Mots indexés [email protected]