Projet de Master en Informatique: Web WriteIt! Web WriteIt! Baris Ulucinar Supervisé par le Prof. Rolf Ingold, Dr. Jean Hennebert, Andreas Humm et Robert Van Kommer Avril 2007
Table des matières 2 1. Introduction 2. Reconnaissance automatique de la parole 3. Architecture 4. Entraînement 5. Tests de performance 6. Interfaces côté client 7. Conclusion
3 Introduction
Introduction 4! Transcription de la Parole Hello word! Hello word! Hello word! Reçoit fichier audio et choix Envoie la transcription sous forme html ou xml Envoie de fichier audio wave & choix grammaire type de fichier de sortie nbest Reçoit la trascription
Introduction/buts 5! Création d!interface Web pour la transcription d!un fichier audio, en utilisant Sphinx 4.! Entraînement de modèles acoustiques «"home made"», avec BREF, en utilisant SphinxTrain.! Tests de performance! «"Home Made"»! «"French_F0"» Lium
Introduction/Terminologie/AM 6! Modèles acoustiques, HMM!s Le Modèle acoustique (AM) représente le HMM!s pour un phonème HMM pour le phonème W HMM pour le mot ONE
Introduction/Terminologie/LM 7! Modèles de langages, Grammaires Ce que l'utilisateur peut dire pour interagir avec le système Liste de mots Grammaires à état fini Grammaires stochastiques
Introduction/Terminologie/Dictionnaire 8! Dictionnaire! Liste de mots et leurs prononciations! 2 types:! Dictionnaire standart pour les mots! 2 transcriptions phonétiques pour le mot ONE:! ONE HH W AH N! ONE(2) W AH N! «"Filler"» Dictionary! Pour les tags, comme le silence, les bruits! <s> SIL! </s> SIL! <sil> SIL! [euh] ee ee
9 Reconnaissance automatique de la parole
RAP/Principe de base 10! Reconnaisse Automatique de la parole
RAP/Classification des systèmes 11
RAP/Applications 12! Domaines d!applications
13 Architecture
Architecture 14
Architecture/Sphinx 4 15! Sphinx 4 Système de reconnaissance vocale écrit en Java. Créé conjointement par Carnegie Mellon University, SUN Microsystems Laboratories, Hewlett-Packard!s Cambridge Research Lab et Mitsubishi Electric Research Labs. Utilise des HMMs continus Fournit une grande flexibilitée, exactitude et vitesse Flexibilitée: ok Exactitude: ~ Vitesse: ~
Architecture/Sphinx 4 16! Sphinx 4
Architecture/Sphinx 4/Architecture/1_2 17! Architecture
Architecture/Sphinx 4/Architecture/2_2 18! Architecture plus détaillée
Architecture/SLMT 19! CMU-Cambridge Statistical Language Modeling Tookit v2! Pour créer des grammaires stochastiques! Liste de mots, et leur fréquence
Architecture/SphinxTrain 20! SphinxTrain Outil pour produire des modèles acoustiques continues(sphinx 3) ou semi-continues(sphinx 2) Dans Sphinx 4 des modèles acoustiques Sphinx 3 peuvent être utilisé Contient plusieurs script PERL + executables Sphinx 4 un fichier de propriété de modéle: model.props description = Home Made French acoustic models created using the BREF database in DIVA,... isbinary = true featuretype = 1s_c_d_dd vectorlength = 39 sparseform = false numberfftpoints = 512 numberfilters = 40 gaussians = 8 minimumfrequency = 133.33334 maximumfrequency = 6855.4976 samplerate = 16000.0
Architecture/SphinxTrain/Sphinx 4 21! SphinxTrain + Sphinx 4 Classes: edu.cmu.sphinx.model.acoustic.sphinx3.modelloader edu.cmu.sphinx.model.acoustic.sphinx3.model bref.sphinxconfigurationfile.xml... <property name="properties_file" value="/pathto/model.props" /> <property name="data_location" value="/pathto/model_parameters/bref.cd_cont_1000_8" /> <property name="model_definition" value="/pathto/model_architecture/bref.1000.mdef" />... <!-- sphinx3 model loader--> <component name="sphinx3loader" type="edu.cmu.sphinx.model.acoustic.sphinx3.modelloader"> <property name="logmath" value="logmath"/> <property name="unitmanager" value="unitmanager"/> <property name="propertiesfile" value="${properties_file}" /> <property name="datalocation" value="${data_location}"/> <property name="modeldefinition" value="${model_definition}" /> </component> <component name="french" type="edu.cmu.sphinx.model.acoustic.sphinx3.model"> <property name="loader" value="sphinx3loader"/> <property name="unitmanager" value="unitmanager"/> </component>
Entraînement 22
Entraînement/BREF 23! Base de données de signaux acoustiques! Créée par LIMSI en 1993! Pour développer & évaluer des systèmes RAP continue en français! Corpus établit à partir d!article de journaux lus! Problème:! La situation géo-politique, noms propres ont beaucoup changé depuis 1993
Entraînement/SphinxTrain&BREF 24 Données Acoustiques «BREF» Entrée make_feates.pl RunAll.pl sphinx_train.cfg Sortie means mixture_weights transition_matrices bref_train.fileids bref_train.transcription bref.dic bref.filler bref.phone SphinxTrain Scripts PERL variances bref.1000.mdef
25 Tests de Performance
Tests de Performance 26! Accuracy! H: nombre de mots! J: nombre de mots justes! S: nombre d!erreurs de substitution! la r'evision de la <<>> la vision de la! I: nombre d!erreurs d!insertion! lui accordent <<>> ne lui accordent que! D: nombre d!erreurs de suppression! lui accordent que <<>> lui accordent! Word error rate WER = H - S - I - D (1 - ) H * 100% Accuracy = ( J / H )* 100%
Tests de Performance/BMR 27! BatchModeRecognizer de Sphinx 4 Modèle de language Modèles acoustiques Dictionnaires Fichiers audio fichier.config.sphinx4.xml batchfile.batch build.xml ANT
Tests de Performance/LIUM 28! Modèles acoustiques, de langage et dictionnaires du LIUM! 100 heures de données! 85 h pour l!entraînement! 8 h pour le développement! 10 h pour les tests! Problème de non-reconnaissance des accents par Sphinx! Accuracy = 67,687%! WER = 37,163%
Tests de Performance/Home Made 29! Modèles acoustiques «"Home Made"».! Modèles de langage et dictionnaires du LIUM.! Entraîné avec SphinxTrain+BREF! ~55,62 heures de données acoustiques.! Accuracy= 77,933%! WER = 24,795%
30 Tests de Performance/Conclusion " Pourquoi cette différence entre les 2 tests? ^ Base de donnée de BREF enregistré dans studio insonorisé, avec un bon microphone, ^ Base de donnée de LIUM enregistrement depuis plusieurs chaînes de radio française " Erreurs typiques ^ Homophonie Il voulait ils voulaient deux de et est ^ Des s et e manquants: chantée, souliers, etc. ^ Erreur de frappe, grammaire dans la transcription ^ Fichier audio de mauvaise qualité
31 Interfaces côté client
Interfaces côté client/www/uc! Cas d!utilisation/outputtype?=html 32 Client Serveur «.html!» index Page de Bienvenue Interface-web «.html!» PrepareWaveUpload outputtype = html «servlet!» PrepareWaveUpload «servlet!» ProcessWaveUpload fichier non valide «.html!» ProcessWaveRecognize XHR fichier valide «servlet!» ProcessWaveRecognize «.html!» PrepareShowResults appel généré par velocity
Interfaces côté client/www/uc! Cas d!utilisation/outputtype?=xml 33 Client Serveur «.html!» index Page de Bienvenue Interface-web «.html!» PrepareWaveUpload outputtype = XML «servlet!» PrepareWaveUpload «servlet!» ProcessWaveUpload fichier non valide fichier valide «.xml!» WwiReco «servlet!» ProcessWaveRecognizeToXML appel généré par velocity
Interfaces côté client/www/uc! Captures d!écran 34
Interfaces côté client/swing/uc! Java Swing 35 Client Serveur «java swing gui!» WwiGui outputtype = XML «servlet!» ProcessWaveUpload fichier valide «servlet!» ProcessWaveRecognizeToXML «.xml!» WwiReco appel généré par velocity
Interfaces côté client/swing! Java Swing 36
Conclusion! Applications Open Source! Entraînement de modèles acoustiques! Très capricieux! Il faut! beaucoup d expérience & de temps! machine puissante! de bonne source de données! Machine puissante! Quantitée de données acoustiques! Petite au début! Agrandir pas à pas! Modèles acoustiques «home made»! Accuracy = 77,933%! WER = 24,795%! Interface web! Performance dépend de la machine Serveur! Allège le travail du client, c est le Serveur qui travaille 37
Fin / Questions? 38! Je vous remercie pour votre attention.! Avez-vous des questions?
Bibliographie! Web WriteIt! Wiki: http://diuf.unifr.ch/diva/web/wiki/! Web WriteIt! Home Page: http://diuflx77-vm04.unifr.ch:8080/diva-webwriteit/! W Walker, P Lamere, P Kwok, B Raj, R Singh, E Gouvea, P Wolf and J Woelfel. A Flexible Open Source Framework for Speech Recognition, SUN MICROSYSTEMS INC., 2004! CMU Sphinx 4: http://cmusphinx.sourceforge.net/sphinx4/! J-L Gauvain and L F Lamel, Speaker-Independent Phone Recognition Using BREF, DARPA Speech and Language Workshop, Arden House, 1992! Cours Traitement de la Parole, Jean Hennebert, http://diuf.unifr.ch/courses/05-06/traitparole/! A Chan, E Gouvea, R Singh, R Mosur, R Rosenfield, Y Sun and D Huggins-Daines, Hieroglpyhs: Building Speech Applications Using Sphinx and Related Resources, 2004! C Becchetti, L P Ricotti, Speech recognition, John Wiley and Sons, 1999! W Walker, P Lamere, P Kwok, B Raj, R Singh, E Gouvea, P Wolf and J Woelfel, Sphinx-4: A Flexible Open Source Framework for Speech, Proceedings of the I.E.E.E. International Conference on Image Processing, S. M. INC., 2004! P. Lamere, P Kwok, W Walker, E gouvea, R Singh, B Raj and P Wolf, Design of the CMU Sphinx-4 Decoder, SUN MICROSYSTEMS INC., Carnegie Mellon University and Mitsubishi Electric Research Lab., 2006 39