SlideShare une entreprise Scribd logo
1  sur  27
Soutenance du Stage d’application

Mise en place d’une API de
reconnaissance vocale
Présenté par :
Salma ES-SALMANI
Encadré par :
Abdelwahed El Mourabit
02/11/2013

Soutenu devant les membres de jury

• Pr Mohammed Berrada
• Pr Nour Houda Chaoui Mejhed
Stage d'application Soft Centre
Présentation de l’organisme d’accueil

Contexte du projet et problématique

Principe de la reconnaissance vocale

Démarche de réalisation du projet

Présentation de l’outil réalisé

Conclusion

02/11/2013

Stage d'application Soft Centre

2
Présentation
de
l’organisme d’accueil

Contexte du projet La reconnaissance
& Problématique
vocale

Démarche de
réalisation du projet

Présentation de
l’outil

Conclusion

Centre de R&D spécialisé dans le développement logiciel
Fondé en 2010

02/11/2013

Stage d'application Soft Centre

3
Présentation
de
l’organisme d’accueil

02/11/2013

Contexte du projet
Reconnaissance Démarche de
& Problématique
vocale
réalisation du projet

Stage d'application Soft Centre

Présentation de
l’outil

Conclusion

4
Présentation
de
l’organisme d’accueil

Contexte du projet
Reconnaissance Démarche de
& Problématique
vocale
réalisation du projet

Présentation de
l’outil

Conclusion

Mode de fonctionnement

02/11/2013

Stage d'application Soft Centre

5
Présentation de
l’organisme d’accueil

Contexte du projet
& Problématique

Reconnaissance Démarche de
vocale
réalisation du projet

Présentation de
l’outil

Conclusion

• Les Interfaces Homme-Machine (IHM) évoluent vers une
communication plus large et pervasive
• La reconnaissance vocale permet de réaliser des interfaces vocales où
l’interaction se fait via la voix. L’interface devient alors plus intuitive et
moins encombrante pour l’utilisateur dans son quotidien.

02/11/2013

Stage d'application Soft Centre

6
Présentation de
l’organisme d’accueil

Contexte du projet
& Problématique

Reconnaissance Démarche de
vocale
réalisation du projet

Présentation de
l’outil

Conclusion

Problématique

• Comment offrir aux développeurs une API simple et robuste capable de
reconnaître des mots prononcés dans n’importe quelle langue ?
• Dans le cas d’une application mobile, comment reconnaître n’importe
quelle voix dans des conditions acoustiques variables et souvent bruyantes
?

02/11/2013

Stage d'application Soft Centre

7
Présentation de
l’organisme d’accueil

Contexte du projet
& Problématique

Reconnaissance Démarche de
vocale
réalisation du projet

Présentation de
l’outil

Conclusion

Réalisation d’une API Java de reconnaissance vocale

Reconnaissance de plusieurs dictionnaires de mots
(sélecteur de menus)
Optimisation des performances pour un niveau de
qualité à la hauteur d’un déploiement industriel

02/11/2013

Stage d'application Soft Centre

8
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Démarche de réalisation Présentation de
l’outil
La reconnaissance du projet
vocale

Conclusion

• Problème de base : identifier le sens d’un flux de paroles
prononcées souvent dans un bruit de fond plus ou moins important
• Approche probabiliste :

02/11/2013

Stage d'application Soft Centre

9
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Démarche de réalisation Présentation de
l’outil
La reconnaissance du projet
vocale

Conclusion

Les modèles de Markov cachés
• Les Modèles de Markov Discrets sont
basés sur une suite (ou boucle) d’états

dans lesquels on navigue par des
probabilités de transition et suivant
des observations

• Grâce à ces modèles, on peu
connaître, sachant l’observation
passée quelle va être la probabilité des
observations futures.

02/11/2013

Stage d'application Soft Centre

10
Présentation de
l’organisme d’accueil

02/11/2013

Contexte du
projet &
Problématique

Démarche de réalisation
Reconnaissance du projet
vocale

Stage d'application Soft Centre

Présentation de
l’outil

Conclusion

11
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Démarche de réalisation
Reconnaissance du projet
vocale

Présentation de
l’outil

Conclusion

