EA2014 speech recognition: Difference between revisions
Line 93: | Line 93: | ||
Cette étape de développement est résumée par le schéma suivant : |
Cette étape de développement est résumée par le schéma suivant : |
||
[[File: |
[[File:entrainement.png|center|thumb|500px|Schéma (simplifié) de l'entrainement]] |
||
La reconnaissance quand à elle utilise les fichiers suivant : |
La reconnaissance quand à elle utilise les fichiers suivant : |
Revision as of 17:42, 16 October 2014
Présentation
- Enseignants : Georges-Pierre Bonneau, Didier Donsez (EA2014)
- Sujet : Reconnaissance automatique de la parole
- Date : 17 octobre 2014
- Auteur : Paul Labat <paul.labat@e.ujf-grenoble.fr>
- Télécharger les slides de la présentation : Media:EA2104_speech_recognition.pdf
Résumé
La reconnaissance automatique de la parole, plus couramment appelée reconnaissance vocale ou reconnaissance de la parole, est une technique qui permet d'obtenir le texte correspondant à un dialogue. C'est un sujet de recherche complexe et dont les premiers travaux remontent au début du 20e siècle. Le développement des méthodes de reconnaissances vocales a été rendu possible grâce au développement de l'informatique. On retrouve de nos jours la reconnaissance automatique de la parole dans de nombreux domaines d'applications : recherche vocale, saisie de texte, commande vocale, identification vocale, etc.
Mots clefs
Traitement de la parole, langage naturel, traitement du signal, commande vocale, interface utilisateur vocale
Abstract
The speech recognition, also known as automatic speech recognition or speech to text, is a technique that aims to translate a speech into words. It is a complex subject of research and whose early drafts dated of the early 20th century. The development of speech recognition technics was possible thanks to the improvement of computer science. Nowadays, we can find the speech recognition in many applications fields: voice search, text input, voice control, voice identification, etc.
Key Words
Speech processing, natural language, signal processing, voice command, voice user interface
Synthèse
La reconnaissance vocale fait partie des nombreux domaines du traitement de la parole.
Histoire
Les premiers travaux datent du début du 20e siècle. Mais le premier système pouvant reconnaitre de la parole date de 1952. C’est un système électronique, conçu au sien des laboratoires Bell par trois ingénieurs : Davis, Biddulph et Balashek. Ce système se limitait à reconnaitre quelques chiffres. Vous pouvez consulter le fichier PDF qui contient le résultat de leurs recherches. En 1972, le premier système de reconnaissance vocale est commercialisé par la société Threshold Technologies. Ce dernier n’est capable de reconnaitre que 32 mots, malgré l’utilisation de méthodes de calculs numériques. Il faut attendre l’année 1987 avant la commercialisation d’outils pouvant reconnaitre plus de 20 000 mots (le vocabulaire d’un humain contient entre 10 000 et 150 000 mots).
Algorithmes
Trois algorithmes sont ou ont été utilisés par les systèmes de reconnaissance :
- La déformation temporelle dynamique [1]
- Les réseaux de neurones artificiels [2]
- Le modèle de Markov caché [3]
La déformation temporelle dynamique est historiquement le premier algorithme à avoir été créer. Il est encore utilisé, mais pour des tâches plus spécifiques. Le dernier est le plus utilisé à l’heure actuelle par les systèmes modernes. Cependant, certains peuvent utiliser les réseaux de neurones artificiels et le modèle de Markov caché.
Concurrents
Grâce à la démocratisation de l’électronique grand publique (smartphone, ordinateur, tablette, etc.) et au rapide gain de puissance de ceux-ci, la reconnaissance automatique de la parole est de plus en plus présente.
On retrouve un grand nombre d’assistants personnel sur système mobile. Les plus connus sont les suivants (liste non exhaustive) :
- Apple Siri
- Google Now
- Microsoft Cortana
Il existe également des logiciels pour ordinateur (liste non exhaustive) :
- Dragon NaturalySpeaking
- SpeechMagic
Domaines d'utilisations
La reconnaissance vocale trouve de nombreux usages (liste non exhaustive).
- Avionique : commande vocale à bord des avions de chasse (F-16, F-35, Mirage …) et des hélicoptères (Puma)
- Téléphonie : Android, iOS, Windows Phone
- Domotique
- Automobile
- Santé
- Jeux vidéo
CMU-Sphinx
CMU-sphinx est un ensemble d’outils open source permettant de développer des systèmes de reconnaissance vocale. Le premier outil de reconnaissance fut développé en 2000 par l’université Carnegie Mellon aux États-Unis. Parmi les outils on trouve :
- Sphinx2
- Sphinx3
- SPhinx4
- PocketSphinx
- Sphinxtrain
- Cmudict
Sphinxtrain est un outil qui permet de créer son propre modèle acoustique et sont propre modèle de langage. Le dernier permet la mise au point de dictionnaire de prononciation. Les quatre premiers sont des systèmes de reconnaissance vocale. PocketSphinx ayant été écrit a des fins de légèreté et de portabilité. Il est en effet compatible avec la majorité des OS de bureau et des OS mobiles (iOS, Android, Windows Phone). En plus d’avoir des possibilités de décodage multi-plate-forme, il est possible de développer avec plusieurs langages, laissant le choix à l’utilisateur :
- iOS
- Android
- Windows Phone
- Java
- C
- Python
Un modèle acoustique est un ensemble de représentations statistiques des sons qui
composent un mot. Il est créé à partir d’un groupe de fichiers audio et de leurs transcriptions textuelles. C’est ce modèle qui permet, avec le modèle de langage, de réaliser de la reconnaissance automatique de la parole. Pour mettre au point ce modèle, il faut utiliser l’outil SphinxTrain. Il permet d’effectuer un entraînement à partir d’un
corpus audio. C’est un ensemble de fichiers audio de moins de 30 secondes. Il y a également la représentation textuelle de chacun des fichiers audio. L’entrainement nécessite également d’autres fichiers qui doivent être créés à partir du corpus oral
(audio et transcription textuelle) :
- frenchtraining.dic : dictionnaire phonétique
- frenchtraining.phone : liste des phonèmes
- frenchtraining.lm.DMP : modèle de langage, utilisation de celui fourni par CMUSphinx
- frenchtraining.filler : liste de caractères à remplacer par le caractère « SIL »
- frenchtraining_train.fileids : liste des fichiers d’entraînement
- frenchtraining_train.transcription : transcription textuelle des fichiers d’entraînement
- frenchtraining_test.fileids : liste des fichiers de test
- frenchtraining_test.transcription : transcription textuelle des fichiers de test
Cette étape de développement est résumée par le schéma suivant :
La reconnaissance quand à elle utilise les fichiers suivant :
Démonstration
Notes et Références
- CMU-sphinx-ASR Projet Github avec les codes de reconnaissance + entrainement de modèle acoustique
- CMU-sphinx
- Projet Voxforge Enregistrement vocaux de textes pour l'entrainement de modèle acoustique
- developper.android
- Wikipedia Speech recognition
Liens externes
- Automatic Recognition of Spoken Digits article sur le premier système de reconnaissance de la parole