Etude sur les representations continues de mots appliquees à la detection automatique des erreurs de reconnaissance de la parole

Les avancées scientifiques récentes dans le domaine de l’apprentissage profond ainsi que la disponibilité de grandes quantités de données et de dispositifs de calcul puissants ont provoqué ces dernières années un grand bouleversement dans le domaine de l’intelligence artificielle et ses applications. Dans le domaine du traitement automatique des langues, les méthodes d’apprentissage profond doivent entre autres leur succès à leur faculté de construire des représentations continues de mots ou word embeddings pertinentes. Ces représentations continues, qui constituent la base des modèles de langage neuronaux, sont des vecteurs denses à valeurs réelles construits pour chacun des mots d’un vocabulaire. Elles constituent une projection de ces mots dans un espace continu de faible dimension. Les word embeddings sont au coeur de l’intérêt de nombreux travaux de recherche ces dernières années et plusieurs approches ont été proposées pour construire ces représentations. Elles s’appuient généralement sur la prise en compte des contextes d’apparition d’un mot, représentés sous différentes formes, comme les sacs de mots continus, les dépendances syntaxiques, les co-occurrences de mots, …, et voire même sur le signal audio. Ainsi, ces word embeddings peuvent capturer différents types d’information entre les mots : similarités sémantiques, syntaxiques, acoustiques, etc. Ces représentations se sont révélées être un atout dans de nombreuses tâches de traitement automatique des langues naturelles (TALN) telles que l’étiquetage morpho-syntaxique, le regroupement en syntagmes, la reconnaissance d’entités nommées, l’étiquetage de rôles sémantiques, etc.

Techniques d’apprentissage profond

L’apprentissage profond (deep learning en anglais) a provoqué ces dernières années un grand bouleversement dans le domaine de l’intelligence artificielle (IA), ainsi que ses applications. L’apprentissage profond a permis le franchissement de palliers importants dans de nombreuses applications, comme la reconnaissance et la classification d’images [LeCun et al., 2010, Tompson et al., 2014, Zbontar et LeCun, 2016], la modélisation acoustique, [Hinton et al., 2012, Jaitly et al., 2012, Abdel Hamid et al., 2012], la modélisation du langage [Mikolov et al., 2011b, Schwenk, 2013], le traitement automatique des langues naturelles (TALN ou NLP pour Natural Language Processing) [Turian et al., 2010, Collobert et al., 2011, Bansal et al., 2014a], etc.

Ces performances s’expliquent par les avancés récentes dans le domaine de l’apprentissage automatique ainsi que par la disponibilité de grandes quantités de données d’apprentissage et de dispositifs de calcul puissants. Ces avancées se traduisent par des méthodes plus efficaces pour l’apprentissage de réseaux de neurones profonds. Ces derniers sont capables à travers leurs architectures de modéliser des abstractions de haut niveau au sein des données. En effet, l’architecture profonde représente une cascade de modules (représentations) qui sont entrainés simultanément pour résoudre une tâche donnée. Ceci permet au réseau de neurones de construire des abstractions les unes à la suite des autres : des plus simples aux plus complexes [Hinton et al., 2006, Bengio et al., 2007a]. Par exemple, dans le cas du traitement d’images, le premier module vise à extraire des caractéristiques basiques, comme la présence ou l’absence d’un contour, d’orientations particulières, etc. Ensuite, le module suivant peut permettre de détecter des conjonctions de ces contours pour former des formes élémentaires comme des cercles, des angles, etc. Enfin, les derniers modules manipulent ces formes élémentaires sur un exemple pour détecter des objets [Lee et al., 2011, Zeiler et Fergus, 2014].

Réseaux de neurones 

Les réseaux de neurones constituent aujourd’hui une des techniques de classification les plus utilisées et les plus performantes dans différentes tâches, y compris les tâches de TALN [Turian et al., 2010, Collobert et al., 2011, Bansal et al., 2014a].

Définition

L’idée de construire des réseaux de neurones artificiels remonte à la fin des années 50. Elle s’inspire du fonctionnement du cortex visuel des animaux. Les premiers réseaux de neurones artificiels apparaissent sous le terme de perceptron, introduit en 1958 par Rosenblatt [Rosenblatt, 1958]. Le perceptron est la forme la plus simple d’une architecture neuronale, puisqu’il est composé d’un seul neurone. Il a été à l’origine développé pour la reconnaissance de formes. À cause de son architecture simple, le perceptron ne peut résoudre que des problèmes linéairement séparables et n’est pas capable de traiter des problèmes de classification complexes, comme l’ont prouvé Marvin Minsky et Papert dans leur étude [Minsky et Papert, 1969]. Ce problème a été résolu à la suite du développement de nouveaux types de réseaux de neurones formels [Hopfield, 1982, Hopfield, 1984] et de nouvelles méthodes d’apprentissage : Le Cun [LeCun et al., 1988, LeCun, 1985], Rumelhart [Rumelhart et al., 1985, Rumelhart et al., 1988], etc.

