Chapitre 6 : Reconnaissance multilingue de l’écriture manuscrite
4 Construction des ressources linguistiques et le corpus d’encre
Pour le développement, l’entraînement et le test d’un système de reconnaissance de
l’écriture manuscrite, nous avons besoin de trois types de ressources linguistiques ; lexique,
corpus de textes et corpus manuscrits. Concernant les lexiques, nous avons gardé les mêmes
lexiques utilisés dans notre plate-forme (chapitre 7) pour les deux langues, arabe et française,
car, la taille de deux lexiques est importante et permet l’entraînement des réseaux des
neurones. Pour le corpus de texte, nous avons gardé le même corpus pour la langue arabe
(corpus Wikipédia de 25 000 000 mots). Par contre, nous avons besoin de construire un
corpus pour le français. De plus, un système de reconnaissance de l’écriture nécessite un
corpus de textes manuscrits pour le développement, l’entraînement et le test du système.
4.1 Construction de corpus de textes pour le français
La collecte d’encre nécessite un corpus de textes varié, riche et fiable (mots corrects,
pas de forums ou chats, pas de coquilles). Pour cela, nous avons construit notre propre corpus
manuellement. Pour ce faire, nous avons adapté la même approche utilisée pour la
construction de corpus arabe en utilisant le web. Actuellement, l’utilisation du web pour la
construction rapide des corpus dans différents domaines et différentes langues devient de plus
en plus fréquente (Meftouh et al, 2007). Nous avons choisi le site web du journal Le Monde
13pour la construction de notre corpus, car il est riche au niveau des thèmes (sport, politique,
culture, économie, finance, etc.).
La première tâche est d'acquérir des données textuelles à partir du site Le Monde. Pour
cela, nous avons aspiré les pages HTML à partir d’une adresse web donnée. Puis, une phase
de conversion du HTML en texte brut, afin de rendre le corpus exploitable linguistiquement.
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
13
Chapitre 6 : Reconnaissance multilingue de l’écriture manuscrite
101
pages, graphiques, images, les styles, les scripts, etc.). Enfin, nous avons obtenu un corpus
propre de 15 000 000 mots.
4.2 Construction des corpus d’encre
Un moteur de reconnaissance de l'écriture manuscrite nécessite une base de données
qui contient des informations de référence en ce qui concerne la forme de chaque caractère ou
de chaque mot. Ces informations de référence aident le système de reconnaissance à
interpréter l’encre. De plus, ces bases utilisées permettent la validation du comportement de
notre solution à base de réseaux de neurones développée ainsi que les tests de performance.
Pour être générique et être capable d'interpréter autant de variations que possible, les
données de référence collectées devraient être fondées sur des écritures autant diversifiées que
possible. En effet, les grands corpus avec de grands ensembles de données sont une condition
essentielle pour la recherche et le développement dans le domaine de la reconnaissance
d'écriture.
Actuellement, il existe des bases de données d’encre qui ont été développées. Par
exemple, pour l'écriture latine, de nombreuses bases de données existent comme pour le
français UNIPEN (Guyon et al, 1994), IRONOF (Viard-Gaudin et al, 1999), NIST, etc. Ces
bases d’encre contiennent des caractères isolés, des chiffres et des mots en français au format
UNIPEN. De plus, elles présentent l'avantage de contenir un nombre important de données
provenant de plus de 3 000 scripteurs (2200 scripteurs pour UNIPEN et 700 scripteurs pour
IRONOF) ; cependant, ces bases ont une qualité d'acquisition des tracés qui n'est pas
constante. Vu ces contraintes liées à la qualité de l’encre et au type de contenu (caractère
isolé, mot), ces bases ne peuvent pas être exploitées dans nos travaux de recherche et
développements d’un système de reconnaissance de l’écriture manuscrite à destination de
l’ALAO.
Pour l'écriture arabe, de nombreuses bases de données ont été produites, mais peu sont
accessibles au public. En fait, les chercheurs ont développé leurs bases de données privées
représentant généralement de petits dictionnaires avec lexique limité ou tout simplement des
formes isolées de lettres et / ou des chiffres. Le nombre de scripteurs est aussi limité. En
conséquence, jusqu'à présent, il n'y a aucune base de données d’encre complète et robuste
consacrée à la reconnaissance de l'écriture manuscrite en de script arabe.
Après l’étude de bases de données d’encre existantes et vue l’incompatibilité (au
niveau taille, diversité des scripteurs, contenu, etc.) de ces bases avec nos besoins pour le
102
développement d’un système d’apprentissage de langue, nous avons décidé de construire nos
propres bases. Comme la phase de la collecte de l’encre est très coûteuse, nous avons travaillé
cette partie en collaboration avec la société 3AO. Dans cette section, nous décrivons la phase
de préparation de la collecte, puis le déroulement de la collecte ainsi les résultats obtenus.
4.2.1 Collecte de l’encre
Dans cette étape, nous devons préparer 200 formulaires pour le français et 200
formulaires pour l’arabe contenant les textes à faire recopier par les intervenants ou les
scripteurs. Chaque formulaire est composé de six pages : habituellement, trois pages
contiennent l'ensemble des nombres et des mots, deux pages contiennent l'ensemble des
phrases courtes et phrases longues, une page contenant des paragraphes. Par conséquent, il
faut préparer des données pour générer 200 formulaires (600 pages) par langue. Le but est
d’utiliser 170 formulaires pour l’entraînement de notre système et 30 formulaires pour le test.
Pour cela nous avons préparé les données nécessaires pour générer 400 formulaires pour le
français et l’arabe.
- Les caractères : La première partie du formulaire est composée de l'ensemble des
caractères de la langue ; l’alphabet qui contient l’ensemble des lettres d’une langue
donnée (minuscules et majuscules), les nombres
14qui contiennent l’ensemble des
nombres utilisés dans la langue et les symboles tels que les signes mathématiques (+,
-, *-, etc.)-, les signes de ponctuation-, les symboles utilisés souvent dans la rédaction (@-,
&, #, $, etc.).
- Les mots : Ils représentent l’ensemble des mots extraits à partir de notre lexique.
- Les phrases : Elles représentent l’ensemble des phrases longues et courtes. Ces phrases
ont été extraites à partir de corpus (Wikipédia pour l’arabe et Le Monde pour le
français). Pour les phrases courtes, la taille d’une phrase doit être entre 30 et 50
caractères (habituellement, 10 phrases courtes par formulaire), pour les phrases
longues, la taille d’une phrase doit être entre 90 et 130 caractères (habituellement, trois
phrases courtes par formulaire).
- Les textes : Ils contiennent deux ou trois phrases d’une longueur comprise entre 30 et
130 caractères pour un total compris entre 200 et 240 caractères (généralement, un
14
La langue arabe supporte les nombres arabes (٠, ١, ٢, ٤, etc.) et les nombres latins (1, 2, 3, etc.) car dans certains pays arabes (Tunisie, Maroc, Algérie, etc.) les gens utilisent les numéros latins.
Chapitre 6 : Reconnaissance multilingue de l’écriture manuscrite
103
texte par formulaire). Ces paragraphes ont été extraits à partir de corpus (Wikipédia
pour l’arabe et Le Monde pour le français).
Les trois ensembles (phrases courtes et longues, et textes) doivent être mélangés
alphabétiquement.
Une fois les données prêtes, nous avons vérifié leur qualité (encodage, propreté des
lexiques et textes, etc.). Puis, nous avons développé un outil Perl qui permet à partir des
données préparées de générer les formulaires finaux. Enfin, une phase de vérification de
contenu des formulaires est nécessaire. Cette phase doit être effectuée par une personne
native.
4.2.2 Phase de la collecte de l’encre
Une fois les formulaires générés et vérifiés, la prochaine étape consiste à les imprimer
dans des formulaires papiers Anoto. Nous avons besoin de 200 intervenants natifs français et
200 intervenants natifs arabes pour le remplissage des formulaires. De plus, nous avons
besoin de stylos numériques
15qui sont nécessaires pour récupérer l’encre à la fin de cette
phase. Dans notre collecte, nous avons utilisé des stylos numériques Nokia SU-1B. Ils ont une
résolution spatiale de 677 points par pouce (dpi) et une fréquence d'échantillonnage de 100
points par seconde (100Hz).
Figure 33 : Stylo numérique
15
Un stylo numérique ou stylo intelligent : est un stylo numérique à encre capable d’enregistrer les traits tracés par l’utilisateur, de manière à les transmettre à un ordinateur et les rendre utilisables.
104
À l’aide de la société 3AO, nous sommes arrivés à obtenir le nombre souhaité des
intervenants pour les deux langues. Le tableau suivant montre les résultats obtenus concernant
l’encre collectée (les résultats obtenus sont les mêmes pour les deux langues) :
Type de données Taille de données
Caractères 40 600 caractères
Mots 7 200 mots
Phrases courtes 2 000 phrases
Phrases longues 600 phrases
Textes 200 textes