HTK
Hidden Markov Model Toolkit est un ensemble
d’outils portables permettant la création et la
manipulation des modèles de Markov cachés.
HTK est principalement utilisé dans le domaine de
la recherche de la reconnaissance vocale bien
qu’il soit tout à fait utilisable dans de nombreuses
autres applications telles que la synthèse
vocale, la reconnaissance de l’écriture ou la
reconnaissance de séquences d’ADN.

02/11/2013

Stage d'application Soft Centre

12
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Démarche de réalisation
Reconnaissance du projet
vocale

Présentation de
l’outil

Conclusion

Sphinx 4
Sphinx-4 est une librairie de reconnaissance
vocale écrite entièrement en Java.
Sphinx-4 est hautement configurable. La
reconnaissance de Sphinx-4 supporte notamment
les mots isolés et les phrases (utilisation de
grammaires). L’architecture de Sphinx-4 est
modulable pour permettre de nouvelles
recherches et pour tester de nouveaux
algorithmes.

02/11/2013

Stage d'application Soft Centre

13
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Reconnaissance
Présentation de
Démarche de réalisation du
vocale
l’outil
projet

Conclusion

Outil de reconnaissance
HTK a été choisi parmi les 2 logiciels grâce à son architecture flexible et sa
disponibilité en ligne de commande, ce qui lui permet de s’intégrer
facilement dans n’importe quelle architecture logicielle.

La documentation détaillée disponible ainsi que le support de Microsoft est
un autre plus pour justifier ce choix.

02/11/2013

Stage d'application Soft Centre

14
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Reconnaissance
Présentation de
Démarche de réalisation du
vocale
l’outil
projet

Conclusion

Language de programmation
On a choisi le langage Java pour l’API alors que le C++ est plus naturel avec
l’outil HTK :
• Garbage Collector qui donne un meilleur time to market et moins de bugs

• Process de build dure en moyenne 7 minutes, par rapport à 20h pour C++ à
cause des outils tels que Ant et Maven
• Portabilité du code source qui pourra s’exécuter aisément sur un poste local
équipé de Windows ou un serveur en Linux
• Meilleur support pour l’I/O, networking, XML/HTML, database connectivity ...

02/11/2013

Stage d'application Soft Centre

15
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Reconnaissance
Présentation de
Démarche de réalisation du
vocale
l’outil
projet

Conclusion

ORM
Hibernate est un ORM qui apporte une solution aux
problèmes d'adaptation entre le paradigme objet et

les SGBD en remplaçant les accès à la base de
données par des appels à des méthodes objet de
haut niveau.

La quantité de code ainsi épargnée est très
importante d'autant que ce code est généralement
fastidieux et redondant.
02/11/2013

Stage d'application Soft Centre

16
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Reconnaissance
Présentation de
Démarche de réalisation du
vocale
l’outil
projet

Conclusion

Persistance
MySQL est un serveur de bases de données
relationnelles SQL développé dans un souci de

performances élevées en lecture. Il est multi-thread
et multi-utilisateur.

Le schéma simple des tables de la base de donnée
permet une transition éventuelle en format clé-valeur
(NoSQL) pour assurer une meilleure scalabilité du
service
02/11/2013

Stage d'application Soft Centre

17
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Reconnaissance
Présentation de
Démarche de réalisation du
vocale
l’outil
projet

Conclusion

Audio Input
Audacity est un logiciel libre pour la manipulation de données audio numériques. Il

permet d'enregistrer du son numérique par le biais des entrées ligne/micro/cd des
cartes sons. Il permet d'éditer (copier, coller, sectionner…) les sons sur plusieurs
pistes, et il est accompagné de divers filtres et effets : pitch, tempo, réduction de
bruit, égaliseur, filtres de Fourier, …

Ce logiciel a été utilisé pour la capture et la préparation des samples à mettre dans
la base d’apprentissage et de test

02/11/2013

Stage d'application Soft Centre

18
Présentation
de Contexte du projet Reconnaissance Démarche de
l’organisme d’accueil & Problématique
vocale
réalisation du projet

02/11/2013

Stage d'application Soft Centre

Présentation de
l’outil

Conclusion

19
Présentation de
l’organisme d’accueil

02/11/2013

Contexte du
projet &
Problématique

Reconnaissance
vocale

Présentation de
l’application

Stage d'application Soft Centre

Présentation de l’outil

Conclusion

20
Présentation de
l’organisme d’accueil

02/11/2013

Contexte du
projet &
Problématique