Architectures

L’architecture d’un réseau de neurones détermine la façon par laquelle les neurones sont ordonnés et connectés au sein d’un même réseau. Quelque soit l’architecture, un réseau de neurones est composé de plusieurs couches de neurones successives: les entrées, les couches suivantes dites couches cachées (du fait qu’elles n’ont aucun contact direct avec l’extérieur du réseau) jusqu’à la couche de sorties. La profondeur d’une telle architecture dépend du nombre de couches cachées. Nous allons dans cette section nous intéresser aux familles de réseaux de neurones utilisées dans cette thèse, à savoir le perceptron multicouches [Rumelhart et al., 1988], les réseaux de neurones convolutifs [LeCun et al., 1990], ainsi que les auto encodeurs [Rumelhart et al., 1985]. À noter toutefois qu’il existe d’autres types de réseaux de neurones, par exemple les réseaux de neurones récurrents [Medsker et Jain, 1999], le Deep Belief Network [Hinton et al., 2006], Restricted Boltzmann Machine [Salakhutdinov et Hinton, 2009], Recursive Neural Network [Socher et al., 2011] qui ne seront pas abordés. Nous suggérons au lecteur intéressé de se référer aux ouvrages suivants [Bishop, 2006, Bengio, 2009a, Ian Goodfellow et Courville, 2016].

Réseaux de neurones convolutifs 

Les réseaux de neurones convolutifs (CNN pour Convolutional Neural Network) sont un type spécialisé de réseaux de neurones généralement utilisés quand l’entrée est structurée selon une grille (grid-like topology [Ian Goodfellow, 2016]), par exemple une grille de pixels pour une image. Ces réseaux ont été inspirés par les travaux de Hubel et Wiesel [Hubel et Wiesel, 1962] sur le système visuel du chat, et plus particulièrement sur leurs propriétés : les champs récepteurs locaux et le partage des poids. Les CNNs sont apparus dans les années 1980 avec les travaux de K. Fukushima [Fukushima, 1980] sur le Necognitron, et ont été popularisés avec les travaux de Y. LeCun [LeCun et al., 1990] sur la reconnaissance des caractères dans les années 1990.

Une convolution est une opération mathématique qui consiste à multiplier, ou «convoluer » une matrice (qui représente par exemple une image) par une autre appelée matrice de convolution, ou « filtre ». Les paramètres de la couche de convolution consistent en un ensemble de filtres apprenables. Chaque filtre est petit spatialement (le long de la largeur et de la hauteur), mais s’étend à travers toute la profondeur de l’image d’entrée. Pendant l’apprentissage, chaque filtre est convolué avec l’image. Ceci produit une carte de caractéristiques (features map) de 2 dimensions qui donnent les réponses de ce filtre à chaque position spatiale dans l’image. Intuitivement, le réseau va apprendre des filtres qui s’activent lorsqu’ils voient un type de caractéristique visuelle comme le contour, les orientations, etc., dans la première couche du réseau. L’ensemble de filtres dans la couche de convolution produisent chacun une carte de caractéristiques, qui sont ensuite empilées le long de la dimension de profondeur pour former la sortie.

Les réseaux de neurones convolutifs sont caractérisés par les critères suivants :
— Des champs récepteurs locaux (local receptive fields) associés à des convolutions qui permettent d’extraire des formes élémentaires sur les données en entrées (image, son, texte, etc.), formant ainsi une features map. Autrement dit, chaque neurone dans cette carte n’est connecté qu’à une sous-région (champ récepteur local), correspondant à un certain nombre de neurones voisins dans la couche de neurones précédente.
— Un partage de poids d’une convolution est proposé afin de réduire le nombre de paramètres à apprendre dans le réseau. Il consiste à partager les poids entre tous les neurones d’une features map, c’est-à-dire appliquer les mêmes poids d’une convolution (filtre) pour toutes les positions sur l’entrée. Celuici est convolué sur toute l’entrée en utilisant une fenêtre glissante, qui doit apprendre à capturer des caractéristiques locales.
— Des opérations de sous-échantillonnage (pooling) qui permettent d’une part de réduire le nombre de paramètres en réduisant la taille des features map et d’autre part, d’introduire de l’invariance aux (faibles) rotations et translations pouvant apparaître en entrée. Lorsqu’une opération de sous-échantillonnage est appliquée sur une région, la sortie reste approximativement la même, même si l’image est décalée ou pivotée de quelques pixels. Ceci s’explique par le fait que les opérations de sous-échantillonnage choisissent la même valeur dans une région (le maximum ou la moyenne) indépendamment de la position de l’image. Cette propriété est intéressante en traitement d’image, étant donné que la classification doit être invariante aux rotations et aux translations. Habituellement, deux opérations de pooling peuvent être utilisées : le maximum (max-pooling) ou la somme pondérée. Pour un voisinage donné, le max-pooling consiste à transférer en entrée de la couche suivante les valeurs des maxima locaux, alors que la somme pondérée consiste à transférer la moyenne pondérée. Ainsi le choix de l’opération dépend de la tâche elle-même. Par exemple pour des tâches de TALN, les auteurs dans [Collobert et Weston, 2008] ont utilisé le max-pooling. Ils considèrent que l’utilisation de la moyenne a pour conséquence un lissage peu opportun sur l’ensemble des mots d’une phrase, alors que le maximum tend à donner plus d’importance aux mots les plus saillants.

