Télécharger le fichier pdf d’un mémoire de fin d’études
Pré-traitements sur les documents anciens
La reconnaissance d’écriture manuscrite est une tâche relativement difficile sur des documents anciens dû aux dommages causés par le temps ou la conservation, au style de l’écriture ou encore à la grande quantité d’information. Suivant la nature du document et l’objectif de l’étude, les pré-traitements sont nécessaires et doivent être adaptés.
Suppression du bruit c’est-à-dire supprimer le fond de l’image qui peut freiner un système de reconnaissance d’écriture manuscrite, car il contient par exemple le verso d’une page, ou des trous et des taches dans les pages, des lignes ou autres ornements pour structurer les informations. Pour cela, un ensemble de filtres (passe-haut, passe-bas ou encore morphologique) peuvent être appliqués afin de différencier et supprimer les éléments superflus, un aperçu de ces approches est fourni par (Ketata et Khemakhem 2010) ; des méthodes (comme Particle Swarm Optimization, PSO) (Quraishi et al. 2013) combinant des filtres bilatéraux et des algorithmes ou par variation totale qui construit une image intermédiaire utilisée comme masque afin d’atténuer le fond avant d’utiliser un filtrage moyen non local (Likforman-Sulem et al. 2011).
Binarisation signifie convertir les images en niveaux de gris en noir et blanc. Le but est de séparer en deux classes bien distinctes le fond de l’encre. Les méthodes les plus simples sont l’utilisation de filtres gaussiens et la définition d’un seuil d’intensité global, appelée Otsu (Otsu 1975). Ces méthodes ne donnent pas toujours l’effet escompté sur des documents dégradés localement, des alternatives locales ont été proposées ( (Gatos et al. 2006), (Gatos et al. 2008), (Shi et Govindaraju 2004) ou encore (Su et al. 2010)).
Correction des lignes de texte c’est-à-dire les méthodes qui corrigent l’incli-naison des mots, et des lignes (skew). Il n’est pas rare de trouver des lignes incurvées dans les documents historiques, il est préférable de corriger les lignes de bases pour homogénéiser l’ensemble des documents, et favoriser l’extraction de caractéristiques. Il existe différentes méthodes pour corriger les lignes de bases : par projection horizontale des profils (Vinciarelli et Luettin 2001), par interpolation des contours (Bozinovic et Srihari 1989), par estimation de la ligne de base au niveau mot (Lemaitre et al. 2009) ou au niveau de la ligne (Lemaitre et al. 2011 ; Boukharouba 2017) ou encore par correction locale (Espana-Boquera et al. 2011). Il existe plusieurs articles faisant une comparaison de l’ensemble des méthodes existantes comme (Rehman et Saba 2011).
Correction de l’inclinaison de l’écriture (slant) l’angle de l’inclinaison de l’écri-ture va être modifié pour effacer les différences entre les scripteurs. Pour cela, une estimation de l’angle est effectuée globalement ou localement (Caesar et al. 1993 ; Vinciarelli et Luettin 1999 ; Uchida et al. 2001 ; Zeeuw et al. 2006 ; Bertolami et al. 2007) puis l’image du texte est modifiée, généralement par cisaillement.
Normalisation de la hauteur de l’écriture c’est-à-dire que les zones de hampes et de jambages et la zone centrale sont fixées à une certaine hauteur (Marti et Bunke 2001).
Extraction de caractéristiques
L’étape d’extraction des caractéristiques sur les images pour représenter les informations est primordiale pour assurer un système de reconnaissance d’écriture manuscrite de qualité. Les images de mots, lignes ou blocs qui sont en deux dimensions, sont transformés en un vecteur de caractéristiques ce qui correspond à un ensemble de valeurs numériques représentant un segment de l’image. Ce sont ces informations qui alimentent les systèmes de reconnaissance d’écriture manuscrite. Le calcul des caractéristiques peut se faire par l’intermédiaire d’une fenêtre glissante (à largeur fixe, et hauteur fixe ou adaptée), par segmentation en caractères (ou graphèmes) ou bien sur l’image complète de la séquence. Dans certaines études, les auteurs ont choisi d’utiliser directement les valeurs brutes des pixels de l’image comme caractéristiques d’entrée (Swaileh et al. 2017a). Le choix de la fenêtre glissante est important pour représenter un segment au mieux, mais les pré-traitements sont également importants et vont influer sur les méthodes utilisées. Nous proposons dans cette partie, une liste non-exhaustive des principales méthodes existantes. Nous les classons selon trois catégories : statistiques et structurelles, directionnelles, et par apprentissage.
Caractéristiques statistiques et structurelles L’ensemble de ces méthodes sont au plus proche des vraies valeurs de pixels. Elles utilisent essentiellement des images binaires et la taille de la fenêtre d’observation reste assez restreinte. La longueur du vecteur de caractéristiques obtenues est directement liée à cette fenêtre. Les caractéristiques statistiques se basent sur la valeur directe des pixels alors que les caractéristiques structurelles étudient l’agencement des pixels les uns par rapport aux autres. Ces dernières sont très sensibles au bruit dans les images, il faut donc être prudent quant au choix des pré-traitements. Voici les méthodes les plus utilisées dans cette catégorie :
— la valeur des pixels ;
— le nombre de transitions observées entre l’écriture et l’arrière-plan ;
— le nombre de pixels d’encre observés ;
— la position des contours supérieurs et inférieurs dans la fenêtre ;
— la moyenne des valeurs des pixels ;
— le moment des pixels du contour ;
— la position du centre de gravité ;
— la position des lignes bases (ou références).
Des études répertorient plus largement ces types de méthodes comme (Mohamad et al. 2015). Caractéristiques statistiques et directionnelles Dans cette catégorie, nous pré-sentons les deux méthodes les plus utilisées et performantes qui permettent de décrire l’orientation des traits par la construction d’histogrammes orientés. La première méthode est une transformation de caractéristiques invariante à l’échelle, appelée SIFT (Lowe 1999a ; Lowe 2004). Elle se base sur un ensemble de points clés détectés dans l’image par une convolution à l’aide d’une fonction gaussienne. Puis, un calcul du gradient est opéré pour chacun des points clés, avant de construire l’histogramme des orientations sur 360°. La seconde méthode est l’histogramme des gradients orientés, appelée HOG. Cette méthode a été proposée pour de la reconnaissance de gestes (Freeman et Roth 1995) et la détection d’objets (Dalal et Triggs 2005). Depuis, elle a été régulièrement utilisée dans la reconnaissance d’écriture (Terasawa et Tanaka 2009 ; Howe et al. 2009). Comme pour la méthode précédente, l’histogramme des orientations du gradient est construit sur l’ensemble des points de l’image cette fois, ou en la divisant en cellule.
La figure 2.2a montre une image extraite de notre corpus de la Comédie-Italienne qui a été binarisée à l’aide de la méthode de seuillage Otsu, puis sur laquelle a été appliquée la méthode HOG. La figure 2.2b montre le résultat obtenu pour des blocs constitués de 8 × 8 cellules, chacune composée de 8 × 8 pixels. La concaténation des histogrammes donne la possibilité d’adapter le niveau d’observation des objets dans une image selon le but de l’étude.
Pour sélectionner les caractéristiques les plus appropriées pour une tâche donnée, des études réalisent une analyse par composantes principales des vecteurs de caractéristiques obtenus (ACP) ce qui permet également de réduire la quantité d’information décrivant une image (Vinciarelli et Bengio 2002).
Caractéristiques par apprentissage Ces dernières années, de nouvelles méthodes d’extraction de caractéristiques par apprentissage se sont répandues dans les domaines du Vision Object et en Reconnaissance de la parole. Principalement construites à partir de réseaux de neurones, elles ont l’avantage de pouvoir opérer une extraction non supervisée des caractéristiques sans connaissances à priori sur les images. De plus, il est possible d’obtenir une représentation de l’image à différentes échelles. Il existe différents types de systèmes : des réseaux de neurones simples, à base de convolution ou des auto-encodeurs.
Depuis 2012, la résolution de la tâche de classification d’images a été régulière-ment gagnée par des systèmes utilisant ces réseaux à convolution comme (Kriz-hevsky et al. 2012 ; Simonyan et Zisserman 2014a ; He et al. 2016 ; Kölsch et al. 2017), ou dans la détection d’élément dans des images naturels (Wang et al. 2017). Dans le cadre de l’analyse de documents manuscrits, nous retrouvons l’utilisation de réseaux à convolution dans différentes tâches comme la segmentation des documents (He et al. 2017), la détection de zones (Yi et al. 2017), la recherche et classification d’éléments (Tensmeyer et al. 2017) ainsi qu’en reconnaissance de l’écriture comme opérateur de pré-traitement (Wigington et al. 2017 ; Tens-meyer et Martinez 2017) ou simple extracteur de caractéristiques (Bluche et Messina 2017 ; Ding et al. 2017). Les réseaux à convolution sont des réseaux de type feed-forward dont la première couche au moins est une convolution. Cette couche de convolution prend en son entrée, des objets en deux ou trois dimensions (comme les images en couleurs par exemple). Elle est définie par un ensemble de filtres de taille restreinte (classiquement ces filtres sont limités à 3 ou 5 pixels de largeur et hauteur) qui s’étendent sur la profondeur. Donc chaque filtre parcourt l’ensemble de l’image afin de calculer le produit scalaire des pixels de la fenêtre. Le résultat est, ce que l’on nomme, une carte d’activation en deux dimensions. Deux hyper-paramètres sont à définir pour contrôler la taille de la carte d’activation :
— le chevauchement pour la fenêtre d’observation, avec une valeur de 1, le filtre se déplace de pixel en pixel sur l’image ;
— la création d’une marge autour de l’image (padding) : remplie de la valeur 0, appelée zero-padding, ou de la valeur identique à l’image ; si la taille de la marge est égale à la moitié de la taille du filtre, cela permet d’avoir une carte de caractéristiques de la même taille que celle de l’entrée, appelée same-padding.
Chaque filtre définit un ensemble de caractéristiques à une échelle différente selon sa position dans l’architecture du réseau. L’avantage de la couche de convolution réside dans le partage des poids par tous les neurones d’une même couche ce qui réduit le temps d’apprentissage. Cette couche est souvent suivie d’une couche de sous-échantillonnage, appelée Pooling qui en partitionnant l’entrée, réduit l’image d’entrée. Il faut définir la taille du filtre ainsi que le pas pour appliquer ce dernier. Cette méthode permet de réduire encore un peu plus le nombre de calculs et d’éviter le sur-apprentissage puisque les informations sont réduites. Finalement, (Zheng et al. 2016) présentent les avantages à utiliser les réseaux à convolution comme extracteur de caractéristiques ainsi que les pratiques privilégiées pour améliorer les performances des réseaux.
De nouvelles techniques utilisant les auto-encodeurs à variation (Pu et al. 2016), à convolution (Masci et al. 2011), pour débruiter (Du et al. 2017 ; Rifai et al. 2011 ; Vincent et al. 2010) sont venues enrichir les méthodes non-supervisées existantes d’extraction de caractéristiques discriminantes. Les auto-encodeurs sont des réseaux de neurones composés d’un encodeur qui prend une image x en entrée et active des couches de taille de plus en plus petite pour en obtenir une représentation réduite, et d’un décodeur qui à partir de cette représentation reconstruit une image x0 en sortie. Durant l’apprentissage, la différence entre l’entrée et la sortie est calculée pour être ensuite rétropropagée et corriger le modèle. Une fois l’apprentissage terminé, la partie décodeur est retirée du modèle afin d’utiliser la sortie de l’encodeur comme ensemble de caractéristiques. Cette méthode est utilisée pour des tâches telles que le regroupement non-supervisé de documents (Seuret et al. 2015).
Systèmes état de l’art
Parmi les méthodologies de reconnaissance de l’écriture manuscrite, on peut faire ressortir trois types de systèmes. À la fin des années 90, les modèles de Markov cachés (HMM) se sont imposés en surclassant par leur capacité d’apprentissage sur des séquences les approches structurelles qui prévalaient alors (Bunke et al. 1995 ; Park et Lee 1996 ; Fine et al. 1998). Ensuite, le pouvoir discriminant des réseaux de neurones a permis, à travers des systèmes hybrides neuro-markoviens, de mieux modéliser le caractère local et global de l’écriture (Koerich et al. 2002 ; Fischer et al. 2012). Enfin, depuis quelques années, les architectures de type BLSTM, définies ci-dessous, intègrent encore mieux cette capacité à mixer du local et du global, avec des effets de contexte, pour optimiser une décision sur une séquence complète (Fischer et al. 2009a ; Grosicki et El Abed 2009a).
Approches stochastiques
Un modèle de Markov caché (HMM) est un modèle probabiliste qui modélise et reconnait des séquences temporelles. Les HMMs sont des processus doublement stochastiques émettant à la fois des probabilités pour passer d’un état vers un autre ainsi que des probabilités d’observations. Le modèle prend en entrée une séquence d’observation, notée x = x0 , x1, x2 , . . . , xn, qui correspond au vecteur de caractéristiques extrait souvent à l’aide d’une fenêtre glissante. Pour cette séquence d’entrée x, le modèle cherche à maximiser la probabilité d’observation d’une séquence émise par les états cachés. La probabilité d’émettre une observation
O = (o0, o1, o2, . . . , oT ) représente la possibilité qu’un état caché Q = (q1, q2, . . . , qT ) génère cette observation à un instant t. L’ensemble des probabilités d’émettre une observation pour chaque état est une matrice de taille N×M où les valeurs N et M correspondent respectivement aux nombres d’états et aux nombres d’observations.
À chaque instant t, la probabilité d’émettre un symbole k dans un état qj s’écrit M bj(k) = P(ot = vk|qt = sj) dans le cadre d’un modèle discret et bj(Ot) = P j=1 Cjm N (Ot, µm, Ujm) dans le cadre d’un modèle continu mettant en œuvre une distribution gaussienne. Les différentes notations entre modèle continu et discret sont regroupées dans la table 2.1.
Un modèle HMM se définit par λ = {A,B,π} pour une entité donnée :
— A est la matrice carrée de taille N × N qui donne la probabilité aij de passer d’un état à un autre indépendamment du temps, car c’est un système stationnaire ;
— B est la matrice de taille N × M qui fournit la probabilité d’émettre une observation dans un état qi avec la particularité d’avoir la somme des observations pour un état donné égal 1.
— πi est la distribution initiale de chaque état.
Globalement, lorsque l’on cherche à reconnaître une entité, par exemple un mot (une ligne ou un caractère) grâce à un système de HMMs, il faut calculer pour chaque modèle λi celui qui maximise la vraisemblance pour une suite d’observations données. L’ensemble des probabilités mentionnées sont représentées sur la figure 2.3.
L’apprentissage des paramètres se fait automatiquement grâce à un algorithme efficace Baum-Welch. Ce dernier est un cas particulier de l’approche Expectation- Maximisation permet de maximiser la vraisemblance pour chaque modèle λi. Il utilise également un autre algorithme connu qui est Forward-Backward qui permet de calculer les probabilités d’observations dans les états cachés. L’algorithme récursif Forward calcule la probabilité αt(i) d’observer une séquence dans un état donné à l’instant t sachant qu’il existe N chemins pour arriver dans cet état ; tandis que l’algorithme Backward calcule la probabilité βt+1 (j) d’observer une séquence dans un état supposé à l’instant t. Ce dernier principe parcourt le modèle de la fin vers les états initiaux. L’équation 2.1 est utilisée pour calculer la probabilité d’être dans un état si à l’instant et dans l’état sj l’instant suivant avec la participation de la probabilité 2.2. L’équation 2.3 permet de calculer la probabilité d’être dans un état si à l’instant t. Les paramètres aij et bj(k) du modèle λ sont ré-estimés en combinant les résultats obtenus pour les équations 2.1 et 2.3, cela correspond à l’étape de Maximisation de Baum-Welch.
Une fois l’estimation de l’ensemble des paramètres opérée, l’algorithme de Viterbi est appliqué pour décoder une séquence donnée. Pour cela, il sélectionne le chemin optimal à travers les états afin de produire la séquence donnée.
Comme cela a été évoqué précédemment, les modèles HMMs peuvent être discrets, continus ou bien encore semi-continus. Cela se traduit concrètement par une différence sur la méthode utilisée pour émettre les probabilités d’observation d’une entité. Les modèles HMM continus utilisent des gaussiennes pour estimer les probabilités d’émissions des états de HMM comme le montre la figure 2.3. La table 2.1 permet de comparer un système discret et continu. La différence notable entre une chaîne continue et semi-continue est que la dernière partage les paramètres c’est-à-dire qu’un ensemble de gaussiennes est défini et chaque état partage cet ensemble. Cela permet d’éviter le sur-apprentissage. Il existe également des systèmes dits hybrides combinant des réseaux de neurones types MultiLayer Perceptron (MLP) et des modèles de Markov. Les réseaux de neurones sont utilisés pour calculer les probabilités d’émission des états. Le nombre de neurones dans la couche d’entrée correspond au nombre de caractéristiques utilisées et extraites sur les données. Ils sont généralement constitués d’une ou deux couches cachées avec une quantité de neurones supérieure à la couche d’entrée. Pour le reste, les modèles hybrides et continus sont similaires. Toutes ces méthodes sont présentées sur la figure 2.3.
Dans la reconnaissance d’écriture manuscrite, deux approches se retrouvent avec les différents modèles de HMM : une approche dite globale avec un système de modèles comportant autant de modèles que de mots ; ou une approche analytique avec un modèle par caractère, ces modèles peuvent ensuite être concaténés pour former des modèles de mots. Cependant, il est nécessaire de porter une attention particulière à la segmentation et le nombre d’états par modèles. En effet, si le modèle avec un découpage en graphème a été choisi, cela permettra d’avoir une grande quantité et flexibilité de mots reconnus du lexique, mais cela implique un souci sur les ligatures entre les caractères (un caractère suivant sa position dans le mot aura des ligatures changeantes). Dans le cas d’un modèle de mots, le nombre de mots reconnus sera forcément limité, mais permettra une extraction plus précise de mots clés dans un document qu’avec une concaténation de modèles de lettres.
Approches neuronales profondes
Réseau de neurones récurrents (RNN) Depuis quelques années, les réseaux de neurones récurrents (RNN) révolutionnent le domaine. Ces méthodes discriminatives présentent un grand nombre d’avantages, comme une forte robustesse au bruit, et ils n’ont pas besoin de connaissances a priori. La récurrence de ce classifieur se matérialise par la liaison entre la sortie de chaque neurone n à l’instant t − 1 à sa propre entrée à l’instant t comme le montre la figure 2.4. La mémoire du neurone (c’est-à-dire son activation) lui permet de prendre en considération le contexte ce qui a pour effet d’augmenter les performances des RNN. L’apprentissage des poids du réseau se fait par la méthode de la rétro-propagation du gradient (Werbos 1990) de manière itérative. Pour cela, l’erreur du gradient est calculée et propagée à travers le réseau pour l’ensemble des neurones. L’objectif est de converger vers un minimum global (idéalement). Cette méthode présente un problème majeur. En effet, à long terme, le gradient diminue rapidement au point de disparaître (Hochreiter et al. 2001), ce phénomène est appelé Vanishing Gradient. La conséquence sur le réseau est qu’il aura une tendance à ne prendre en compte que le contexte proche, ce qui est un problème en reconnaissance d’écriture où les images de mots et de lignes sont longues. Nous pouvons également relever un autre problème lié à l’apprentissage des poids qui sont en grande quantité dans ce type de réseau. Cela implique d’avoir une quantité de données suffisante afin d’éviter le risque de sur-apprentissage.
Définition de nouvelles cellules Pour résoudre le problème de “la disparition du gradient”, (Hochreiter et Schmidhuber 1997a) ont proposé un bloc mémoire appelé Long Sort-Term Memory (LSTM). Ce bloc est présenté sur la figure 2.5. Il est composé d’une ou plusieurs cellules centrales C, leurs états sont contrôlés par trois types de portes (des portes d’entrée it, de sortie ot et d’oubli ft) qui sont elles-mêmes connectées au(x) cellule(s). Ces portes permettent de synchroniser les différentes entrées et sorties d’un état t. La porte d’entrée a pour fonction de contrôler si la nouvelle information doit être prise en compte dans le calcul de l’activation de la cellule ; la porte de sortie contrôle si l’activation de la cellule est propagée dans la sortie ; et la porte d’oubli contrôle la mémoire de la cellule et permet de la réinitialiser si besoin est. Ce type de cellule est efficace pour les systèmes ayant besoin du contexte temporel à long terme. Cependant, l’apprentissage d’un réseau composé de cellules LSTM nécessite toujours d’avoir une grande quantité de données.
Un autre type de cellule Gated Recurrent Unit (GRU) a été proposé par (Cho et al. 2014a). Cette cellule est plus simple qu’une cellule LSTM, elle possède moins de paramètres à apprendre comme le montre la figure 2.6. Elle ne possède pas de mémoire, mais exploite directement les informations des états précédents. Elle est constituée de deux portes, zt pour faire une mise à jour du contenu et rt pour ré-initialiser et ainsi faire oublier le précédent calcul. L’utilisation de cette cellule permet d’accélérer la vitesse d’apprentissage dû à la différence de paramètres à calculer. Cependant, différentes études ont comparé l’utilisation de ces deux cellules sans parvenir à une véritable conclusion (Chung et al. 2014 ; Irie et al. 2016), cela dépend de la tâche à réaliser et de la quantité de données disponibles.
Réseaux de neurones xDimensionnels Que ce soit avec les modèles de Markov cachés ou les réseaux de neurones récurrents, ils prennent en entrée un signal à 1 dimension, ne prenant en compte que le contexte passé. Une autre manière d’amé-liorer les performances des systèmes est de considérer l’information passée forward (comme c’était déjà le cas), mais également future appelée backward (Schuster et Paliwal 1997). Cela signifie que dans le cadre de la reconnaissance d’écriture manuscrite que la séquence d’entrée est lue de gauche à droite c’est-à-dire suivant le sens de l’écriture ainsi que de droite à gauche c’est-à-dire dans le sens inverse. Pour un caractère donné, une décision pourra être prise prenant en compte les caractères précédents et suivants. Ces réseaux sont appelés “bidirectionnel”. D’un point de vue architectural, cela se modélise avec deux couches cachées de neurones récurrents (l’une avant et l’autre arrière) indépendantes durant la phase d’appren-tissage. Puis, les activations des deux couches sont combinées dans la couche de sortie. La figure 2.7 montre un exemple d’un réseau de neurones bidirectionnel utilisant des cellules LSTM (BLSTM). Le fonctionnement est exactement le même pour de simples neurones récurrents, le modèle est alors appelé BRNN. Les modèles BLSTM ont montré de meilleurs résultats en reconnaissance d’écritures par rapport aux HMM comme le prouve l’article (Graves et al. 2009) ainsi que (Fischer et al. 2009b) qui ont testé cette méthode sur de la reconnaissance d’écritures manuscrites médiévales offline. La combinaison du passé et du futur semble rendre le système plus stable.
Une des dernières architectures, devenue une référence, est l’utilisation de réseaux multidimensionnels. Le signal d’entrée n’est plus seulement parcouru horizontalement, mais exploite toutes les dimensions disponibles de 2 à n. Une couche cachée est alors dédiée à chaque sens de parcours sur le signal d’entrée. Pour la reconnaissance d’écriture manuscrite, l’image peut être utilisée directement en entrée du réseau sans passer par l’étape d’extraction des caractéristiques préliminaire. Ainsi, l’image est parcourue horizontalement et verticalement par le biais de quatre couches cachées. Cela permet pour un pixel donné d’avoir tout son contexte spatial indiquant sa position dans l’image. Depuis que ces architectures de type MDRNN et MDLSTM sont apparues (Graves et al. 2007 ; Graves et Schmidhuber 2009), elles dominent les compétitions en reconnaissance d’écriture manuscrite (Grosicki et El Abed 2009b ; Moysset et al. 2014). D’autres approches les combinent avec de multiples convolutions (Pham et al. 2014 ; Granell et al. 2018) favorisant plus largement l’extraction de caractéristiques.
Décodage par CTC Dans le cadre de la reconnaissance d’écriture, les réseaux que nous avons présentés jusque-là, bien qu’ils soient tous performants, ne permettent pas de faire l’alignement entre la séquence d’entrée et les étiquettes de façon automatique. Les réseaux de neurones récurrents sont utilisés pour faire de la classification temporelle de par leur structure (mémorisation de ce qui s’est passé à t − 1). Mais, ils ne permettent pas encore d’atteindre l’étape d’étiquetage d’une séquence donnée sans passer par une étape de pré-segmentation des données en caractères et de post-traitement pour étiqueter. Pour résoudre cela, initialement dans un contexte de reconnaissance de la parole, (Graves et al. 2006) ont proposé un algorithme appelé Connectionist Temporal Classification (CTC) qui permet un étiquetage de la séquence sans avoir connaissance au préalable de l’alignement. Globalement, il autorise le système à ne pas prendre à chaque instant de décision sur un caractère potentiel en intégrant un joker dans les sorties possibles. Il s’applique sur la couche de sortie de type Softmax du réseau de neurones BLSTM comme à son origine, ou même MDLSTM.
La couche de sortie est constituée de A + 1 étiquettes (neurones) où A est un alphabet (par exemple : lettres latines, espace, et ponctuations). L’étiquette supplémentaire est un joker appelé blank, qui peut être utilisé pour séparer des caractères qui se répètent, pour différer une décision, ou simplement pour ne pas répéter une étiquette. À chaque instant t, l’ensemble des étiquettes ont une k est la probabilité pour une étiquette à un instant donné. Cela s’interprète comme la probabilité d’observer cette étiquette à un instant t pour une séquence d’entrée x de longueur T. Finalement, la probabilité d’avoir une séquence d’étiquettes π est calculée pour une séquence X avec la probabilité y d’observer une étiquette à un instant t
Une entrée donnée peut être décrite par plusieurs séquences différentes. Pour résoudre cela, une fonction surjective B est définie pour supprimer les répétitions de caractères non séparées par un blank puis pour supprimer les blank. Par exemple, la séquence {__SSS_o_ppp_hh_i__ee___} devient {Sophie}. Finalement, la probabilité de la séquence d’étiquettes finale l est calculée à partir de l’ensemble des chemins possibles :
Le CTC nécessite une modification de la phase d’apprentissage du réseau récurent en utilisant un algorithme Forward-Backward similaire à celui des HMM, mais en intégrant un treillis afin d’intégrer le label blank au sein de l’ensemble des étiquettes (au début, fin et entre chaque caractère). Il prend ainsi en considération l’ensemble des séquences possibles correspondant à la séquence d’entrée.
Pour reconnaitre une séquence de caractères à partir d’un BLSTM déjà appris, il faut pouvoir décoder la sortie du réseau. Il existe plusieurs méthodes de décodage possibles :
— le décodage par le meilleur chemin qui consiste simplement à sélectionner la sortie la plus active à chaque instant t, puis à toutes les concaténer en utilisant la fonction bijective B pour finalement obtenir la séquence la plus probable ;
— le décodage par recherche de préfixe calcule par récurrence la probabilité λ d’observer une étiquette à un instant t sachant le préfixe p. Cette méthode permet de prendre une décision sur la séquence d’étiquettes en prenant en compte plusieurs instants.
Ces deux méthodes admettent l’utilisation de dictionnaires et de modèles de langues pour assurer que les séquences d’étiquettes correspondent bien à des mots (et suite de mots). Les différentes méthodes de décodages, mais également de l’apprentissage adapté du forward-backward sont détaillées dans (Graves 2012b).
Cette sur-couche, combinée à un réseau type BLSTM, a montré des performances très supérieures aux systèmes hybrides comme le montre A. Graves dans ses articles que se soit en reconnaissance de la parole, ou de l’écriture (Graves et al. 2009 ; Graves 2012a). Depuis, cet algorithme CTC a été adopté dans le domaine de la reconnaissance d’écriture (Xie et al. 2016 ; Mioulet et al. 2015). D’autres études, comme celle de Bluche et al. 2015, ont comparé l’utilisation d’une topologie de type CTC sur des systèmes HMM hybrides et MLP. Ils ont ainsi mis en évidence que l’utilisation du blank permettait d’améliorer les performances dans le cas d’un système avec peu d’états et uniquement dans ce cas-là. Et, dans le cadre d’un réseau récurrent, le blank permet d’éviter des problèmes de transcriptions au début de l’entraînement et autorise plus d’associations pour une même séquence. Ils concluent sur le fait que cette méthode est plus performante avec un réseau récurrent qu’un autre système. Le point négatif de ce type de système est que le temps d’apprentissage des réseaux récurrents est plus grand que pour un système de chaînes de Markov, mais cela est compensé au moment du décodage où il prend largement le dessus.
Modélisation du langage
Les résultats produits par les réseaux que nous avons présentés ne sont pas parfaits. Il est important de leur apporter de l’aide afin que les séquences pro-duites aient du sens, que ce soit au niveau mot ou au niveau ligne. L’idée est de contraindre la reconnaissance d’écriture manuscrite. Le traitement automatique du langage (TAL) est alors utilisé pour renforcer les modèles. Il permet d’apporter des solutions pour exploiter les documents dans différents domaines comme la recherche d’information, la génération de texte automatique, la traduction automatique, mais également pour traiter des documents multimédias comme en reconnaissance de la parole et de l’écriture manuscrite. Le TAL peut aider à améliorer le décodage aux niveaux mots et caractères en modélisant un vocabulaire pour une langue donnée. Il existe plusieurs stratégies utilisées en reconnaissance d’écriture manuscrite comme les dictionnaires et les approches statistiques.
Les dictionnaires
Cette technique simple consiste à construire un dictionnaire de mots possibles dans la langue considérée. Cependant, la tâche de décodage du modèle est direc-tement dépendante de la qualité du dictionnaire. Il est possible de le construire en se basant directement sur le vocabulaire des documents étudiés, d’utiliser un dictionnaire existant de la langue ou plus largement encore une ressource telle que Wikipédia. La limite avec cette solution est la proportion de mots hors-vocabulaire qui ne pourront pas être reconnus avec un dictionnaire petit ; et inversement, l’uti-lisation d’un large dictionnaire dispersant le modèle en proposant trop de mots similaires. Cependant, l’évolution de la langue et du vocabulaire fait qu’il y aura toujours des mots hors-vocabulaire et rend l’utilisation d’un dictionnaire difficile pour les tâches de reconnaissances. Le calcul de la couverture lexicale permet de mesurer l’efficacité d’un dictionnaire, en comptant le nombre de mots communs entre le dictionnaire et le corpus de test divisé par la taille du vocabulaire de test. Cela donne une limite haute que le système peut atteindre en utilisant ce dictionnaire sur le corpus.
Lissage des probabilités Même si le corpus d’apprentissage sélectionné est grand, il se peut que le calcul du n-gramme soit nul si le n-gramme n’est pas représenté. Pour éviter ce genre de cas, des techniques de lissage sont mises en place pour éviter des probabilités nulles, elles combinent une réduction et une redistribution des probabilités.
Réduction absolue opère une réduction identique sur l’ensemble des probabili-tés du corpus indépendamment de leur valeur.
Réduction relative opère une réduction de la probabilité en fonction de la fréquence du n-gramme. Repli ou Backoff (Katz 1987) utilise les probabilités d’un modèle de langage d’ordre inférieur pour les n-grammes non observés au cours de l’apprentissage. En d’autres termes, si le n-gramme n’a aucune observation dans le modèle, la probabilité du (n-1)-gramme est utilisée. Ce sens hiérarchique permet de se diriger vers un modèle plus large et général, quand le modèle spécifique ne donne pas de résultats.
Interpolation réalise une combinaison des probabilités des différents modèles de langage d’ordre inférieur. Cette combinaison utilise un paramètre λ qui doit être optimisé pour réduire et redistribuer les probabilités efficacement.
Approches neuronales
La représentation de modèle de langage par apprentissage a été proposée par (Bengio et al. 2003), plus connue aujourd’hui sous le terme de word embedding dont un schéma explicatif est donné en figure 2.8. Cette méthode consiste à repré-senter les mots du vocabulaire par un vecteur de caractéristiques en se basant sur un contexte défini via une fenêtre. Cela permet d’inclure la notion d’analyse sémantique dans la représentation de chaque mot. En effet, deux mots sémantiquement proches possèderont deux vecteurs de caractéristiques très similaires. Le réseau de neurones prend en entrée un vecteur de dimension |V | (soit la taille du vocabulaire). Pour un mot donné, son historique est donné en entrée du réseau en indiquant 1 dans la ligne correspondant au mot. Finalement, la sortie du réseau fournit un vecteur de taille |V | indiquant le prochain mot par la valeur 1 également. La représentation du modèle correspond à la partie interne du réseau qui nécessite un apprentissage. La matrice permettant de représenter les mots dans un espace vectoriel commun est de dimension |V | × N où le paramètre N est défini empiriquement, même s’il est souvent fixé à 300 caractéristiques comme pour les modèles Word2Vec (Mikolov et al. 2013) ou FastText (Bojanowski et al. 2016). Les modèles les plus récents comme ELMo (Peters et al. 2018) sont de plus en plus profonds et ajoutent des couches bidirectionnelles pour améliorer les performances. Les différents avantages d’une telle approche sont l’utilisation des poids partagés pour réduire les temps de calcul et la ré-utilisation de ces poids (fine-tuning), mais qui est également utilisée pour les approches classiques neuronales. En effet, des modèles dans différentes langues au niveau mot ou caractère ont déjà été entraînés sur de grands corpus, et leurs poids appris sont disponibles pour une utilisation directe.
En reconnaissance d’écriture manuscrite, (Zamora-Martinez et al. 2014) expérimente l’utilisation des réseaux de neurones pour modéliser le langage avec différents modèles de reconnaissance d’écriture manuscrite. Ils constatent que lorsqu’un large vocabulaire est utilisé, le réseau hybride HMM/ANN montre de meilleurs résultats que le réseau de neurones BLSTM. Cependant dans les deux cas grâce au modèle de langage neuronal, ils obtiennent d’excellents taux de reconnaissance sur les caractères et les mots. Une étude similaire a été menée sur de la reconnaissance de caractères chinois en comparant différentes structures de réseaux et avec différents niveaux de caractères (Wu et al. 2015 ; Wu et al. 2017).
Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.
|
Table des matières
1 Introduction
1.1 Contexte
1.2 Projet CIRESFI
1.3 Registres comptables de la Comédie-Italienne
1.4 Problématiques et contribution
2 État de l’art en reconnaissance d’écriture manuscrite
2.1 Introduction
2.1.1 Pré-traitements sur les documents anciens
2.1.2 Extraction de caractéristiques
2.2 Systèmes état de l’art
2.2.1 Approches stochastiques
2.2.2 Approches neuronales profondes
2.3 Modélisation du langage
2.3.1 Les dictionnaires
2.3.2 Les modèles de langage probabilistes
2.3.3 Approches neuronales
2.4 Apprentissage par transfert de connaissances
2.4.1 Définition de l’apprentissage par transfert de connaissances
2.4.2 Principales approches
2.4.3 Domaines d’applications et adaptations
2.5 Conclusion
3 Ressources existantes et collectées
3.1 RECITAL : Site de production participative pour les registres de la Comédie-Italienne
3.1.1 Travaux connexes autour des sites d’annotation participatifs
3.1.2 Présentation de la plateforme
3.1.2.1 Fonctionnement
3.1.2.2 Configuration
3.1.2.3 Chiffres clés
3.1.2.4 Limites et perspectives
3.2 Registres de la Comédie-Italienne
3.2.1 Transcription des images
3.2.2 Bases de la Comédie-Italienne
3.3 Autres Ressources mobilisées
3.3.1 Georges Washington
3.3.2 Les Esposalles
3.3.3 RIMES
3.3.4 Google Livres sur la Comédie-Italienne
3.3.5 Synthèse en comparaison avec les registres de la Comédie- Italienne
3.4 Conclusion
4 Système end-to-end avec apprentissage par transfert de connaissance
4.1 Caractéristiques extraites
4.1.1 Méthode basée sur les pixels
4.1.2 Histogramme des gradients orientés
4.1.3 Réseau de neurones à convolution
4.2 Modèle BLSTM-CTC
4.3 Résultats et observations
4.3.1 Méthode d’évaluation des performances
4.3.2 Données source et cible de domaine identique
4.3.2.1 Premiers résultats et observations
4.3.2.2 Données multilingues
4.3.3 Transfert d’une langue à l’autre
4.3.3.1 Conditions d’apprentissage
4.3.3.2 Résultats
4.4 Conclusion
5 Système encodeur-décodeur pour l’apprentissage par transfert de connaissances
5.1 Introduction
5.2 Définition du modèle encodeur-décodeur
5.3 Modèle optique comme encodeur
5.3.1 Architecture du modèle
5.3.2 Résultats et observations
5.3.3 Conclusion
5.4 Modélisation du décodeur
5.4.1 Architecture du modèle
5.4.2 Hyper-paramètres et condition d’apprentissage
5.4.3 Résultats et observations
5.4.4 Amélioration du modèle
5.4.5 Conclusion
5.5 Modèle encodeur-décodeur
5.5.1 Évaluation de l’impact des n-grammes de caractères et des ressources d’apprentissage
5.5.2 Analyse de l’impact de l’apprentissage bruité du décodeur
5.6 Conclusion
6 Conclusion et perspectives
6.1 Synthèse
6.2 De l’Apprentissage à la Connaissance
Table des figures
Bibliographie
Télécharger le rapport complet