1 / 50

Joseph Chazalon Direction : Bertrand Coüasnon et Jean Camillerapp

Interprétation contextuelle et assistée de fonds d’archives numérisés : Application à des registres de ventes du XVIII e siècle. Joseph Chazalon Direction : Bertrand Coüasnon et Jean Camillerapp. Collaborateurs : Laurent Guichard , Aurélie Lemaitre , Alejandro Toselli. PRES.

emera
Download Presentation

Joseph Chazalon Direction : Bertrand Coüasnon et Jean Camillerapp

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interprétation contextuelle et assistée de fonds d’archives numérisés :Application à des registres de ventes du XVIIIe siècle Joseph Chazalon Direction : Bertrand Coüasnon et Jean Camillerapp Collaborateurs : Laurent Guichard, Aurélie Lemaitre, Alejandro Toselli PRES Financement Organismes de recherche Équipe illustrations : xkcd.com

  2. Introduction Contexte sociétal et scientifique Avantages • Protéger des contenus fragiles • Diffuser des contenus rares • Valoriser le patrimoine documentaire Étapes Dématérialisation de fonds d’archives Documents papier Utilisateur

  3. Introduction Exemple de données : séquestres révolutionnaires Numéro de vente Ancienpropriétaire Acquéreur

  4. Introduction Exemple de besoin • Extraction du contenu • Localisation et reconnaissance • Production de résultats prêts pour l’indexation • Interprétation sémantique

  5. Introduction Difficultés des fonds d’archives (1/2) Dégradations : exemples 3 2 Courbure liée à la numérisation Pliures Traversée d’encre Tâches Variabilités : exemples Mélange de styles d’écriture Changementde structure Changementde scripteur

  6. Introduction Difficultés des fonds d’archives (2/2)  Conséquences • Dégradations • + • Variabilités • + • Cas particuliers • Ambiguïté • + • Impossibilité d’anticiper tous les cas

  7. Introduction Quelles connaissances les humains utilisent-ils ? 1 2 Connaissances à priori Connaissancescontenuesdans l’image • Perception de l’image • Interprétation contextuelledes éléments Lecteur 3 Connaissances issues du contexte documentaire roY Stabilitéstructurelle rOy Roy Redondances 1 ? 3 Séquences

  8. État de l’art Interprétation automatique de fonds documentaires • Limites de l’interprétation de pages isolées Mise au point Coût en amont Concepteur Programme d’interprétationde page Image Résultat p1 ! Correction Opérateur Validation p2 OK Correction p3 ! Coût en aval

  9. État de l’art Notre objectif • Intégrer plus de connaissances lors de l’interprétation Système plus robuste Mise au point Concepteur Programme d’interprétationde page Image Résultat Moins d’erreurs roY rOy Interdépendance + humains  Apport asynchrone d’informations externes Roy

  10. État de l’art Plan • Introduction • Résumé de l’état de l’art • Formalisation des connaissances • Exploitation du contexte documentaire • Interaction avec des opérateurs humains • Positionnement de notre approche • Contribution : interprétation itérative • Validation expérimentale et en production • Conclusion et perspectives

  11. État de l’art Formalisation des connaissances (1/2) Approches algorithmiques [Tang94, O’Gorman95, Clavier04, Shafait06] • Trop figées Concepteur  programme … image.binariser(SEUIL); couche1 = image.extraireComposantes(); couche1.appelOCR(LEXIQUE); … Approches statistiques Amorçage difficile Expressivité limitée [LeBourgeois01, Montreuil09] Concepteur  entraînement Exemples Apprentissage Programme d’interprétation Modèle P(« zone texte » | « texte à gauche ») = …

  12. État de l’art Formalisation des connaissances (2/2) Approches déclaratives [Vaxivere92, Tang95, Pasternak95, Couasnon96, Marriott98] • Extensibles mais • Sensibles aux dégradations et à la variabilité Concepteur courrier  @(hautPage) expediteur @(sous expediteur) objet … Écriture Description Concepteur  description Compilation Programme d’interprétation

  13. État de l’art Plan • Introduction • Résumé de l’état de l’art • Formalisation des connaissances • Exploitation du contexte documentaire • Interaction avec des opérateurs humains • Positionnement de notre approche • Contribution : interprétation itérative • Validation expérimentale et en production • Conclusion et perspectives

  14. État de l’art Exploitation du contexte documentaire Approches avec classification du type de document [Klein04, Lamiroy12] • Pas d’exploitation globale des données Type Traitement Image Image Image Approches à interprétation globale Fiabilisation des résultats locaux mais Pas de réinjection locale de l’information [Lin97, Saund11, Xui12] Global 1 2 3 4 4 2 Local 1 3

  15. État de l’art Plan • Introduction • Résumé de l’état de l’art • Formalisation des connaissances • Exploitation du contexte documentaire • Interaction avec des opérateurs humains • Positionnement de notre approche • Contribution : interprétation itérative • Validation expérimentale et en production • Conclusion et perspectives

  16. État de l’art Interaction avec des opérateurs humains Traitements initiés par l’humain [Bapst96, Ramel07, Vidal08, Llados08] • Résultat optimal en théorie mais • Interaction synchrone • Détection manuelle des erreurs Humain  Détecte les erreurs Traitements initiés par la machine Sollicitation asynchrone parcimonieuse mais Détection d’erreur automatique faillible [Ogier98, Robadey01, Klein04] Humain  Répond aux sollicitations

  17. État de l’art Positionnement de notre approche Formalisation des connaissances •  Extension des approches déclaratives Exploitation du contexte documentaire • Interprétation globale • Ajout d’un mécanisme de réintégration (fusion) global  local Interaction avec des opérateurs humains • Traitements initiés par la machine (questions)mais possibilité d’accepter un guidage par l’humain • Gestion automatique d’échanges asynchrones

  18. Contribution Plan • Introduction • Résumé de l’état de l’art • Contribution : interprétation itérative • Interprétation itérative • Extension d’une approche déclarative3 étapes • Validation expérimentale et en production • Conclusion et perspectives

  19. Contribution Interprétation itérative (1/4) Traitement page par page Module d’interprétation de page Image Résultat

  20. Contribution Interprétation itérative (2/4) Collecte globale des résultats Traitement Déchargement programme Collecte des résultats Niveau global / fonds Niveau local / page Module d’interprétation de page

  21. Contribution Interprétation itérative (3/4) Interprétation globale Exploitation du contexte documentaire Interaction avec desopérateurs humains Julien Idem Niveau global / fonds Niveau local / page roY rOy Résultat Résultat Résultat Résultat Résultat Résultat Roy

  22. Contribution Interprétation itérative (4/4) Réinterprétation locale avec des informations globales Nouvelle interprétation complète avec les données externes Production de nouveaux résultats Niveau global / fonds Niveau local / page Module d’interprétation de page « Idem »

  23. Contribution Notre mise en œuvre d’une approche itérative (1/11) Adapter une approche déclarative Concepteur Extension en 3 étapes Écriture • 1. Mémoire visuelle • Support de la communication avec l’environnement Description Compilation • 2. Langage de description • Introduire de nouveaux opérateurs d’interaction Module d’interprétation de page Image Résultat • 3. Architecture à deux niveaux • Niveau global : collecte et distribue les données • Niveau local : produit et exploite les données Mémoire visuelle Mémoire visuelle Niveau global

  24. Contribution Notre mise en œuvre d’une approche itérative (2/11) Mémoire visuelle Niveau global type: number value: 1112 type: number value: 1112 type: number value: 1112 • Propriétés • Donnée  Localisation • 1 mémoire / page • Modifiée localement et globalement type: column value: prevOwner type: column value: prevOwner Image de page ? type: number value: ??? type: number value: ??? type: number value: ??? ? ? Modification externe  Changement du comportement local <xml/> Mémoire Visuelle Mémoire Visuelle Module d’interprétation de pages Résultat ? type: number value: 1114 type: number value: 1114 type: number value: 1114 ? ? type: number value: 1115 type: number value: 1115 type: number value: 1115

  25. Contribution Notre mise en œuvre d’une approche itérative (3/11) Adapter une approche déclarative Concepteur Extension en 3 étapes Écriture • 1. Mémoire visuelle • Support de la communication avec l’environnement Description Compilation • 2. Langage de description • Introduire de nouveaux opérateurs d’interaction Module d’interprétation de page Image Résultat • 3. Architecture à deux niveaux • Niveau global : collecte et distribue les données • Niveau local : produit et exploite les données Mémoire visuelle Mémoire visuelle Niveau global

  26. Contribution Notre mise en œuvre d’une approche itérative (4/11) Exemple de description Description SANS interaction page  @(colonneAncienProp) lireTousLesNoms("inconnu") lireTousLesNoms(precedent) @(detecterNom) nom = lireNom(precedent) @(dessous) LOOP(lireTousLesNoms(nom)) lireNom(precedent)  reco = reconnaitNom res = (si reco=="IDEM" alorsprecedent sinon reco) Cure de Savigny Julien Cure de Savigny Cure de Savigny Julien Cure de Savigny Julien Sans interaction : résultat peu fiable  propagation d’erreur

  27. Contribution Notre mise en œuvre d’une approche itérative (5/11) Nouveaux opérateurs de description Description AVEC interaction Détection des erreurs page  @(colonneAncienProp) lireTousLesNoms("inconnu") lireTousLesNoms(precedent) @(detecterNom) nom = CATCH(lireNom(precedent), T_NOM) @(dessous) LOOP(lireTousLesNoms(nom)) lireNom(precedent)  reco = TRY(reconnaitNomINT, T_NOM) res = (si reco=="IDEM" alorsprecedent sinon reco) reconnaitNomINT reconnaitNom ou RAISE_QUESTION("Quel est le nom de cet ancien propriétaire ?", T_NOM) RAISE_QUESTION(Question, Type) : Ajouter position  (Question, Type) en mémoire visuelle Poursuivre (éventuellement) l’interprétation Fusion d’informations externes TRY(Règle, Type) : Si donnée : Type  mémoire visuelle,alors l’utiliser directementsinon appeler Règle et conserver le résultat en mémoire visuelle Reprise sur erreur CATCH(Règle, Type ) : Reprendre l’interprétation si une information de type Type est demandée dans Règle Mécanisme proche de la gestion d’exceptions

  28. Contribution Notre mise en œuvre d’une approche itérative (6/11) Progression au cours des itérations Itération 1 : Traitement Interaction asynchrone Description AVEC interaction Itération 2 : … Traitement page  @(colonneAncienProp) lireTousLesNoms("inconnu") lireTousLesNoms(precedent) @(detecterNom) nom = CATCH(lireNom(precedent), T_NOM) @(dessous) LOOP(lireTousLesNoms(nom)) lireNom(precedent)  reco = TRY(reconnaitNomINT, T_NOM) res = (si reco=="IDEM" alorsprecedent sinon reco) reconnaitNomINT reconnaitNom ou RAISE_QUESTION("Quel est le nom de cet ancien propriétaire ?", T_NOM) T_NOM(« Cure de Savigny ») Cure de Savigny Q(« Quel est ce nom ? », T_NOM) T_NOM(« IDEM ») Cure de Savigny INCONNU T_NOM(« IDEM ») Cure de Savigny INCONNU T_NOM(« IDEM ») INCONNU Cure de Savigny Avec interaction : correction des erreurs au plus tôt  propagation limitée

  29. Contribution Notre mise en œuvre d’une approche itérative (7/11) Exemple d’échange entre le niveau local et le niveau global Itération 1 : traitement Itération 1 : interaction asynchrone Niveau global Niveau global Module d’interprétation de page Traiter page 1 Répondre questions {} page1,zone2 Q("Quel est ce nom?", T_NOM) (retour) page3,zone1 Q("Quel est ce nom?", T_NOM) page3,zone2 Q("Quel est ce nom?", T_NOM) zone1  T_NOM("CURE_DE_SAVIGNY") zone2  Q("Quel est ce nom?", T_NOM) zone3  T_NOM("IDEM") zone4  T_NOM("IDEM") page4,zone1 Q("Quel est ce nom?", T_NOM) (retour) Module d’interprétation de page page1,zone2 T_NOM("IDEM") roY page3,zone1 T_NOM("BRUNEL") page3,zone2 T_NOM("COCHARD") Traiter page 2 rOy page4,zone1 T_NOM("IDEM") Roy {} (retour) zone1  T_NOM("PIGIS") …

  30. Contribution Notre mise en œuvre d’une approche itérative (8/11) Exemple d’échange entre le niveau local et le niveau global Itération 2 : traitement etc. Niveau global Module d’interprétation de page Traiter page 1 zone1  T_NOM("CURE_DE_SAVIGNY") zone2  T_NOM("IDEM") zone3  T_NOM("IDEM") zone4  T_NOM("IDEM") (retour) Résultat associé zone1  T_NOM("CURE_DE_SAVIGNY") zone2  T_NOM("IDEM") zone3  T_NOM("IDEM") zone4  T_NOM("IDEM") Module d’interprétation de page Traiter page 3 page3,zone1 T_NOM("BRUNEL") page3,zone2 T_NOM("COCHARD")

  31. Contribution Notre mise en œuvre d’une approche itérative (9/11) Adapter une approche déclarative Concepteur Extension en 3 étapes Écriture • 1. Mémoire visuelle • Support de la communication avec l’environnement Description Compilation • 2. Langage de description • Introduire de nouveaux opérateurs d’interaction Module d’interprétation de page Image Résultat • 3. Architecture à deux niveaux • Niveau global : collecte et distribue les données • Niveau local : produit et exploite les données Mémoire visuelle Mémoire visuelle Niveau global

  32. Contribution Notre mise en œuvre d’une approche itérative (10/11) Architecture à deux niveaux • Présente les résultats • Permet leur édition Base de données centrale Stocke les mémoires visuelles Interface Homme-Machine Opérateur • Orchestre l’interprétation • Collecte les données • Apporte localement les connaissances globales Module de stratégie globale Scénario Niveau global Concepteur Niveau local Description Module d’interprétation de page • Interprète chaque image • Exploite les connaissances globales Concepteur

  33. Contribution Notre mise en œuvre d’une approche itérative (11/11) Implémentation de notre architecture Framework générique Base de données centrale Utilisation de HBaseHadoop Interface Homme-Machine Module de stratégie globale • Ordonnanceur Python • Librairies distribution calcul Word spotting OCR • DMOS-P  DMOS-PI • Librairie mémoire visuelle • Librairie nouveaux opérateurs de description Module d’interprétation de page

  34. Contribution Bilan des contributions Méthode pour rendre une approche déclarative itérative • Mémoire visuelle • Trois nouveaux opérateurs d’interaction • Architecture à deux niveaux Avantages Automatisation Conception simple • Au niveau local • Fusion des données produitespar l’environnement • Échange asynchrone d’informations • Au niveau global • Collecte et circulation de l’information • Interprétation par itération • Description de la page • Comme si l’information externe était déjà disponible • Prévoir la gestion de l’incertain • Définition d’un scénario global • Enchaîne les traitements • Ne se préoccupe pas de la production locale des données

  35. Validation Plan • Introduction • Résumé de l’état de l’art • Contribution : Interprétation itérative • Validation expérimentale et en production • Que valide-t-on ? • Expérimentation 1 : transcription de patronymes • Expérimentation 2 : correction de sous-segmentation • Utilisation du système en production • Conclusion et perspectives

  36. Validation Que valide-t-on ? Intérêt des outils proposés • Conception simple • Possibilité de comparer différents scénarios Intérêt d’une interprétation contextuelle et assistée Gain en qualité ou en coût de correction Évaluation du coût associé à un scénario délicat Ne pas être dépendant de l’ergonomie des outils de correction Éviter de comparer des actions de types différent  Isoler des fragments de scénarios réels

  37. Validation Plan • Introduction • Résumé de l’état de l’art • Contribution : Interprétation itérative • Validation expérimentale et en production • Que valide-t-on ? • Expérimentation 1 : transcription de patronymes • Expérimentation 2 : correction de sous-segmentation • Utilisation du système en production • Conclusion et perspectives

  38. Validation Expérimentation 1 : transcription de patronymes (1/4)

  39. Validation Expérimentation 1 : transcription de patronymes (2/4) • Comparaison de deux scénarios Mémoirevisuelle Module d’interprétation de page • Word spotting Fusion d’hypothèses Vignettesrejetées Clustersrejetés (à la fin) Ajustement des seuils Annotation de vignettes Annotation de clusters Résultats Opérateur Opérateur Scénario 1 : sans contexte Scénario 2 : avec contexte Clusters de vignettesde mots Pages "idem" "idem" "idem" "Perrot" Vignettes de mots+ hypothèses "Perrot" "La Couture" Vignettes de mots reconnues

  40. Validation Expérimentation 1 : transcription de patronymes (3/4) • Données traitées : environ 11 000 vignettes de patronymes • Évaluation • Résultats

  41. Validation Expérimentation 1 : transcription de patronymes (4/4) Description de la page page  @(colonneAncienProp) lireTousLesNoms("inconnu") lireTousLesNoms(precedent) @(detecterNom) nom = CATCH(lireNom(precedent), T_NOM) @(dessous) LOOP(lireTousLesNoms(nom)) lireNom(precedent)  reco = TRY(reconnaitNomINT, T_NOM) res = (si reco=="IDEM" alorsprecedent sinon reco) reconnaitNomINT lsthypo = reconnaitNom RAISE_QUESTION("Confirmer nom.",lsthypo, T_NOM) • Poser une question pour chaque vignette • Poursuivre l’interprétation • La question contient les hypothèses À retenir Contexte + interprétation itérative = classifieur global Quantité de travail ajusté au niveau global Améliorer le classifieur global pas d’impact sur la description locale

  42. Validation Plan • Introduction • Résumé de l’état de l’art • Contribution : Interprétation itérative • Validation expérimentale et en production • Que valide-t-on ? • Expérimentation 1 : transcription de patronymes • Expérimentation 2 : correction de sous-segmentation • Utilisation du système en production • Conclusion et perspectives

  43. Validation Expérimentation 2 : correction de sous-segmentation (1/4) ville num_vente type_vente {(ville, type_vente, num_vente),(ville, type_vente, num_vente), (ville, type_vente, num_vente), …} type_vente type_vente • Problème principal : sous-segmentation

  44. Validation Expérimentation 2 : correction de sous-segmentation (2/4) • Comparaison de deux scénarios Scénario 1 Localisation précise des numéros Opérateur • Resegmentation • OCR • Nouvelle structure Module d’interprétation de page Pages avec problèmes de segmentation Opérateur Scénario 2 Localisation rapide des séparateurs manqués Pages

  45. Validation Expérimentation 2 : correction de sous-segmentation (3/4) Données traitées : 50 pages (1637 vignettes de nombres) • Évaluation • Quantité de travail manuel requis pour corriger les 121 nombres mal segmentés • 1 action manuelle = … • 1 localisation précise de nombre • 1 localisation précise de séparateur • Résultats Coût (# actions manuelles) Gain : 30% d’actions en moins en corrigeant la cause des erreurs (détection du séparateur)

  46. Validation Expérimentation 2 : correction de sous-segmentation (4/4) • Description de la page • 1 description pour les 2 scénarios •  Possibilité de les combiner • Basée sur des questions optionnelles •  Opérateur OPT(Type, Règle) extraireNumVenteLigne @(positionLigne) lstsep = OPT(T_SEP, detecterTousSep) OPT(T_NUM, extraireNbreEntreSep(lstsep)) detecterTousSep sep = TRY(T_SEP, separateur) res = sep :: LOOP(detecterTousSep) extraireNbreEntreSep (lstsep)  @(entreseparateurlstsep) TRY(T_NUM, extraireNombre) LOOP(extraireNbreEntreSep(lstsep)) • À retenir • Correction de la cause des erreurs et non des conséquences • Possibilité de laisser la charge de la détection d’erreur à l’opérateur humain • Possibilité de poser plusieurs questions de types différents

  47. Validation Plan • Introduction • Résumé de l’état de l’art • Contribution : Interprétation itérative • Validation expérimentale et en production • Que valide-t-on ? • Expérimentation 1 : transcription de patronymes • Expérimentation 2 : correction de sous-segmentation • Utilisation du système en production • Conclusion et perspectives

  48. Validation Utilisation du système en production Données traitées (partenariat avec les Archives des Yvelines) • Environ 1200 pages de documents d’archives • 6700 lignes de ventes • 11 000 vignettes de patronymes Techniques mises en œuvre en conditions réelles Au niveau local Descriptions avec plusieurs types de données échangées Possibilité de détection d’erreur manuelle Remise en cause en profondeur des résultats  Avec des descriptions simples Au niveau global Gestion centralisée du compromis automatique/manuel Optimisation de séquences, regroupement de mots visuellement similaires  Grâce à la séparation global/local facilitant la collaboration en conception

  49. Conclusion Plan • Introduction • Résumé de l’état de l’art • Contribution : Interprétation itérative • Validation expérimentale et en production • Conclusion et perspectives

  50. Conclusion Conclusion Notre contribution Avantages • Méthode pour mettre en œuvre une interprétation itérative • Basée sur une approche déclarative • Extension en 3 étapes • Mémoire visuelle • Langage de description • Architecture à 2 niveaux • Des outils proposés • Réintégration locale de connaissances globales • Interaction asynchrone • Conception centrée page • De l’approche • Réutilisable : basée sur des mécanismes standards • Validée : en théorie, en pratique, sur les expérimentations et en production Perspectives Consolidation : vers l’apprentissage de règles Difficulté d’amorçage du système réduite Mécanisme itératif favorable à la remise en cause du modèle Extension : vers une exploitation en consultation Utilisateurs actifs (crowdsourcing+ traitements automatiques)

More Related