Chapitre 7 : Présentation et développement des outils TAL
4 Amélioration et développement des outils pour l’Arabe
4.4 Amélioration d’ASVM et construction d’un nouveau corpus arabe
4.4.1 Mise à jour du segmenteur d’ASVM
4.4.1.1 Développement
Avant d’intégrer l’analyseur morphologique ASVM dans notre plate-forme nous
avons décidé d’améliorer les performances de l’analyseur ASVM en corrigeant les erreurs
faites par son segmenteur.
Pour corriger ces faiblesses, nous avons développé un outil sous la forme d’un script
Perl qui normalise le texte à analyser avant la phase de segmentation et corrige la sortie de
segmenteur d’ASVM. D’abord, avant de lancer ASVM l’outil normalise les deux lettres « ى »
ay et « ي » ya (la seule différence entre ces deux lettres est la présence de deux points sous la
lettre ya). Cette étape consiste à vérifier dans un dictionnaire qui contient 392 000 mots arabes
(la description de la construction de ce dictionnaire est décrite dans la section 4) à l’aide d’une
Chapitre 7 : Présentation et développement des outils TAL
133
expression régulière si les mots dans le texte sont écrits avec la lettre « ى » ou la lettre « ي ».
Si le mot est trouvé dans le dictionnaire, mais avec la mauvaise lettre alors l’outil remplace le
mot du texte par celui trouvé dans le dictionnaire. Par exemple, le mot « ىلإ » ILA écrit avec
la lettre « ى » sans les deux points au-dessous de la lettre sera remplacé après la vérification
dans le dictionnaire par le mot « يلإ ». Si l’outil trouve le mot dans le dictionnaire avec les
deux variantes (c’est-à-dire ce mot peut être présenté sous les deux formes avec la lettre « ى »
et la lettre « ي » comme le mot « ىلع » sous et le mot « يلع » Ali), il ne modifie pas le mot et
passe aux mots suivants. Dès que l’étape de normalisation est effectuée, l’outil lance le
module de la segmentation d’ASVM. Ensuite, notre outil corrige les erreurs liées à la
mauvaise segmentation de l’article « لا » AL. L’outil identifie tous les mots qui commencent
par l’article « لا ». Par la suite, il cherche dans le dictionnaire si le mot courant existe sans
l’article « AL », si oui, alors l’outil segmente le mot au niveau de l’article en deux (par
exemple, le mot « تيبلا » devient « لا » + « تيب »). Sinon, l’outil ne modifie pas le mot et passe
aux mots suivants. Enfin, l’outil corrige la confusion faite par le segmenteur d’ASVM sur le
marqueur de féminin. L’outil vérifie si le mot segmenté peut avoir une forme masculine,
c’est-à-dire le mot existe dans le dictionnaire avec les deux formes (masculin et féminin).
Dans ce dernier cas, l’outil segmente le mot en deux (mot + marqueur de féminin « ة »). Par
exemple, le mot « ةيناجم » gratuite est féminin, ce dernier est présent dans le dictionnaire sous
les deux formes masculin et féminin, alors l’outil segmente ce mot en deux : « يناجم » + « ة ».
Dans la suite de ce chapitre, nous allons appeler l’étiqueteur ASVM initial par ASVM1 et
l’étiqueteur ASVM avec la correction de module de segmentation par ASVM2.
134
Figure 42 : Nouveau principe du module de segmentation d’ASVM après la correction
4.4.1.2 Construction d’un corpus arabe pour l’évaluation
Afin de vérifier la qualité de notre outil, nous avons besoin d’un corpus arabe
segmenté et annoté. Comme les ressources arabes sont rares est parfois inexistants, nous
n’avons pas trouvé de corpus fiable et libre pour la langue arabe. Les corpus trouvés sont soit
étiquetés automatiquement soit non segmentés. Dans le cadre de notre thèse, nous avons
décidé de construire notre propre corpus manuellement. Pour ce faire, nous avons adopté une
approche rapide en utilisant le Web, l’analyseur morphosyntaxique ASVM et quatre linguistes
arabes. Actuellement, l’utilisation du Web pour la construction rapide des corpus dans
Chapitre 7 : Présentation et développement des outils TAL
135
différents domaines et différentes langues devient de plus en plus fréquente (Meftouh et al,
2007). Après quelques recherches et analyses des contenus des sites web journalistiques
arabes tels que Aljazeera, Alhayet, Alwatan, nous avons choisi le site d’Aljazeera vu la
qualité de ses textes ainsi que la richesse de son contenu (politique, économique, tourisme,
sport, etc).
La procédure de construction du corpus se déroule en trois phases : construction du
corpus à partir du Web, prétraitement automatique, correction manuelle.
a. Construction du corpus à partir du Web
La première tâche est d'acquérir des données textuelles dans la langue arabe à partir du
site Aljazeera. Pour cela, nous avons développé un outil en Perl qui aspire les pages html à
partir d’une adresse web donnée. Pour assurer la richesse de notre corpus en vocabulaire, nous
avons choisi six thèmes : politique, religion, sport, tourisme, science et technologie et santé.
Après la phase d’aspiration des pages web souhaitées, le corpus obtenu ne peut pas être
exploitable linguistiquement. Donc nous avons développé un deuxième outil pour la
conversion des fichiers HTML en texte brut. La partie cruciale dans cette procédure de
construction du corpus est le nettoyage des fichiers des textes obtenus, c’est-à-dire isoler et
extraire les informations utiles à inclure dans notre corpus. Nous voulons supprimer les
informations non utiles (menu, des liens vers d'autres pages, graphiques, images, les styles, les
scripts). Le tableau suivant donne la taille du contenu des corpus par thème :
Thème Nombre de phrases Nombre de mots
Politique 2321 6902 Religion 1751 19243 Sport 3742 22538 Tourisme 4611 27223 Science et technologie 4367 26751 Santé 5226 28279 Total 19972 130936
136
b. Prétraitement automatique
Pour simplifier la tâche de l’étiquetage manuelle aux annotateurs, nous avons effectué
un premier étiquetage automatique à l’aide de l’outil ASVM2. La première étape consiste à
convertir le corpus obtenu en format Buckwalter (Buckwalter, 2002) car ASVM ne traite que
des textes translittérés en Buckwalter (voir en annexe la table de Buckwalter). Pour cela, nous
avons développé un outil de translittération en Perl qui prend un texte arabe encodé en utf-8 et
rend en sortie un texte translittéré. À la fin, nous avons lancé ASVM2 sur notre corpus pour
obtenir un texte segmenté et étiqueté.
Notons que le jeu d’étiquette pour l’annotation automatique de ce corpus est le même
que celui utilisé par l’analyseur ASVM.
c. Correction manuelle
Comme ce corpus a été créé pour évaluer l’amélioration de module de la segmentation
d’ASVM, alors le corpus doit être fiable et ne pas contenir d’erreurs de segmentation ou
d’étiquetage. La meilleure solution pour corriger notre corpus est de passer par une phase de
vérification manuelle à l’aide des linguistes natifs
28. D’abord, nous avons divisé le corpus en
quatre parties en conservant la même taille. Ensuite, la phase d’annotation manuelle se
déroule en trois étapes :
- Dans la première étape, chaque annotateur vérifie si la pré-segmentation d’ASVM est
correcte ou non. Dans le cas où la segmentation est fausse, l’annotateur doit corriger
les erreurs.
- De même, dans cette étape, chaque annotateur vérifie si l’étiquetage par ASVM est
correct ou non. Dans le cas où l’étiquetage est faux, l’annotateur doit corriger les
erreurs.
- Dans cette étape, l’annotateur met un astérisque s’il a le moindre doute sur la faute (au
niveau de la segmentation ou bien de l’étiquetage).
Enfin, les annotateurs valident ensemble après une discussion entre eux les fautes où il
y a des astérisques, sachant que le prétraitement du corpus a diminué le temps dédié à la
segmentation et à l’annotation manuelle du corpus.
28
Les linguistes sont des étudiants des langues en Master à l'université Stendhal. Ils sont d'origine tunisiens.
Chapitre 7 : Présentation et développement des outils TAL
137
4.4.1.3 Évaluation
Après la construction du corpus fiable pour la langue arabe, nous pouvons maintenant
évaluer la qualité de l’analyseur ASVM après l’amélioration de son module de segmentation.
La meilleure façon d’évaluer la performance de deux modules (segmentation et étiquetage)
est de calculer le taux de la segmentation correcte et l’annotation correcte sur le corpus
d’évaluation ainsi que la précision et le rappel. Pour cela, nous avons développé un script Perl
que prend en entrée le corpus segmenté et étiqueté automatiquement ainsi que le corpus
étiqueté manuellement. À la fin, le script affiche en sortie le taux, la précision et le rappel
selon les formules suivantes :
- Le rappel mesure la proportion de segmentations correctes faites par ASVM2 par
rapport au total de segmentations correctes.
- La précision mesure la proportion de segmentations correctes faites par ASVM2 par
rapport au total de segmentations possibles.
Le tableau suivant montre les résultats de la segmentation du corpus d’évaluation.
Système Taux Précision rappelASVM1 96.7 83.2 86.6 ASVM2 99.8 97.5 99.3
Tableau 24 : Le nouveau résultat obtenu par ASVM2 par rapport à ASVM1 (en %)
Ce tableau montre une augmentation significative de la performance du module de la
segmentation. De plus, nous devons vérifier si notre modification n’a pas affecté le module
d’étiquetage d’ASVM. Le tableau suivant montre les résultats de l’étiquetage de notre corpus
d’évaluation par ASVM1 et ASVM2.
Système Taux ASVM1 90.3 ASVM2 98.8