inforsid/sites - LIRIS
Transcription
inforsid/sites - LIRIS
Modèle d’Evaluation des Systèmes et Ressources Applicables à la Correction d’Erreurs dans les Documents Arnaud Renard, Sylvie Calabretto, Béatrice Rumpler Université de Lyon, CNRS INSA-Lyon, LIRIS, UMR5205 20 Avenue Albert Einstein F-69621 Villeurbanne Cedex {arnaud.renard, sylvie.calabretto, beatrice.rumpler}@liris.cnrs.fr RÉSUMÉ. L'adoption massive des services dits du Web 2.0 a entraîné une augmentation de la quantité d'informations produites. La quantité d'erreurs contenues dans ces informations a quant à elle évolué de façon plus importante. En effet, si dans un processus de production d'information classique les documents étaient issus de professionnels, dans le cadre du Web, ce sont principalement les utilisateurs qui en sont à l'origine avec les imperfections que cela peut entraîner. Il est donc nécessaire de prendre en compte ces erreurs dans les systèmes amenés à gérer des informations de qualité variable. Notre état de l'art nous a conduits à identifier des difficultés quant à l’évaluation comparative des stratégies de correction d’erreurs au travers des systèmes qui les implémentent. Cet article présente donc un modèle d’évaluation des systèmes de correction d’erreurs et des ressources de bas-niveau (mesures de similarité/distance entre chaînes de caractères, dictionnaires, …) sur lesquelles ces systèmes s’appuient. Ce modèle a été implémenté au sein d’un prototype extensible qui fournit un cadre technique de base pour l’évaluation. ABSTRACT. The wide adoption of Web 2.0 services has resulted in an increase in the amount of information produced. The quantity of errors contained in such informations has grown even faster. Indeed, in traditional information production process documents were produced by professionals while in the Web context the content is generated by the users in an imperfect way. It is therefore necessary to take into account the errors particularly when such systems need to manage informations of variable quality. Our state of the art leads us to identify difficulties in comparative evaluation of error correction systems. Our proposal consists in an evaluation model for error correction systems and low-level string similarity (or distance) metrics they rely on. This model is implemented in an extensible benchmark platform providing a framework to evaluate those systems. : correction d'erreur, documents, modèle d’évaluation, framework, benchmark, mesures de distance et de similarité, métriques, recherche d'information. MOTS-CLÉS KEYWORDS: error correction, documents, evaluation model, framework, benchmark, distance and similarity measure, metrics, information retrieval. THEMATIQUE : ingénierie des documents et des connaissances 1. Introduction Les informations sont depuis toujours sujettes aux erreurs, néanmoins l’augmentation des erreurs liée à l’adoption massive des services dits du « Web 2.0 » rend leur correction importante. Dans cet article, nous ne prétendons pas nous intéresser à tous les types d’informations, mais seulement à un sous-ensemble constitué par les informations textuelles qui seront l’objet de corrections. Les documents étaient auparavant essentiellement issus de professionnels dont la production est soumise à un certain contrôle de qualité : chaîne éditoriale d’un journal, relecture des articles scientifiques par des pairs, … A l’échelle du Web, ce mode de production de l’information peut désormais être considéré comme marginal car ce sont les utilisateurs (internautes) qui en sont le plus souvent à l’origine1 (De Rosnay, 2006). Ce ne sont donc pas des individus qui exercent un métier dans leur activité de création d’information et ils sont donc davantage susceptibles de commettre des erreurs en employant un vocabulaire qu’ils ne maîtrisent pas nécessairement et qui n’est pas forcément adapté. Il est donc légitime en l’absence de contrôle de qualité quelconque d’émettre des réserves quant à la qualité de leur rédaction. Il s’agit d’un constat souvent vérifiable à propos des informations sur le Web et en particulier pour les Blogs qui ont popularisé l’autopublication de masse avec publication immédiate, gratuite, sans frein ou obstacle éditorial. Néanmoins, certaines initiatives telles que l’encyclopédie libre Wikipedia font preuve d’un contrôle qualité au travers du réseau communautaire constitué par les contributeurs. Les problèmes de la vérification (recherche des mots mal orthographiés dans un texte écrit), et de la correction de l’orthographe ont été largement étudiés (cf. 3.1). Les correcteurs d'orthographe font d’ailleurs partie des applications de Traitement Automatique de la Langue Naturelle (TALN) les plus largement utilisées par le grand public. De nombreuses applications informatiques s’appuient néanmoins sur des techniques adaptées à des textes « propres »2. Ce n'est qu’assez récemment avec l'augmentation de textes bruités (Subramaniam et al., 2009) que ces techniques ont été adaptées pour prendre en considération le bruit qui se manifeste par des erreurs. Face à ce problème de qualité de l’information, il est nécessaire de considérer les erreurs dans les systèmes de Recherche d’Information (RI). Certains de ces systèmes commencent d’ailleurs à s’intéresser aux erreurs de façon limitée en se restreignant à leur détection et à leur correction dans les requêtes des utilisateurs uniquement (par exemple le populaire « Did you mean »). Etant donné le contexte exposé précédemment, nous pensons que l’extension de la correction d’erreurs aux documents est susceptible d’améliorer les systèmes de RI. De plus, notre état de l’art des systèmes de correction nous a conduits à identifier des difficultés dans l’évaluation comparative des performances des systèmes de correction d’erreurs. Notre proposition consiste en un modèle d’évaluation des systèmes de correction 1 2 On parle de Contenu Généré par les Utilisateurs (ou UGC : User Generated Content). Un texte « propre » est un texte exempt d’erreurs (cf. définition erreurs en page suivante). d’erreurs ainsi que des ressources de bas-niveau sur lesquelles ces systèmes s’appuient. Les évaluations menées à partir de ce modèle permettront ensuite à un tel système d’être intégré dans la phase d’indexation d’un système de RI afin de détecter et corriger les erreurs dans les documents lors de leur indexation. La section 2 présente le contexte général et le positionnement de l’article. Cette dernière définit d’une part les concepts importants et établit une classification des erreurs. La section 3 présente un panorama des approches de correction d’erreurs ainsi que la problématique concrète liée aux difficultés d’évaluation de ces systèmes. Afin de répondre à cette problématique, la section 4 présente notre proposition de modèle d’évaluation avec un meta-modèle, dérivé en un modèle utilisable pour l’évaluation des systèmes de correction d’erreurs. Ce modèle a été implémenté au sein d’une plateforme d’évaluation présentée en section 5 qui a permis l’analyse de certains mécanismes de correction d’erreurs dont les premiers résultats d’évaluation obtenus sont présentés en section 6. Enfin, la section 7 apporte nos conclusions sur l’évaluation des systèmes de correction d’erreurs et présente nos perspectives quant à leur intégration dans les systèmes de RI. 2. Contexte général et positionnement Selon les travaux de (Shannon, 1948) relatifs à la théorie de l’information, le bruit peut être qualifié comme une corruption de l’information engendrant une différence entre l’information attendue (correcte) et l’information obtenue (erronée). Dans un premier temps, il est important de définir ce qu’est une erreur, ou tout du moins d’en expliciter la définition retenue dans cet article. 2.1. Définitions des principaux concepts Considérons des informations textuelles et prenons !, un ensemble fini que nous appelons !"#ℎ!"#$ (dans le cas de mots en langue anglaise, ! correspond alors aux lettres possibles en langue anglaise). Ainsi, toute !"##$" ! appartient à l’alphabet !, (! ∈ !). Notons A! , l’espace représentant l’ensemble des mots de ! lettres. Un !"# ! de longueur ! est alors représenté par une séquence (ordonnée) de ! lettres : ∀!! ∈ A, ! ∈ A! !!" ! = !! , !! , … , !!!! , !! [1] Nous appellerons !"#$%&" ou !"#!$%%&!'( !, l’ensemble des !"#$ !"#$%&' !! d’une langue composés à partir de l’alphabet !. Une !""!#" ! peut donc être définie comme la présence d’au moins une lettre qui diffère de la lettre attendue à une position donnée dans la séquence correspondant au !"# ! : ∀!! ∈ A, ∃!! ∈ A tel que i = j et !! ≠ !! [2] Cela couvre donc toutes les erreurs qu’il s’agisse des opérations d’édition telles que l’insertion d’un caractère, de sa suppression, de sa substitution, ou toute autre opération venant modifier la séquence de lettres qui composent un mot. On définira donc un mot comportant au moins une !""!#"3 comme un !"# !""#$é !! différent du !"# !!"#$ correct !! . Un système de correction d’erreurs est donc un mécanisme qui permet de retrouver le !"# !"#$% correspondant à un !"# !""#$é. 2.2. Taxonomie des erreurs Les erreurs présentes dans les documents numériques peuvent avoir de multiples origines. En effet, des erreurs peuvent intervenir (et se cumuler) à chaque étape du processus permettant d’aboutir à un document numérique à partir d’une information de départ « abstraite ». L’information est ici qualifiée d’abstraite dans le sens où celle-ci n’est pas matérialisée sur un support physique numérique ou non. Il est ensuite possible de distinguer les documents numériques selon qu’ils sont issus d’une matérialisation directe (ex : saisie au clavier) ou que cette information a transité par un autre état (ex : manuscrit) avant d’être numérisée. On peut alors distinguer d’une part les erreurs liées à l’intervention humaine lors de la création (idée initiale erronée), de l’expression (verbalisation de l’idée, association à un mot, problème d’orthographe/prononciation du mot) et de la saisie de l’information dans un document (dysgraphie, mauvaise typographie), et d’autre part, les erreurs issues d’un traitement informatique de type OCR4 qui intervient lors de la numérisation. Dans certains cas, les erreurs peuvent êtres des !"#$ !"#$%&' tels que définis précédemment, nous appellerons ce type d’erreurs, erreurs de type !"#$ − !é!"s (ex : « diary » et « dairy »). Bien que ce type d’erreurs préserve en général la validité syntaxique de la phrase dans laquelle elle se trouve, il vient la plupart du temps en casser la cohérence sémantique, rendant de ce fait la phrase incompréhensible par un humain. Ce type d’erreurs ne peut pas être détecté (et par conséquent corrigé) de façon efficace sans la présence d’un contexte tel que les mots adjacents à l’erreur. Le contexte permet en effet d’identifier l’éventuelle incohérence sémantique générée par l’erreur, ou tout du moins la faible probabilité statistique que ce mot soit entouré par les mots qui composent son contexte. La plupart du temps, les erreurs résultent en des !"#$ !"! − !"#$%&' que nous appellerons erreurs de type !"! − !"#$ (ex : « tree » et « teer »). Ce type d’erreurs est plus facile à détecter car une simple comparaison avec les !"#$ !"#$%&' d’un dictionnaire permet de les identifier. La présence d’un contexte bien qu’il puisse aider à identifier plus précisément la correction adéquate n’est alors pas obligatoire et ces erreurs peuvent être considérées comme des !"#$ !"#$é! hors de tout contexte. La plus grande partie des erreurs exclusivement de type !"#$ − !é!"# a pour origine l’information abstraite, autrement dit, il s’agit de difficultés dans la capacité de l’auteur à associer le mot correspondant à sa pensée (cf. Figure 1 représentant notre proposition de classification des erreurs). 3 4 Le mot « !""!#" » sera utilisé pour indiquer un mot comportant une erreur (!"# !""#$é) OCR : Optical Character Recognition (Reconnaissance Optique de Caractères) origine erreur Numérisation frontière mot mot inventé mot ∈ autre lexique caractères reconnus erronés Matérialisation faute de frappe / typographie non-mot (mot ∉ lexique) Information « abstraite » mot ~ graphie orthographe mot ~ phonétique grammaire mot-réel (mot ∈ lexique) erreur / faute Figure 1. Classification des erreurs multi points-de-vue (origine / types d’erreurs). Ce problème se retrouve le plus fréquemment chez les enfants, les personnes dont ce n’est pas la langue native, et les personnes souffrant de dyslexie. En revanche, les fautes de frappe et les erreurs de reconnaissance de caractères n’aboutissent que rarement à des erreurs de type !"#$ − !é!"#. Les différents types d’erreurs présentés impactent l’ensemble des systèmes qui manipulent des informations de façon générale, et les systèmes de RI en particulier. Il est donc important d’effectuer une évaluation comparative des approches et mécanismes de correction d’erreurs, tâche qui s’avère pour l’instant problématique. 3. Considérations sur l’évaluation des systèmes de correction d’erreurs 3.1. Panorama des approches de correction d’erreurs Nous allons présenter les approches les plus importantes développées pour la correction des erreurs. Dans le cadre de cet article, nous avons choisi de nous intéresser à des erreurs quelconques qui aboutissent aussi bien à des !"! − !"#$ qu’à des !"#$ − !é!"# plus délicates à identifier. Les travaux sur la correction des erreurs de type !"! − !"#$ sont étudiés et référencés par (Kukich, 1992), et (Mitton, 2009). Néanmoins, les approches permettant d’obtenir les meilleurs résultats s’appuient sur le contexte (généralement constitué des mots de la même phrase, ou des mots dont la position dans le texte est « proche » de l’erreur), de même que les approches visant à corriger les erreurs de type !"#$ − !é!"#. Les travaux sur la correction des erreurs de type !"#$ − !é!"# peuvent être classés en deux catégories : les méthodes s’appuyant sur l’information sémantique (ou sur une ressource lexicale humaine), et les méthodes s’appuyant sur l’apprentissage automatique (ou la probabilité d’information). L’approche s’appuyant sur « l’information sémantique » qui a d’abord été proposée par (Hirst et al., 1998), puis développée par (Hirst et al., 2005), détecte les anomalies sémantiques mais ne se limite pas à la vérification de mots à partir d’ensembles de confusion prédéfinis (au minimum des paires de termes couramment confondus) qui modélisent l’ambiguïté entre les mots. Cette approche est fondée sur l'observation du fait que les mots que le rédacteur a l'intention d’écrire sont généralement sémantiquement liés aux mots environnants, alors que certains types d'erreurs aboutissant à des mots − réels ne le sont pas. Le problème de la détection des erreurs de type mots − réels est le même que le problème des homonymes, il s'agit d'une application des méthodes de désambiguïsation à la correction d’erreurs. Mays et al. (Mays et al., 1991) proposent une méthode statistique en utilisant les probabilités des trigrammes de mots pour détecter et corriger des erreurs sur des mots réels sans exiger d’ensembles de confusion prédéfinis. Verberne (Verberne, 2002) a proposé une méthode fondée sur les trigrammes pour les erreurs sur les mots-réels sans utiliser explicitement les probabilités ou même localiser l'erreur possible sur un mot précis. Cette méthode suppose simplement que tout trigramme de mots dans le texte qui est présent dans le British National Corpus est correct, et tout trigramme absent est une erreur probable. La méthode proposée dans (Islam et al., 2009) s’inscrit également dans cette dernière catégorie et s’appuie sur le Google Web 1-T n-grams (5-4-3-2-1-grams) pour effectuer un apprentissage. Golding et Roth (Golding et al., 1999) donnent un exemple de méthode d’apprentissage et combinent l'algorithme Winnow et le vote à la majorité pondérée, en utilisant des mots proches et adjacents comme caractéristiques. Wilcox-O'Hearn et al. (Wilcox-O’Hearn et al., 2008) analysent les avantages et les limites de la méthode proposée dans (Mays et al., 1991), et présentent une nouvelle évaluation de l'algorithme, conçue de sorte que les résultats puissent être comparés à ceux d'autres méthodes, et ensuite construisent et évaluent certaines variantes de l'algorithme qui utilisent des fenêtres de taille fixe. 3.2. Problématique de l’évaluation des systèmes de correction d’erreurs L’ensemble de ces travaux rapporte des difficultés à évaluer leurs propositions comparativement aux autres approches. D’où la nécessité de travaux tels que ceux de (Wilcox-O’Hearn et al., 2008) précédemment cités. Les ressources (dictionnaire de référence, collections d’erreurs, métriques d’évaluation) utilisées diffèrent de façon importante d’une approche à l’autre. Ainsi, les collections d’erreurs (ou les collections de documents comportant des erreurs) employées sont rarement les mêmes et la plupart des approches s’appuient sur des erreurs générées aléatoirement dans une collection de documents (la représentativité de ces collections d’erreurs par rapport à la réalité n’est ainsi pas évidente même si les modèles de corruption respectent les observations de (Damerau, 1964)). Une part importante des travaux de (Pedler, 2007) a ainsi consisté à collecter et à mettre à disposition des documents produits par des personnes souffrant de dyslexie. Nous proposons un modèle d’évaluation flexible adapté pour nos besoins aux mécanismes de correction d’erreurs. Néanmoins, celui-ci pourrait relativement facilement être adapté pour évaluer d’autres types de systèmes. 4. Proposition d’un modèle d’évaluation Afin de permettre un niveau maximum de réutilisabilité, nous avons défini une approche générique permettant d’évaluer des « systèmes » dans le sens le plus général du terme. Il peut ainsi s’agir de systèmes fermés qui sont considérés comme des boîtes noires, ou de systèmes composites ouverts créés à partir d’une combinaison originale de ressources permettant l’évaluation de ces dernières. Cette approche est décrite d’un point de vue macroscopique par un meta-modèle que nous appelons le !"#è!" ! ! !"#$%#&'() !é!é!"#$% (aussi noté !"#). Notre principale préoccupation dans le cadre de cet article étant l’évaluation de différents mécanismes de correction d’erreurs, nous allons nous appuyer sur un !"#è!" ! ! !"#$%#&'() !"é!"#"$%& (aussi noté !"#) dérivé du !"# et adapté à ce cas de figure. Le !"# étant adapté à l’évaluation du type de système souhaité, il ne reste plus qu’à l’instancier pour réaliser une expérimentation. 4.1. Définition du MEG (meta-modèle) Le !"# est une représentation générique abstraite du modèle d'évaluation composé de cinq éléments, de sorte que le !"# peut être défini par le 5 − !"#$% : !"# = !! , !! , !, !! , ! [3] Où, !! , !! et !! constituent des familles de ressources entrées du modèle et existant antérieurement à ce dernier. Celles-ci sont respectivement des ressources appartenant aux familles : des !"##é!" ! notées !! (ex : données à traiter), des !"#$%&'&(%) ! notées !! (ex : algorithmes à appliquer aux données), et des !"#$%#&'()* ! notées !! (ex : métriques d’évaluation, valeurs de référence). Chaque famille de ressources comprend un ensemble de types de ressources qui lui est propre et qui est dépendant de la dérivation du !"# en !"#. ! est un module de traitement des données qui s’appuie sur les ressources ! fournies pour produire des résultats (ex : scores). ! est un module d’évaluation des résultats du traitement des ressources ! calculés pour produire un ou plusieurs indicateurs de leurs performances (ex : précision). Ce meta-modèle ne peut être utilisé directement pour l’évaluation. Il doit être dérivé en un modèle adapté et instancié par la suite dans le cadre d’une expérimentation particulière. 4.2. Dérivation du MEG en MES pour l’évaluation d’un système de correction d’erreurs (modèle) Le !"# représente une dérivation du !"# pour les besoins d’une évaluation particulière. Dans cette étude, ce dernier a été dérivé afin d’évaluer les mécanismes de correction d’erreurs. Ceux-ci peuvent être, des systèmes de correction d’erreurs complets et !"#$%$&'( dont on ne connaît pas précisément le fonctionnement interne et qui disposent de leurs propres ressources (il s’agit d’un cas particulier qui sera précisé par la suite), ou bien des systèmes !"#$"%&'(% tels que mentionnés précédemment. Afin de définir le !"#, nous allons dans un premier temps définir les familles de ressources en fonction des types de ressources qu’elles admettent. Ainsi !! est constitué de ressources !! de type !"## et !"#$, où !"## représente le type !"##$%&'"( de documents qui dans le cas considéré est représenté par une liste de couples de la forme : !"# !""!#", !"# !"#$% , et !"!" représente le type !"#$"%&&'"() qui est une liste de mots (éventuellement associés à leur fréquence d'occurrence) de la forme : !"#, !"é!"#$%# !"# . De même, on peut définir !! comme étant constitué de ressources !! de type !"# ou !", l’emploi de l’un de ces deux types exclut l’emploi de l’autre type de ressource où, !"# représente le type !"#$%" !" !"#"$%&"'é !" !" !"#$%&'( dont les valeurs sont normalisées dans l'intervalle [0,1]. Les mesures employées étant normalisées, la !"#"$%&"'é correspond à 1 − !"#$%&'( et vice versa. !", représente un !"#$è!" !" !"##$!%&"' ! ! !""!#"$ !"#$%$&'. Enfin, on peut définir !! comme étant constitué de ressources !! de type !" où, !" représente le type !é!"#$%& !′!"#$%#&'() dont les valeurs sont normalisées dans l'intervalle [0,1]. De plus, chaque famille de ressources est soumise à une contrainte sur sa cardinalité qui peut être différente selon qu’il s’agit d’un système de correction d’erreurs autonome ou composite. Ainsi, le cas général constitué par l’évaluation d’un système composite nécessite l’instanciation d’une ressource de chaque type : ∀! ∈ !"#!, !"#$, !!", !! , !! ≥ 1 [4] Le !"# est alors représenté par le 5 − !"#$% suivant : !"#!"#$"%&'( = !"##, !"#$ , !"#, !, !", ! [5] En revanche, lors de l’évaluation d’un système autonome, ce dernier sera considéré comme une ressource de traitement !" à part entière en lieu et place de la !"#. De plus, le système étant autonome, il ne nécessite pas non plus de dictionnaire. Le !"# est alors représenté par le 5 − !!"#$ suivant : !"#!"#$%$&' = !"## , !", !, !", ! [6] Le !"# peut ainsi être adapté selon les caractéristiques et les contraintes spécifiques de ce qui est à évaluer comme cela est le cas ici. Le modèle proposé formalise des concepts qui suivent une logique d’évaluation intuitive. Néanmoins cette formalisation est nécessaire pour l’évaluation à grande échelle. La généricité du modèle lui permet de s’appliquer à l’évaluation de types de systèmes variés via l’instanciation (notamment de ressources) qui leur sont adaptés. Dans le cas présent, le modèle a été adapté aux mécanismes de correction d’erreurs. Le modèle ainsi construit a servi de support à l’implémentation d’une plateforme pouvant servir de framework d’évaluation. 5. Implémentation du modèle d’évaluation La plateforme d’évaluation implémentée s’appuie sur le modèle présenté cidessus qui en définit les différents modules. RD RE Coll I Dict I ME s RT MSD SA I L iste < erreur, liste_suggestions_ord> e score I I Figure 2. Modèle d’évaluation et architecture générale de l’implémentation de la plateforme d’évaluation. La plateforme a été développée en Java et utilise le standard OSGI (http://www.osgi.org) pour l’implémentation des modules. Cela nous a permis de mettre en œuvre la grande modularité du modèle proposé en définissant des interfaces standards communes pour chaque type de ressources. Cela permet en effet pour un type de module donné de les substituer facilement sans que cela impacte le reste de la plateforme. Chaque module respectant ce contrat possède un cycle de vie qui lui est propre et peut être déployé dynamiquement sur la plateforme. Les modules de traitement ! et d’évaluation ! s’assurent de la disponibilité des ressources nécessaires aux tests. La plateforme développée a ensuite été employée pour notre évaluation de quelques systèmes composites construits à partir de dictionnaires, mesures de similarité (resp. distance) entre chaînes de caractères employées dans les systèmes de correction d’erreurs. 6. Evaluation 6.1. Instanciation des ressources du modèle d’évaluation Dans le cadre des évaluations menées dans cet article, seul un ensemble réduit de systèmes composites a été évalué. Les ressources entrant dans la composition de ces systèmes sont présentées dans les paragraphes qui suivent. Collection d’erreurs Les évaluations que nous avons menées concernent uniquement des erreurs corrigées indépendamment du contexte (dans un premier temps). Cette collection a été établie à partir des erreurs fréquemment commises sur Wikipedia, !"#"$%&"' !"##"$ !"##$%&&"'(# noté !"# (Wikipedia, 2010). Les erreurs se présentent dans la collection sous la forme de couples < !"# !""#$é, !"# !"#$% > au nombre de 4408. Cette collection comporte aussi bien des erreurs de type nonmots que de type mots-réels. De plus, étant donné que les erreurs de type mots-réels sont déjà identifiées comme étant des erreurs, il est donc possible de proposer une correction à ces dernières sans avoir recours à un contexte (dont on ne dispose pas). Dictionnaire Dans le cadre de nos expérimentations, nous avons implémenté trois dictionnaires différents. Un dictionnaire s’appuyant sur !"#$%&' (Miller, 1995) (Fellbaum, 1998), un dictionnaire d’unigrammes fournis par le système !"# (AtD, 2010), et un dictionnaire issu de la collaboration des internautes !"#$"%&'() (Wiktionary, 2010). 1 0,8 0,6 0,4 0,2 0 0,990 0,010 Wordnet 0,927 0,073 0,871 0,129 AtD 1-‐grams Wik:onary propor:on de mots-‐ réels détectés propor:on de non-‐mots détectés Dic$onnaire Figure 3. Proportion des mots de la collection identifiés comme mots-réels (resp. non-mots) en fonction du dictionnaire utilisé. Bien que l’on soit en mesure de proposer une correction aussi bien pour les erreurs de type non-mots que mots-réels lors de l’utilisation de la collection cidessus, l’identification de l’appartenance de ces erreurs à l’une ou l’autre de ces catégories est intéressante pour segmenter la collection et pouvoir donner des indicateurs indépendants. Cette tâche n’est pas évidente car l’identification de la catégorie est dépendante du dictionnaire utilisé (Figure 3). Ainsi, des mots créés récemment et qui ne sont pas encore intégrés dans un dictionnaire peuvent être considérés à tort comme des non-mots. A contrario des mots inusités peuvent persister, il s’agit d’un aspect temporel difficile à maîtriser. 0,980 2500000 2000000 0,730 0,985 2051657 1 0,8 1500000 0,6 1000000 0,4 500000 147306 0,2 164834 0 0 Wordnet AtD 1-‐grams Wik:onary Dic$onnaire Taille (nb de mots) Ra$o du nombre de mots cibles de la collec$on ∈ dic$onnaire Nombre de mots du dic$onnaire On peut remarquer sur l’histogramme ci-dessus qu’un dictionnaire plus important identifie davantage d’erreurs comme étant de type mots-réels qu’un dictionnaire comportant peu de mots. De plus, la Figure 4 met en évidence la difficulté du choix d'un dictionnaire. Couverture (ra:o) Figure 4. Taille des dictionnaires et couverture des mots cibles de la collection d’erreurs par les dictionnaires. En effet, le dictionnaire basé sur Wordnet contient 147000 mots, et ne couvre que 73% des mots cibles correspondant à des erreurs, alors que le dictionnaire AtD a une couverture de 98% avec près de 165000 mots seulement. Le dictionnaire Wiktionary a lui une couverture de 98,5% avec plus de 2 millions de mots. Le dictionnaire AtD représente le meilleur ratio nombre de mots / couverture des mots cibles de la collection d’erreurs car il est le fruit d’un apprentissage ayant permis de conserver uniquement les mots les plus fréquents. Mesures de similarité / distance Dans le cadre d’une première série d’expérimentations, seules trois mesures de similarité/distance seront évaluées : la distance de Levenshtein, la distance de Jaro, ainsi que la distance de Jaro-Winkler. Ces trois mesures devront par la suite être confrontées et éventuellement combinées à des mesures de similarité telles que les mesures de similarité phonétique. Métrique d’évaluation Parmi nos perspectives, nous souhaitons intégrer un système de correction d’erreurs à un système de recherche d’information afin d’en améliorer les performances (processus de !"##$%&'"( !""#$"% !"#$%&'()" noté !"# décrit dans les perspectives 7). Si le processus de correction d’erreurs est classique, il est nécessaire de différencier la correction d’erreurs !"#$%&'#!($ ou !" − !"#$%, et la correction d’erreurs !"! − !"#$%&'#!($ ou ℎ!"# − !"#$%. Correction d’erreurs !" − !"#$% (classique) Correction d’erreurs !"#$ − !"#$% (CEI) Informations sur l’environnement Oui : utilisables directement Non : metadonnées à hypothèses Interactions utilisateurs Oui : choix parmi de multiples propositions (≈ 5) Non : pas de choix à précision élevée nécessaire Tableau 1. Synthèse des contraintes des systèmes en-ligne et hors-ligne (CEI) En effet, dans le cas de la correction d’erreurs !" − !"#$%, le système dispose d’informations à propos de l’environnement de saisie de l’utilisateur tel que le périphérique sur lequel se déroule la saisie (smartphone, tablette, netbook, ordinateur portable) ainsi que la disposition physique des touches de son clavier. De plus, il est possible de proposer simultanément de multiples corrections à l’utilisateur afin que ce dernier choisisse lui-même parmi les suggestions celle qui lui semble la plus appropriée. Il est donc plus important de classer la correction adéquate parmi les suggestions que de la classer en première position parmi cellesci. Dans le cas de la correction d’erreurs ℎ!"# − !"#$%, le problème est plus complexe. En effet, aucune information sur l’environnement de saisie des informations n’est disponible (et les metadonnées disponibles sont relativement pauvres). Il est néanmoins possible de faire des hypothèses en considérant par exemple que les textes en langue anglaise ont une probabilité plus importante d’avoir été saisis sur un clavier ayant une disposition QWERTY classique. Il est d’autant plus important de favoriser la précision dans le cas des systèmes de correction d’erreurs hors-ligne. En effet, il est important de classer la bonne correction en première position car le système ne peut pas se reposer sur l’utilisateur pour faire le choix de la correction finale. Ce phénomène est nécessairement présent lorsque l’on souhaite réduire la responsabilité de l’utilisateur, c’est pourquoi (Pedler, 2007) a également identifié ce phénomène dans ses travaux sur la correction d’erreurs centrée sur les personnes dyslexiques. Il est donc nécessaire d’avoir un système de correction ayant une précision maximale. Ces caractéristiques ont guidé notre choix de métrique d’évaluation des systèmes de correction vers le !"#$ !"#$%&'#() !"#$ noté !"" (Voorhees, 1999) qui semble adapté aux contraintes de la correction d’erreurs hors-ligne. En effet, le !"" applique une pénalité importante lorsque le bon résultat n’est pas présent en première position. Un !"" élevé (proche de 1) signifie que le résultat correct appartient la plupart du temps aux suggestions apparaissant dans les premiers rangs. 1 !"" = !"#$%&'())&#)' !"#$%&'())&#)' !!! 1 !!"#!"#$%&'()(#*"+,é [7] Les instances de ressources étant définies, les résultats des premières expérimentations sont présentés dans la section suivante. 6.2. Résultats Les instances de ressources précédemment définies nous ont permis de construire un système de correction d’erreurs composite à évaluer pour chaque combinaison !"#$"%&&'"()/!"#$%" !" !"#"$%&"'é, soit 9 dans un premier temps que l’on retrouve dans 9 !"#$%"&'%$'("# !" !"#è!" !’!"#$%#&'() notées !"# : !"#! = !"#, !"#$"%&'() , !"#$ − !"#$%&', !, !"", ! !"#! = !"#, !"#$"%&'() , !"#$, !, !"", ! !"#! = !"#, !"#$"%&'!" , !"#"$%ℎ!"#$, !, !"", ! [8] !"#! = !"#, !"# , !"#$ − !"#$%&', !, !"", ! … !"#! = !"#, !"#$%&' , !"#"$%ℎ!"#$, !, !"", ! La Figure 5 présente les scores de !"" obtenus par chacune des instanciations du modèle présentées ci-dessus. Ainsi, un dictionnaire de taille importante (cf. Figure 4) comme Wiktionary permet une couverture maximale des mots cibles de la collection d’erreurs au prix d’un moins bon classement du mot cible correct parmi les suggestions de remplacement du mot erroné. En effet, le mot cible correct est noyé dans la quantité de mots syntaxiquement proches du mot erroné, ce qui amène à un !"" faible. Un dictionnaire de taille plus faible permet alors un meilleur classement du mot cible au prix d'un risque accru de suggestions d’un mauvais mot lorsque le mot cible est absent du dictionnaire. Si l'on considère des mesures de similarité entre chaînes de caractères, on peut observer qu'elles ont des comportements différents selon le dictionnaire (bien que l’écart entre ces dernières ne soit pas très important). Ainsi, Levenshtein semble être la moins sensible des trois à la taille du dictionnaire, alors que Jaro-Winkler qui obtient pourtant de bons résultats associée à Wordnet (petit dictionnaire), s’avère être beaucoup moins efficace lorsqu’elle est associée à Wiktionary. L’écart entre ces différentes mesures n’est néanmoins pas très important car ces dernières ne sont pas Dic$onnaire fondamentalement différentes. Des mesures de similarité phonétique n’auraient probablement pas le même comportement. 0,577 0,595 0,638 Wik:onary AtD Unigrams 0,745 0,742 0,747 Wordnet 0,5 0,6 0,7 Jaro-‐Winkler 0,815 0,809 0,814 0,8 0,9 Jaro Levenshtein Mean Reciprocal Rank (MRR) Figure 5. MRR de différentes combinaisons mesures de similarités/distances et dictionnaires. L’étude de la collection !"# nous a permis de déterminer que parmi les 4408 couples que la collection contient, 4274 !"!"!""#$é! partagent leur premier caractère avec leurs !"#$!"#$%& associés, soit 97% des couples. 0,85 Wordnet-‐1leNre 0,8 AtD Unigrams-‐1leNre 0,75 Wik:onary-‐1leNre 0,7 Wordnet 0,65 0,6 AtD Unigrams 0,55 Levenshtein Jaro Jaro-‐Winkler Wik:onary Figure 6. Comparaison des valeurs de MRR obtenues avec et sans prise en compte d’un premier caractère commun. Nous avons modifié les mesures de similarité utilisées précédemment pour qu’elles renvoient une similarité nulle pour les mots du dictionnaire ne partageant pas un premier caractère identique au mot erroné à corriger. Les résultats des 9 nouvelles !"# sont reportés sur la Figure 6 ci-dessus. On peut observer sur cette figure que l’heuristique consistant à retirer les mots ne possédant pas le premier caractère commun améliore peu le MRR de deux des mesures comparées. Seule la mesure de Jaro-Winkler voit ses performances très légèrement dégradées. De plus, cette heuristique a dans tous les cas permis de réduire de façon importante le temps de calcul des suggestions de correction en éliminant un nombre important de mots candidats. Cette heuristique paraît donc intéressante à intégrer au sein des systèmes composites. 7. Conclusion & perspectives Dans cet article, nous avons proposé une définition formelle des principaux concepts relatifs à la correction d’erreurs. Nous avons également proposé une classification de ces erreurs en fonction de leurs origines et de leur type avec les difficultés qui leur sont afférentes. Notre état de l’art concernant les systèmes de correction d’erreurs nous a permis d’identifier un problème quant à l’évaluation de ces systèmes. Problème pour lequel nous avons proposé un modèle d’évaluation complet comprenant un meta-modèle dérivé en un modèle que nous avons par la suite instancié. Ce modèle d’évaluation a été mis en œuvre au sein d’une plateforme d’évaluation extensible et modulaire que nous avons utilisée pour évaluer 18 instances du modèle dans le cadre de l’élaboration de systèmes composites. La plateforme développée étant extensible nous souhaitons y intégrer à court terme d’autres mesures de similarité entre chaînes de caractères, ainsi que des mesures de similarité phonétique. Nous allons aussi y intégrer d’autres heuristiques telles que celles proposées par (Wong et al., 2006). D’autres collections d’erreurs seront intégrées telles que celles utilisées par Aspell (Atkinson, 2010), mais également des collections de documents telles que celle utilisée par (Pedler, 2007) pour évaluer les systèmes de correction d’erreur pour les personnes dyslexiques. La plateforme pourra ensuite être utilisée afin de déterminer des paramètres optimaux pour la combinaison de différentes approches et heuristiques. Nous souhaitons également évaluer sur la même plateforme des systèmes de correction d’erreurs complets. Les résultats sont plus difficiles à interpréter car on ne maîtrise pas les ressources (et notamment les dictionnaires) sur lesquelles ils s’appuient, mais ils fourniront des résultats de référence permettant de situer les performances brutes des approches évaluées vis-à-vis de ces derniers Un système de !"##$%&'"( !′!""#$"% à !′!"#$%&'()" (!"#) peut être utilisé lors de l'analyse des documents afin de corriger les erreurs qu'ils contiennent permettant ainsi la création d’index plus représentatifs. Nous souhaitons réaliser une évaluation indirecte des approches de correction d’erreurs en comparant les résultats obtenus par les systèmes de RI sur des campagnes d’évaluation telles que TREC (Kantor et al., 2000) ou INEX sans !"# et avec (afin d’améliorer la robustesse des systèmes de RI dans des collections de documents dégradés). Ce travail a bénéficié d'une aide de l'Agence Nationale de la Recherche portant la référence ANR-08-CORD-009. 8. Références AtD. After the Deadline Unigrams Corpus. Dernier accès le 15 Octobre 2010. http://static.afterthedeadline.com/download/unigrams.txt.gz. Atkinson K. Aspell Spellchecker Test Kernel Results. Dernier accès le 15 Octobre 2010. http://aspell.net/test/. Damerau F.J. A Technique for Computer Detection and Correction of Spelling Errors. Communications of the ACM 7, 3, 171-176, 1964. De Rosnay J. La révolte du pronétariat : Des mass média aux média des masses. 2006. Fellbaum C. WordNet: An Electronic Lexical Database. Cambridge, MA: MIT Press, 1998. Golding A. R., Roth D. A winnow-based approach to context-sensitive spelling correction. Machine Learning, 34(1-3):107–130, 1999. Hirst G., St-Onge D. WordNet: An electronic lexical database, chapter Lexical chains as representations of context for the detection and correction of malapropisms, pages 305– 332. The MIT Press, Cambridge, MA, 1998. Hirst G., Budanitsky A. Correcting real-word spelling errors by restoring lexical cohesion. Natural Language Engineering, 11(1):87–111, March 2005. Islam A., Inkpen D. "Real-Word Spelling Correction using Google Web 1T n-gram Data Set," site.uottawa.ca, pp. 1689-1692, 2009. Kantor P.B., Voorhees E.M. The TREC-5 Confusion Track: Comparing Retrieval Methods for Scanned Text. Information Retrieval 2, 2, 165–176, 2000. Kukich K. Techniques for Automatically Correcting Words in Text, ACM Computing Surveys (CSUR), vol. 24, p. 439, 1992. Miller G. A. WordNet: A Lexical Database for English. Communications of the ACM, vol. 38, no. 11: 39-41, 1995. Mays E., Damerau F. J., Mercer R. L. Context based spelling correction. Information Processing and Management, 27(5):517–522, 1991. Mitton R. Ordering the suggestions of a spellchecker without using context. London: Birkbeck ePrints. Available at: http://eprints.bbk.ac.uk/782, 2009. Pedler J. Computer Correction of Real-word Spelling Errors in Dyslexic Text. 239. http://www.dcs.bbk.ac.uk/~jenny/Publications/PedlerPhD.pdf, 2007. Shannon C. A mathematical theory of communication Bell System Technical Journal, vol. 27, pp. 379-423 and 623-656, July and October, 1948. Subramaniam L.V., Roy S., Faruquie T.A., Negi S. A Survey of Types of Text Noise and Techniques to Handle Noisy Text. Language, 115-122, 2009. Verberne S. Context-sensitive spell checking based on word trigram probabilities. Master’s thesis, University of Nijmegen, February-August 2002. Voorhees E.M. TREC-8 Question Answering Track Report. 77–82, 1999. Wikipedia. Wikipedia List of Common Misspellings. Dernier accès le 15 Octobre 2010. http://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings. Wiktionary. Wiktionary Online Collaborative Dictionary. Dernier accès le 15 Octobre 2010. http://en.wiktionary.org/wiki/Wiktionary:Main_Page. Wilcox-O’Hearn L. A., Hirst G., Budanitsky A. Real-word spelling correction with trigrams: A reconsideration of the mays, damerau, and mercer model. In A. Gelbukh, editor, In Proceedings of CICLing (LNCS 4919, Springer-Verlag), pages 605–616, Haifa, 2008. Wong W., Li W., Bennamoun M. Integrated Scoring for Spelling Error Correction, Abbreviation Expansion and Case Restoration in Dirty Text. Conference (AusDM 2006), Conferences in Research and Practice in Information Technology (CRPIT), 83-89, 2006.