Difference between revisions of "EA2014 speech recognition"

From air
Jump to navigation Jump to search
Line 68: Line 68:
 
* Cmudict
 
* 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 :
 
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
 
* iOS
Line 75: Line 76:
 
* C
 
* C
 
* Python
 
* Python
 
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.
 
   
   

Revision as of 19: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 :

File:Rentrainement.png
Schéma (simplifié) de l'entrainement

La reconnaissance quand à elle utilise les fichiers suivant :

Schéma de la reconnaissance

Démonstration

Notes et Références

Liens externes