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.