Cette architecture est utilisée avec succès dans différentes tâches, notamment la reconnaissance de caractères [LeCun et al., 1990, LeCun et al., 1998, Sermanet et al., 2012], la modélisation acoustique [Hinton et al., 2012, Abdel-Hamid et al., 2012, Bengio et Heigold, 2014], ou comme déjà évoqué, pour des tâches de TALN [Collobert et Weston, 2008, Collobert et al., 2011], etc.

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 rapport-gratuit.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

Introduction
I Contexte de travail et état de l’art
1 Techniques d’apprentissage profond
1.1 Réseaux de neurones
1.1.1 Définition
1.1.2 Architectures
1.1.2.1 Perceptron multicouches
1.1.2.2 Réseaux de neurones convolutifs
1.1.2.3 Réseaux de neurones récurrents
1.1.2.4 Auto-encodeurs
1.1.3 Apprentissage des réseaux de neurones
1.2 Représentations continues de mots
1.2.1 Clustering
1.2.2 Représentations distributionnelles
1.2.3 Représentations distribuées : Word embeddings
1.2.3.1 Modèles de langage neuronaux
1.2.3.2 Collobert et Weston
1.2.3.3 Word2vec
1.2.3.4 Word2vec-deps
1.2.3.5 GloVe
1.2.4 Techniques de visualisation
1.3 Conclusion
2 La reconnaissance automatique de la parole continue
2.1 Architecture d’un système de reconnaissance automatique de la parole
2.2 Paramétrisation acoustique
2.3 Modélisation acoustique
2.3.1 Modèles de Markov Cachés
2.3.1.1 Les mélanges de modèles gaussiens
2.3.1.2 Réseaux de neurones profonds (DNN)
2.3.2 Adaptation acoustique
2.4 Modélisation linguistique
2.4.1 Modèle de langage n-gramme
2.4.2 Techniques de lissage
2.4.3 Adaptation linguistique
2.4.4 Les modèles de langages neuronaux
2.4.5 Évaluation du modèle de langage
2.5 Dictionnaire de prononciation
2.6 Évaluation d’un système de reconnaissance de la parole
2.7 Conclusion
3 Détection automatique des erreurs dans les transcriptions automatique de la parole
3.1 Mesures de confiance
3.1.1 Intérêts
3.1.2 Rapport de vraisemblance
3.1.3 Probabilité a posteriori
3.1.4 Approche par classification
3.1.4.1 Ensemble de descripteurs
3.1.4.2 Classifieurs
3.1.5 Évaluation des mesures de confiance
3.2 Approches à l’état de l’art pour la détection automatiques des erreurs d’un SRAP
3.2.1 Approches fondées sur les CRF
3.2.2 Approches fondées sur les réseaux de neurones
3.3 Conclusion
II Contributions
4 Système neuronal pour la détection d’erreurs : Étude préliminaire
4.1 Système de détection d’erreurs
4.1.1 Architectures neuronales
4.1.2 Descripteurs utilisés
4.2 Protocole expérimental
4.2.1 Système de reconnaissance du LIUM
4.2.1.1 Apprentissage
4.2.1.2 Transcription
4.2.2 Données expérimentales
4.2.3 Métriques d’évaluation
4.3 Performance du système préliminaire
4.4 Conclusion
5 Étude des word embeddings linguistiques
5.1 Évaluation des word embeddings
5.1.1 Tâches d’évaluation : Benchmarks
5.1.1.1 Tâches classiques du traitement automatique des langues naturelles (TALN)
5.1.1.2 Tâche d’analogie
5.1.1.3 Tâche de similarité
5.1.2 Résultats d’évaluation
5.1.2.1 Protocole expérimental
5.1.2.2 Tâches classiques du TALN
5.1.2.3 Tâche d’analogie
5.1.2.4 Tâche de similarité
5.1.3 Discussions
5.2 Combinaison de word embeddings
5.2.1 Approches de combinaison
5.2.1.1 Concatenation simple
5.2.1.2 Analyse en Composantes Principales
5.2.1.3 Auto-encodeur
5.2.2 Performances des word embeddings combinés
5.2.2.1 Tâches classiques du TALN
5.2.2.2 Tâche d’analogie
5.2.2.3 Tâche de similarité
5.2.2.4 Tâche de détection d’erreurs
5.3 Conclusion
Conclusion

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *