3. Inventaire des cas
d’erreurs sur l’échantillon B et propositions pour les
éviter
Nous avons étudié les cas
d’erreurs commises par le programme sur
l’échantillon B. Après avoir fait
travaillé le programme sur l’échantillon nous avons repris
chaque erreur commise afin d’en identifier les raisons. Nous avons
identifié 5 catégories d’erreurs, que nous avons
subdivisées en sous-catégories. Le résultat de ce travail
est présenté dans le tableau
75.
Deux types d’erreurs peuvent être
commises. Il s’agit soit d’une annotation faite par le programme
à tort, soit d’une annotation omise par le programme. Les
annotations commises à tort font baisser le taux de précision. Les
annotations omises font baisser le taux de rappel. Il est important de remarquer
qu’un même problème peut donc être pénalisant
à la fois pour le rappel et pour la précision. Par exemple,
l’introduction d’un espace après de tiret dans Rg-pbx
va avoir deux conséquences. D’une part, l’identification de
hunchback (hb), qui est le gène associé à
Rg-pbx, va être omise. D’autre part, Ultrabithorax
(Ubx), dont pbx est un synonyme, sera reconnu à
tort.
Dans le tableau, nous présentons les deux
types d’erreurs. Le tableau est organisé en catégories et
sous catégories. L’effectif de chaque catégorie et sous
catégorie est calculé. Un éventuel commentaire est
indiqué avant le décompte détaillé. Le
décompte détaillé concerne le label, tel qu’il est
écrit dans le texte.
Nous donnons ci-dessous une analyse des
catégories rencontrées, des plus fréquentes aux moins
fréquentes.
La catégorie la plus fréquente,
à savoir, Variation orthographique correspond aux variations sur
des définitions de gènes déjà présentes dans
Flybase mais qui n’ont pas été anticipées par
le programme.
Les espaces après les tirets sont un
problème spécifique à la source de données que nous
avons utilisée. L’éditeur des cédérom a
effectué un traitement sur les textes probablement pour permettre au
logiciel d’interrogation de fonctionner correctement. Ce traitement
consiste en l’ajout d’espace après certains tirets. Ce
traitement n’est pas souhaitable pour notre application. Il faudrait soit
rectifier les données, soit utiliser une autre source
d’information. La rectification paraît difficile car le traitement
des tirets n’est pas systématique : tous les tirets ne sont
pas suivis d’espace. Il faudrait savoir quelle a été la
logique de ce traitement pour pouvoir le rectifier. L’utilisation des
données issues de l’internet paraît plus simple. Le
traitement mis en cause n’a pas été effectué sur les
données présentes sur internet. Une autre solution consisterait
à modifier les données du dictionnaire pour le mettre en
adéquation avec les textes. Il s’agirait d’ajouter de
nouvelles définitions chaque fois qu’un tiret apparaît dans
un label. Cette solution est moins élégante que les deux
précédentes. Une troisième solution consisterait à
supprimer tous les espaces après les tirets dans les textes. Cependant
cela pourrait conduire à créer de nouveaux problèmes
à d’autres endroits. Nous avons choisi de n’effectuer aucun
pré-traitement des textes. Nous préférons ajouter des
définitions au dictionnaire pour prendre en compte toutes les
irrégularités présentes dans les textes. Le suivi des
opérations est correctement assuré dans le dictionnaire alors
qu’il serait difficile de l’assurer dans les textes. Ainsi, dans
l’évaluation du système, nous pouvons facilement savoir
quand une erreur est due à un de nos traitements.
Les parenthèses incorrectes correspondent
aussi à un pré-traitement des textes dont nous disposons. Des
parenthèses ont été remplacées par des crochets. Ce
traitement n’est pas systématique et correspond à une
logique difficile à élucider. Ce traitement introduit des
dissymétries : des crochets ferment des parenthèses, des
parenthèses ferment des crochets et parfois même deux
parenthèses ouvrantes ne sont fermées que par un seul crochet. Les
données issues de l’internet présente les mêmes
défauts aux même endroits. Actuellement le problème des
parenthèses incorrectes n’est pas traité automatiquement.
Les irrégularités sont simplement relevées et
ajoutées au dictionnaire.
Un traitement possible consisterait à
remplacer tous les crochets par des parenthèses dans les textes. Comme
dans le cas précédent, cela pourrait créer de nouveaux
problèmes à d’autres endroits.
La catégorie espace avant et après les
exposants concerne aussi un problème de formatage. Il s’agit cette
fois de données erronées dans le dictionnaire et non plus dans les
textes. Les exposants font partie intégrante des noms de gènes.
Par exemple su(wa) est le symbole d’un
gène. Dans les données issues de Flybase, les exposants et
les indices sont indiqués. L’exposant est codé dans
Flybase par du HTML. La notion d’exposant ou d’indice est
absente des résumés issus de Medline. C’est pourquoi
nous avons supprimé le code HTML des données issues de
Flybase. Dans la plus part des cas, cela permet effectivement de mettre
en adéquation le texte et le dictionnaire. Cependant, dans certain cas,
des espaces sont présents entre les balises HTML et le texte
lui-même, mais ce n’est pas systématique. Ils n’ont pas
été supprimés lorsque nous avons effectué la
suppression des balises HTML. C’est la cause des problèmes
constatés. La solution à ce problème consiste à
réimporter les données issues de Flybase avec cette fois
une procédure permettant de supprimer ces espaces.
Le cas des coupures de mots est plutôt
délicat. Il faudrait disposer d’un logiciel de reconnaissance
approximative de mots pour compléter automatiquement le dictionnaire.
Cette complémentation suivrait le même principe de validation
qu’actuellement, à savoir, une validation par le contexte. Le
système d’identification des gènes que nous proposons
nécessite un dictionnaire des gènes le plus complet possible.
Malheureusement, les dictionnaires ne sont jamais tout à fait
complets.
Nous proposons une méthode pour
compléter le dictionnaire grâce à une analyse automatique
des textes. Cette méthode consiste à anticiper les variations
orthographiques possibles, puis à les valider sur les textes. Cette
validation utilise le phénomène de répétition du
même gène sous des appellations différentes. Ainsi, quand,
dans le même texte, une appellation variante côtoie une appellation
répertoriée, cela valide l’appellation variante. Cette
méthode permet d’anticiper les variantes orthographiques dans
environ 70 % des cas. Pour aller plus loin, il faudrait utiliser des techniques
de reconnaissance approximative de chaînes de caractères. Ces
techniques permettraient de reconnaître des définitions variantes
possibles. Cependant, nous considérons que ces travaux, bien
qu’utiles, font partie d’un domaine de recherche distinct, à
savoir l’acquisition de connaissances terminologiques à partir de
corpus.
Les cas divers rassemble, entre autres, des
variations orthographiques portant simultanément sur la case et sur
l’équivalence entre tiret et espace. Ce sont des variations qui ne
sont pas prises en charge par le système.
La catégorie manque du dictionnaire
correspond aux définitions absentes du dictionnaire. Il n’y que
trois cas au total, mais les deux premiers concernent une dizaine
d’occurrences chacun. Ces deux cas sont plutôt atypiques. Il
s’agit des labels
DNA ligase I
et DNA ligase II qui sont manifestement
les noms complets des gènes du même nom. Il s’agit
d’une erreur assez grossière de Flybase. Il n’y avait
pas de noms complets pour ces gènes dans la base de
données. Seuls étaient présent les symboles et des
synonymes.
Le cas du label alpha-methyldopa
hypersensitive est plus classique. Il s’agit d’un synonyme
absent du dictionnaire. Ce terme désignait bien le gène alpha
methyl dopa-resistant (amd) dans le texte car l’auteur a
précisé entre parenthèses le symbole du gène.
De plus, une visite sur le site de Flybase, nous apprend que le label
l(2)amd alpha-methyldopa hypersensitive est un synonyme du
gène.
Le seul traitement que nous envisageons pour cette
catégorie est de compléter manuellement le dictionnaire. Cela ne
permet pas d’anticiper sur de nouveaux cas.
Nous avons déjà largement
présenté le problème des labels ambigus. Cette
catégorie est encore assez importante mais ce n’est plus la
principale source d’erreurs comme au début de nos
expérimentations. Ce progrès est dû à
l’accumulation d’informations sur les labels ambigus.
L’annotation de nouveaux textes permet de découvrir sans cesse de
nouveaux labels ambigus. Une solution définitive au problème
consisterait à utiliser des lexiques de termes courants de
l’anglais pour faire la liste des labels potentiellement ambigus. Cette
solution paraît acceptable si l’on utilise aussi le contexte lors de
l’interprétation. Les labels considérés comme
potentiellement ambigus ne seraient pas totalement négligés. Lors
de l’interprétation, ils ne seraient rejetés que s’ils
correspondent à des reconnaissances isolées.
Concrètement, une nouvelle catégorie serait créée
dans la table Type de reconnaissance. Les labels appartenant à une
liste de termes potentiellement ambigus seraient classés dans cette
catégorie. Ils recevraient un traitement identique au label de la
catégorie plutôt ambigus.
Cependant, il faut bien noter que cela conduirait
nécessairement le système à faire des erreurs là
où il n’y en avait pas précédemment. Ainsi, des
labels peu ambigus dans le contexte de la génétique de la
drosophile comme hedgeog risquerait de ne pas être
interprétés comme des gènes. Il n’est donc pas
sûr que cette méthode de résolution du problème
serait la bonne. La technique que nous avons adoptée, qui consiste
à considérer que les labels sont univoques jusqu’à
preuve du contraire, a l’avantage de permettre un rappel
fort.
La catégorie Confusion entre
entités regroupe le cas du chromosome SD chromosome et du
complexe decapentaplegic complex. Ces entités ont
été confondues respectivement avec le gène Sd et
avec le gène decapentaplegic.
Les problèmes de ce type pourraient être
évités à l’avenir en utilisant un lexique de termes
de biologie. Les termes du lexique qui permettraient de lever
l’ambiguïté sur un label seraient inclus dans le
dictionnaire.
Le tableau ci-après fait la synthèse du
tableau 75.
Tableau 72 Inventaire des cas d’erreurs sur
l’échantillon B (tableau de
synthèse)
La colonne + indique le nombre d’erreur par
excès : le programme identifier par erreur un gène. La
colonne - indique le nombre d’erreur par défaut : le programme
a omis d’identifier un gène. La colonne T donne le total.
Les colonnes en grisé donnent les proportions afférentes aux
effectifs qui précèdent.
Type
d’erreur
|
-
|
%
|
+
|
%
|
T
|
%
|
Variation orthographique
|
35
|
59
|
12
|
26
|
47
|
45
|
Manque du dictionnaire
|
20
|
34
|
|
|
20
|
19
|
Label ambigu
|
|
|
18
|
39
|
18
|
17
|
Confusion entre entités
|
|
|
13
|
28
|
13
|
12
|
Divers
|
4
|
7
|
3
|
7
|
7
|
7
|
Total
|
59
|
100
|
46
|
100
|
105
|
100
|
Les effectifs sont suffisants pour permettre de faire
des calculs de pourcentage. Nous voyons que la catégorie Variation
orthographique est la plus fréquente. Elle totalise presque la
moitié des erreurs (45 %). Cette catégorie provoque des erreurs
des deux types. Elle est responsable de plus de la moitié des
reconnaissances manquées (59 %) et d’environ un quart des faux
positifs (26 %). L’effort principal nous paraît devoir être
porté sur cette catégorie.
Cette catégorie est composée de cinq
sous catégories, à savoir Variation orthographique,
Parenthèses incorrects, Espace avant et après les
exposants, Coupure de mot et Divers. Les solutions
envisagées pour les trois premières sous-catégories sont
faciles à mettre en œuvre. Ces sous catégories
représentent 35 cas sur les 45 que compte la catégorie. Un travail
sur cette catégorie devrait donc facilement améliorer les
performances du système.