Reconnaissance
vocale

Démarche de
réalisation du projet

Stage d'application Soft Centre

Présentation de
l’application

Conclusion

21
Présentation de
l’organisme d’accueil

02/11/2013

Contexte du
projet &
Problématique

Reconnaissance
vocale

Démarche de réalisation
Présentation de
du projet

Stage d'application Soft Centre

Conclusion

l’application

22
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Reconnaissance
vocale

Démarche de réalisation
Présentation de
du projet

Conclusion

l’application

Pour satisfaire le seuil défini dans le cahier
de charges, il a fallu optimiser les
paramètres de traitement du signal sonore
(échantillonnage, …) et les adapter aux
spécifités du locuteur (origine
ethnique, bruit de fond …)
On propose alors au développeur le choix
entre 2 algorithmes pour améliorer le taux
de reconnaissance :

• A* qui utilise l’évaluation heuristique
pour estimer le meilleur chemin entre 2
nœuds.

02/11/2013

Stage d'application Soft Centre

23
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Reconnaissance
vocale

Démarche de réalisation
Présentation de
du projet

Conclusion

l’application

• Un algorithme génétique
qui, grâce à un procédé de
sélection naturelle appliqué
à une population de
solutions
potentielles, approche la
solution par bonds
successifs (brassage).

02/11/2013

Stage d'application Soft Centre

24
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Reconnaissance Démarche de
vocale
réalisation du projet

Présentation de
l’application

Conclusion

Perspectives

Automatiser l’étape d’alimentation des bases de données d’apprentissage
et de test, via une application mobile par exemple, pour un meilleur taux
de reconnaissance

Héberger l’API dans le Cloud (IAAS/PAAS) pour une gestion
transparente de la montée en charge, surtout dans un environnement
distribué

02/11/2013

Stage d'application Soft Centre

25
Présentation de
l’organisme d’accueil

Contexte du
projet &
Problématique

Reconnaissance Démarche de
vocale
réalisation du projet

Présentation de
l’application

Conclusion

Conclusion

• Bilan professionnel : interface entre la recherche académique et les
industriels du secteur TI pour produire du logiciel innovant

• Bilan personnel : expérience intéressante, rencontres enrichissantes

02/11/2013

Stage d'application Soft Centre

26
?
02/11/2013

Questions - Réponses

Stage d'application Soft Centre

27

Contenu connexe

Tendances

rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
Siwar GUEMRI
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Sofien Benrhouma
 

Tendances (20)

Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobile
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFE
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
PFE MASTER ENSET-2023
PFE MASTER ENSET-2023PFE MASTER ENSET-2023
PFE MASTER ENSET-2023
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
 
Présentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobilePrésentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobile
 
Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étude
 
Rapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaRapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben Slima
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
 
RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDES
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
 

En vedette

Siri logiciel reconnaissance vocale
Siri logiciel reconnaissance vocaleSiri logiciel reconnaissance vocale
Siri logiciel reconnaissance vocale
jojolapin2
 
La & edm in practice
La & edm in practiceLa & edm in practice
La & edm in practice
bharati k
 
SysML adoption in France
SysML adoption in FranceSysML adoption in France
SysML adoption in France
Pascal Roques
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open source
Korteby Farouk
 

En vedette (20)

La reconnaissance vocale comme outil de rédaction scientifique
La reconnaissance vocale comme outil de rédaction scientifiqueLa reconnaissance vocale comme outil de rédaction scientifique
La reconnaissance vocale comme outil de rédaction scientifique
 
Siri logiciel reconnaissance vocale
Siri logiciel reconnaissance vocaleSiri logiciel reconnaissance vocale
Siri logiciel reconnaissance vocale
 
Kaldi-voice: Your personal speech recognition server using open source code
Kaldi-voice: Your personal speech recognition server using open source codeKaldi-voice: Your personal speech recognition server using open source code
Kaldi-voice: Your personal speech recognition server using open source code
 
What fUML can bring to MBSE?
What fUML can bring to MBSE?What fUML can bring to MBSE?
What fUML can bring to MBSE?
 
Design Thinking Assignment
Design Thinking AssignmentDesign Thinking Assignment
Design Thinking Assignment
 
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
 
Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire Ressource numérique Circuit électrique au primaire
Ressource numérique Circuit électrique au primaire
 
Mix
MixMix
Mix
 
Cvl
CvlCvl
Cvl
 
النشاط العلمي - الكهرباء
النشاط العلمي  -   الكهرباءالنشاط العلمي  -   الكهرباء
النشاط العلمي - الكهرباء
 
OCL Specification Status
OCL Specification StatusOCL Specification Status
OCL Specification Status
 
Model Transformation A Personal Perspective
Model Transformation A Personal PerspectiveModel Transformation A Personal Perspective
Model Transformation A Personal Perspective
 
La & edm in practice
La & edm in practiceLa & edm in practice
La & edm in practice
 
The Importance of Opposites
The Importance of OppositesThe Importance of Opposites
The Importance of Opposites
 
Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source Projects
 
SysML adoption in France
SysML adoption in FranceSysML adoption in France
SysML adoption in France
 
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of...
 
UMLX and QVT and ATL
UMLX and QVT and ATLUMLX and QVT and ATL
UMLX and QVT and ATL
 
Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open source
 

Similaire à Speech Recognition API

Présentation programme OREE
Présentation programme OREEPrésentation programme OREE
Présentation programme OREE
CYB@RDECHE
 
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans rupture
Guillaume Laforge
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
PimpMySharePoint
 

Similaire à Speech Recognition API (20)

Intégration Continue pour Android
Intégration Continue pour AndroidIntégration Continue pour Android
Intégration Continue pour Android
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011
 
Solution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coin
Solution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coinSolution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coin
Solution Linux 2012 : Utilisateurs du Libre ne restez pas dans votre coin
 
memoire sur la technologie de RIA
memoire sur la technologie de RIAmemoire sur la technologie de RIA
memoire sur la technologie de RIA
 
defuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfdefuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdf
 
Présentation Sollan I-Expo 2008
Présentation Sollan I-Expo 2008Présentation Sollan I-Expo 2008
Présentation Sollan I-Expo 2008
 
OCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCSOCCIware presentation au groupe de travail Big Data du SCS
OCCIware presentation au groupe de travail Big Data du SCS
 
cv_hamidi
cv_hamidicv_hamidi
cv_hamidi
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
 
OpenStack - open source au service du Cloud
OpenStack - open source au service du CloudOpenStack - open source au service du Cloud
OpenStack - open source au service du Cloud
 
CV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel FrCV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel Fr
 
Présentation programme OREE
Présentation programme OREEPrésentation programme OREE
Présentation programme OREE
 
Diapo PFE
Diapo PFEDiapo PFE
Diapo PFE
 
Compte rendu oscon 2013
Compte rendu oscon 2013Compte rendu oscon 2013
Compte rendu oscon 2013
 
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans rupture
 
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 

Speech Recognition API

  • 1. Soutenance du Stage d’application Mise en place d’une API de reconnaissance vocale Présenté par : Salma ES-SALMANI Encadré par : Abdelwahed El Mourabit 02/11/2013 Soutenu devant les membres de jury • Pr Mohammed Berrada • Pr Nour Houda Chaoui Mejhed Stage d'application Soft Centre
  • 2. Présentation de l’organisme d’accueil Contexte du projet et problématique Principe de la reconnaissance vocale Démarche de réalisation du projet Présentation de l’outil réalisé Conclusion 02/11/2013 Stage d'application Soft Centre 2
  • 3. Présentation de l’organisme d’accueil Contexte du projet La reconnaissance & Problématique vocale Démarche de réalisation du projet Présentation de l’outil Conclusion Centre de R&D spécialisé dans le développement logiciel Fondé en 2010 02/11/2013 Stage d'application Soft Centre 3
  • 4. Présentation de l’organisme d’accueil 02/11/2013 Contexte du projet Reconnaissance Démarche de & Problématique vocale réalisation du projet Stage d'application Soft Centre Présentation de l’outil Conclusion 4
  • 5. Présentation de l’organisme d’accueil Contexte du projet Reconnaissance Démarche de & Problématique vocale réalisation du projet Présentation de l’outil Conclusion Mode de fonctionnement 02/11/2013 Stage d'application Soft Centre 5
  • 6. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance Démarche de vocale réalisation du projet Présentation de l’outil Conclusion • Les Interfaces Homme-Machine (IHM) évoluent vers une communication plus large et pervasive • La reconnaissance vocale permet de réaliser des interfaces vocales où l’interaction se fait via la voix. L’interface devient alors plus intuitive et moins encombrante pour l’utilisateur dans son quotidien. 02/11/2013 Stage d'application Soft Centre 6
  • 7. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance Démarche de vocale réalisation du projet Présentation de l’outil Conclusion Problématique • Comment offrir aux développeurs une API simple et robuste capable de reconnaître des mots prononcés dans n’importe quelle langue ? • Dans le cas d’une application mobile, comment reconnaître n’importe quelle voix dans des conditions acoustiques variables et souvent bruyantes ? 02/11/2013 Stage d'application Soft Centre 7
  • 8. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance Démarche de vocale réalisation du projet Présentation de l’outil Conclusion Réalisation d’une API Java de reconnaissance vocale Reconnaissance de plusieurs dictionnaires de mots (sélecteur de menus) Optimisation des performances pour un niveau de qualité à la hauteur d’un déploiement industriel 02/11/2013 Stage d'application Soft Centre 8
  • 9. Présentation de l’organisme d’accueil Contexte du projet & Problématique Démarche de réalisation Présentation de l’outil La reconnaissance du projet vocale Conclusion • Problème de base : identifier le sens d’un flux de paroles prononcées souvent dans un bruit de fond plus ou moins important • Approche probabiliste : 02/11/2013 Stage d'application Soft Centre 9
  • 10. Présentation de l’organisme d’accueil Contexte du projet & Problématique Démarche de réalisation Présentation de l’outil La reconnaissance du projet vocale Conclusion Les modèles de Markov cachés • Les Modèles de Markov Discrets sont basés sur une suite (ou boucle) d’états dans lesquels on navigue par des probabilités de transition et suivant des observations • Grâce à ces modèles, on peu connaître, sachant l’observation passée quelle va être la probabilité des observations futures. 02/11/2013 Stage d'application Soft Centre 10
  • 11. Présentation de l’organisme d’accueil 02/11/2013 Contexte du projet & Problématique Démarche de réalisation Reconnaissance du projet vocale Stage d'application Soft Centre Présentation de l’outil Conclusion 11
  • 12. Présentation de l’organisme d’accueil Contexte du projet & Problématique Démarche de réalisation Reconnaissance du projet vocale Présentation de l’outil Conclusion HTK Hidden Markov Model Toolkit est un ensemble d’outils portables permettant la création et la manipulation des modèles de Markov cachés. HTK est principalement utilisé dans le domaine de la recherche de la reconnaissance vocale bien qu’il soit tout à fait utilisable dans de nombreuses autres applications telles que la synthèse vocale, la reconnaissance de l’écriture ou la reconnaissance de séquences d’ADN. 02/11/2013 Stage d'application Soft Centre 12
  • 13. Présentation de l’organisme d’accueil Contexte du projet & Problématique Démarche de réalisation Reconnaissance du projet vocale Présentation de l’outil Conclusion Sphinx 4 Sphinx-4 est une librairie de reconnaissance vocale écrite entièrement en Java. Sphinx-4 est hautement configurable. La reconnaissance de Sphinx-4 supporte notamment les mots isolés et les phrases (utilisation de grammaires). L’architecture de Sphinx-4 est modulable pour permettre de nouvelles recherches et pour tester de nouveaux algorithmes. 02/11/2013 Stage d'application Soft Centre 13
  • 14. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance Présentation de Démarche de réalisation du vocale l’outil projet Conclusion Outil de reconnaissance HTK a été choisi parmi les 2 logiciels grâce à son architecture flexible et sa disponibilité en ligne de commande, ce qui lui permet de s’intégrer facilement dans n’importe quelle architecture logicielle. La documentation détaillée disponible ainsi que le support de Microsoft est un autre plus pour justifier ce choix. 02/11/2013 Stage d'application Soft Centre 14
  • 15. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance Présentation de Démarche de réalisation du vocale l’outil projet Conclusion Language de programmation On a choisi le langage Java pour l’API alors que le C++ est plus naturel avec l’outil HTK : • Garbage Collector qui donne un meilleur time to market et moins de bugs • Process de build dure en moyenne 7 minutes, par rapport à 20h pour C++ à cause des outils tels que Ant et Maven • Portabilité du code source qui pourra s’exécuter aisément sur un poste local équipé de Windows ou un serveur en Linux • Meilleur support pour l’I/O, networking, XML/HTML, database connectivity ... 02/11/2013 Stage d'application Soft Centre 15
  • 16. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance Présentation de Démarche de réalisation du vocale l’outil projet Conclusion ORM Hibernate est un ORM qui apporte une solution aux problèmes d'adaptation entre le paradigme objet et les SGBD en remplaçant les accès à la base de données par des appels à des méthodes objet de haut niveau. La quantité de code ainsi épargnée est très importante d'autant que ce code est généralement fastidieux et redondant. 02/11/2013 Stage d'application Soft Centre 16
  • 17. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance Présentation de Démarche de réalisation du vocale l’outil projet Conclusion Persistance MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de performances élevées en lecture. Il est multi-thread et multi-utilisateur. Le schéma simple des tables de la base de donnée permet une transition éventuelle en format clé-valeur (NoSQL) pour assurer une meilleure scalabilité du service 02/11/2013 Stage d'application Soft Centre 17
  • 18. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance Présentation de Démarche de réalisation du vocale l’outil projet Conclusion Audio Input Audacity est un logiciel libre pour la manipulation de données audio numériques. Il permet d'enregistrer du son numérique par le biais des entrées ligne/micro/cd des cartes sons. Il permet d'éditer (copier, coller, sectionner…) les sons sur plusieurs pistes, et il est accompagné de divers filtres et effets : pitch, tempo, réduction de bruit, égaliseur, filtres de Fourier, … Ce logiciel a été utilisé pour la capture et la préparation des samples à mettre dans la base d’apprentissage et de test 02/11/2013 Stage d'application Soft Centre 18
  • 19. Présentation de Contexte du projet Reconnaissance Démarche de l’organisme d’accueil & Problématique vocale réalisation du projet 02/11/2013 Stage d'application Soft Centre Présentation de l’outil Conclusion 19
  • 20. Présentation de l’organisme d’accueil 02/11/2013 Contexte du projet & Problématique Reconnaissance vocale Présentation de l’application Stage d'application Soft Centre Présentation de l’outil Conclusion 20
  • 21. Présentation de l’organisme d’accueil 02/11/2013 Contexte du projet & Problématique Reconnaissance vocale Démarche de réalisation du projet Stage d'application Soft Centre Présentation de l’application Conclusion 21
  • 22. Présentation de l’organisme d’accueil 02/11/2013 Contexte du projet & Problématique Reconnaissance vocale Démarche de réalisation Présentation de du projet Stage d'application Soft Centre Conclusion l’application 22
  • 23. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance vocale Démarche de réalisation Présentation de du projet Conclusion l’application Pour satisfaire le seuil défini dans le cahier de charges, il a fallu optimiser les paramètres de traitement du signal sonore (échantillonnage, …) et les adapter aux spécifités du locuteur (origine ethnique, bruit de fond …) On propose alors au développeur le choix entre 2 algorithmes pour améliorer le taux de reconnaissance : • A* qui utilise l’évaluation heuristique pour estimer le meilleur chemin entre 2 nœuds. 02/11/2013 Stage d'application Soft Centre 23
  • 24. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance vocale Démarche de réalisation Présentation de du projet Conclusion l’application • Un algorithme génétique qui, grâce à un procédé de sélection naturelle appliqué à une population de solutions potentielles, approche la solution par bonds successifs (brassage). 02/11/2013 Stage d'application Soft Centre 24
  • 25. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance Démarche de vocale réalisation du projet Présentation de l’application Conclusion Perspectives Automatiser l’étape d’alimentation des bases de données d’apprentissage et de test, via une application mobile par exemple, pour un meilleur taux de reconnaissance Héberger l’API dans le Cloud (IAAS/PAAS) pour une gestion transparente de la montée en charge, surtout dans un environnement distribué 02/11/2013 Stage d'application Soft Centre 25
  • 26. Présentation de l’organisme d’accueil Contexte du projet & Problématique Reconnaissance Démarche de vocale réalisation du projet Présentation de l’application Conclusion Conclusion • Bilan professionnel : interface entre la recherche académique et les industriels du secteur TI pour produire du logiciel innovant • Bilan personnel : expérience intéressante, rencontres enrichissantes 02/11/2013 Stage d'application Soft Centre 26
  • 27. ? 02/11/2013 Questions - Réponses Stage d'application Soft Centre 27