EA2012-Serveux Vocaux: Difference between revisions
(52 intermediate revisions by the same user not shown) | |||
Line 29: | Line 29: | ||
2. Réduire le coût de service: une machine peut facilement travailler 24h/24 et remplacer centaine d’opérateurs. |
2. Réduire le coût de service: une machine peut facilement travailler 24h/24 et remplacer centaine d’opérateurs. |
||
3. Étendre facile:puisque c’est un logiciel, le système doit être |
3. Étendre facile:puisque c’est un logiciel, le système doit être extensible s’il était bien conçu. Lors des changements d'exigence, au lieu de faire une formation du personnel, il ne faudra qu’une petite mise à jour sur la machine. |
||
==Techniques de base== |
==Techniques de base== |
||
Line 36: | Line 36: | ||
Il y a deux genres de techniques pour qu'une machine puisse parler. |
Il y a deux genres de techniques pour qu'une machine puisse parler. |
||
Soit par '''des annonces enregistrées''': on enregistre d'avance des annonces dans le serveur vocal. Lors de l'arrivé d'un appel, l'utilisateur entendra l'annonce correspondante. |
Soit par '''des annonces enregistrées''': on enregistre d'avance des annonces dans le serveur vocal. Lors de l'arrivé d'un appel, l'utilisateur entendra l'annonce correspondante. |
||
Line 50: | Line 49: | ||
* Les annonces sont statiques. Dès qu'il y a des changements, il coûtera cher. |
* Les annonces sont statiques. Dès qu'il y a des changements, il coûtera cher. |
||
⚫ | |||
La synthèse vocale est une technique informatique qui permet de créer de la parole artificielle selon un texte. Il transcrit le texte demandé, en une séquence de phonèmes, qui représentent exactement les sons qui doivent être prononcés. |
|||
⚫ | |||
Les pros: |
Les pros: |
||
* Les annonces sont dynamiques. S'il y a des changements dessus, il ne faudra que changer |
* Les annonces sont dynamiques. S'il y a des changements dessus, il ne faudra que changer de texte. |
||
Les cons: |
Les cons: |
||
Line 65: | Line 64: | ||
Il y a deux genres de techniques qui permettent aux utilisateurs de répondre au serveur vocale. |
Il y a deux genres de techniques qui permettent aux utilisateurs de répondre au serveur vocale. |
||
Soit par '''code DTMF''' (Dual-tone multi-frequency signaling): l'utilisateur tapant une touche de téléphone, l'autre côté de téléphone le saura. |
Soit par '''code DTMF''' (Dual-tone multi-frequency signaling): l'utilisateur tapant une touche de téléphone, l'autre côté de téléphone le saura. |
||
Un code DTMF est une combinaison de fréquences. Selon le tableau dessous, chaque touche est lié avec deux fréquences: une haute et une basse. lors qu'une touche est appuyée, le téléphone va envoyer une fréquence combinant les deux fréquences associées. Côté serveur, il va pouvoir distinguer la touche en décodant la fréquence. |
Un code DTMF est une combinaison de fréquences. Selon le tableau dessous, chaque touche est lié avec deux fréquences: une haute et une basse. lors qu'une touche est appuyée, le téléphone va envoyer une fréquence combinant les deux fréquences associées. Côté serveur, il va pouvoir distinguer la touche en décodant la fréquence. |
||
[[File:Picture2.jpg]] |
[[File:Picture2.jpg]] |
||
Soit par '''reconnaissance vocale''': l'utilisateur parlant, l'autre côté de téléphone le comprendra. |
Soit par '''reconnaissance vocale''': l'utilisateur parlant, l'autre côté de téléphone le comprendra. |
||
Line 88: | Line 82: | ||
==Applications== |
==Applications== |
||
[[File:Flowchartdapplication.jpg|thumb|right|Diagramme d'une application vocale]] |
|||
La structure d'une application vocale est montré sur le diagramme à droit, on peut constater que le serveur joue plutôt le rôle contrôleur. Il transcrit la demande de l'utilisateur pour le serveur d'application et à la fois transcrit la réponse du serveur d'application en signale acoustique pour l'utilisateur. Si une demande de l'utilisateur ne correspondent aucune information attendue, il va la filtrer et redemander une nouvelle. |
|||
=Démo= |
|||
Dans le domaine d'application vocale, le serveur vocale le plus usé est le serveur qui fonctionne en interprétant un fichier VoiceXML. |
|||
'''VoiceXML''' est un dialecte XML. Créé par AT&T, Lucent, Motorola et IBM, il a été reconnu par le W3C. VoiceXML sert à définir le comportement d'un serveur vocale. |
|||
Fondé sur XML, ses grammaires ne sont pas difficiles. Je vous montre les typiques pour en avoir une image: |
|||
Dans l'entête de VoiceXML, il faut définir la langue pour que le système puisse prononcer correctement. Sinon, il prononce par défaut les mots en anglais. |
|||
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR"> |
|||
Le tag prompt sert à définir des phrases que nous voulons faire lire le serveur. |
|||
<prompt>Bienvenue sur démonstration</prompt> |
|||
Dans le prompt, nous pouvons poser une question au choix à l'utilisateur. Il est demandé de répondre la question en tapant la touche de téléphone. |
|||
<enumerate>appuyez <value expr="_dtmf"/> pour <value expr="_prompt"/></enumerate> |
|||
Les réponses attendues sont définit par le tag Choice, le champ "next" définit le nom d'un autre morceau de code où va l'utilisateur s'il l'a choisi: |
|||
<choice next="#debut">mathématique</choice> |
|||
Le tag noinput définit le parole si l'utilisateur ne répond pas |
|||
<noinput> Réveillez-vous, répondez-moi <reprompt/></noinput> |
|||
Le tag nomatch définit le parole si la réponse de l'utilisateur ne correspond aucune. |
|||
<nomatch> Allez, vous ne comprenez pas fran?ais <reprompt/> </nomatch> |
|||
A part VoiceXML, il y encore des techniques basées sur XML qui assistent VoiceXML à être plus puissant. |
|||
*'''CCXML''' (Call control XML) permet de transférer un appel depuis un serveur vers un autre |
|||
*'''SRGS''' (Speech Recognition Grammar Specification) permet au serveur de comprendre le parole de l'utilisateur |
|||
*'''SSML''' (Speech Synthesis Markup Language) permet au serveur de prononcer correctement les mots dans la phrase mélangée avec plusieurs langues. |
|||
=Démostraction= |
|||
Le site https://evolution.voxeo.com/ nous fournit gratuitement un serveur vocale pour tester fichier VoiceXML. Après que les fichiers VoiceXML sont déployés, le site nous donnera des numéro de téléphone associer à notre application pour tester. |
|||
J'ai écrit une démonstration à 3 fichiers XML, c'était un petit quiz. Je l'ai déployé sur le site voxeo. La configuration est ci-dessous: |
|||
[[File:Démo_configuration.jpg]] |
|||
Le site m'a donné des numéro de téléphone pour tester: |
|||
[[File:Démo_telephone.jpg]] |
|||
Ainsi, en appelant l'un des numéro dessus, vous entendrez la démonstration. |
|||
=Référence= |
=Référence= |
||
* http://fr.wikipedia.org/wiki/Code_DTMF |
* http://fr.wikipedia.org/wiki/Code_DTMF |
||
* http://fr.wikipedia.org/wiki/Reconnaissance_automatique_de_la_parole |
* http://fr.wikipedia.org/wiki/Reconnaissance_automatique_de_la_parole |
||
* http://www.vxml.org/frame.jsp?page=t_1.htm |
|||
* http://www.ibm.com/developerworks/cn/education/xml/x-ccxml/section4.html |
|||
* http://fr.wikipedia.org/wiki/Synth%C3%A8se_vocale |
|||
* http://fr.wikipedia.org/wiki/VoiceXML |
Latest revision as of 19:41, 24 December 2012
Présentation
Enseignants : Georges-Pierre Bonneau, Didier Donsez
Auteur : Xiao Lu
Diapositives : File:Serveur vocal présentation.pdf
Abstract
Interactive voice response is actually an automatic proxy of operation. It navigates customers by prerecord voice or speech synthesis technique, then acquire the response of customers by speech recognition technique or keystroke recognition technique, thus implement-ting the Human-Computer interaction.
In my presentation, I’ll introduce you briefly about all the technique required for composing interactive voice response system.
Résumé
Le serveur vocal est le serveur qui donne vocalement des services aux clients. Il navigue clients en parlant et reçoit réponses soit par les touches de téléphone soit par les paroles de client. Ainsi, cela réalise l’interaction homme-machine. Dans cette présentation, je vais vous montrer les techniques nécessaires pour construire un serveur vocal.
Mot clé
Serveur vocal, code DTMF, reconnaissance vocale, synthèse vocale
Synthèse
Introduction du serveur vocal
Le serveur vocal destiné à donner vocalement des services aux clients qui permet aux utilisateurs d’y accéder au moyen d’un téléphone fixe, mobile ou d'un softphone (Skype, gtalk…).Il est aussi connu sous le nom du système de dialogue.
Selon les statistiques, les réponses de la plupart de questions posées par l’utilisateur peuvent être énumérées en avance.Cela fait penser les gens à remplacer l’homme par la machine.
Les intérêts d’utiliser la machine sont les suivants :
1. Ne se tromper quasiment pas: comparé avec l’homme, la machine ne se fatigue pas et ne se trompe quasiment pas si le code était bien écrit.
2. Réduire le coût de service: une machine peut facilement travailler 24h/24 et remplacer centaine d’opérateurs.
3. Étendre facile:puisque c’est un logiciel, le système doit être extensible s’il était bien conçu. Lors des changements d'exigence, au lieu de faire une formation du personnel, il ne faudra qu’une petite mise à jour sur la machine.
Techniques de base
Du serveur à l'utilisateur
Il y a deux genres de techniques pour qu'une machine puisse parler.
Soit par des annonces enregistrées: on enregistre d'avance des annonces dans le serveur vocal. Lors de l'arrivé d'un appel, l'utilisateur entendra l'annonce correspondante.
Les pros:
- Les annonces seront naturel, claire
- C'est facile à effectuer.
Les cons:
- Les annonces sont statiques. Dès qu'il y a des changements, il coûtera cher.
Soit par des annonces en synthèse vocale: on écrit du texte à lire pour le système et l’enregistre dans le serveur vocal. Lors de l'arrivé d'un appel, l'utilisateur entendra l'annonce générée par la machine.
La synthèse vocale est une technique informatique qui permet de créer de la parole artificielle selon un texte. Il transcrit le texte demandé, en une séquence de phonèmes, qui représentent exactement les sons qui doivent être prononcés.
Les pros:
- Les annonces sont dynamiques. S'il y a des changements dessus, il ne faudra que changer de texte.
Les cons:
- Pour l'instant, les annonces en synthèse vocale ne sont pas assez naturel. L'utilisateur a parfois des difficultés à comprendre.
De l'utilisateur au serveur
Il y a deux genres de techniques qui permettent aux utilisateurs de répondre au serveur vocale.
Soit par code DTMF (Dual-tone multi-frequency signaling): l'utilisateur tapant une touche de téléphone, l'autre côté de téléphone le saura.
Un code DTMF est une combinaison de fréquences. Selon le tableau dessous, chaque touche est lié avec deux fréquences: une haute et une basse. lors qu'une touche est appuyée, le téléphone va envoyer une fréquence combinant les deux fréquences associées. Côté serveur, il va pouvoir distinguer la touche en décodant la fréquence.
Soit par reconnaissance vocale: l'utilisateur parlant, l'autre côté de téléphone le comprendra.
La reconnaissance vocale est aussi connu sous le nom de "reconnaissance automatique de la parole". C'est une technique informatique qui permet d'analyser la parole captée pour la transcrire sous la forme d'un texte.Le principe de base est
- Traiter le signal acoustique: découper en tranche de 20 à 30ms de signal et les numériser et paramétrer par une technique d'analyse fréquentielle utilisant la transformée de Fourier
- Réaliser une association entre les segments élémentaires de la parole et les éléments lexicaux.
- Concaténer les mots précédemment obtenus pour reconstituer le discours le plus probable.
Applications
La structure d'une application vocale est montré sur le diagramme à droit, on peut constater que le serveur joue plutôt le rôle contrôleur. Il transcrit la demande de l'utilisateur pour le serveur d'application et à la fois transcrit la réponse du serveur d'application en signale acoustique pour l'utilisateur. Si une demande de l'utilisateur ne correspondent aucune information attendue, il va la filtrer et redemander une nouvelle.
Dans le domaine d'application vocale, le serveur vocale le plus usé est le serveur qui fonctionne en interprétant un fichier VoiceXML.
VoiceXML est un dialecte XML. Créé par AT&T, Lucent, Motorola et IBM, il a été reconnu par le W3C. VoiceXML sert à définir le comportement d'un serveur vocale.
Fondé sur XML, ses grammaires ne sont pas difficiles. Je vous montre les typiques pour en avoir une image:
Dans l'entête de VoiceXML, il faut définir la langue pour que le système puisse prononcer correctement. Sinon, il prononce par défaut les mots en anglais.
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
Le tag prompt sert à définir des phrases que nous voulons faire lire le serveur.
<prompt>Bienvenue sur démonstration</prompt>
Dans le prompt, nous pouvons poser une question au choix à l'utilisateur. Il est demandé de répondre la question en tapant la touche de téléphone.
<enumerate>appuyez <value expr="_dtmf"/> pour <value expr="_prompt"/></enumerate>
Les réponses attendues sont définit par le tag Choice, le champ "next" définit le nom d'un autre morceau de code où va l'utilisateur s'il l'a choisi:
<choice next="#debut">mathématique</choice>
Le tag noinput définit le parole si l'utilisateur ne répond pas
<noinput> Réveillez-vous, répondez-moi <reprompt/></noinput>
Le tag nomatch définit le parole si la réponse de l'utilisateur ne correspond aucune.
<nomatch> Allez, vous ne comprenez pas fran?ais <reprompt/> </nomatch>
A part VoiceXML, il y encore des techniques basées sur XML qui assistent VoiceXML à être plus puissant.
- CCXML (Call control XML) permet de transférer un appel depuis un serveur vers un autre
- SRGS (Speech Recognition Grammar Specification) permet au serveur de comprendre le parole de l'utilisateur
- SSML (Speech Synthesis Markup Language) permet au serveur de prononcer correctement les mots dans la phrase mélangée avec plusieurs langues.
Démostraction
Le site https://evolution.voxeo.com/ nous fournit gratuitement un serveur vocale pour tester fichier VoiceXML. Après que les fichiers VoiceXML sont déployés, le site nous donnera des numéro de téléphone associer à notre application pour tester.
J'ai écrit une démonstration à 3 fichiers XML, c'était un petit quiz. Je l'ai déployé sur le site voxeo. La configuration est ci-dessous:
Le site m'a donné des numéro de téléphone pour tester:
Ainsi, en appelant l'un des numéro dessus, vous entendrez la démonstration.
Référence
- http://fr.wikipedia.org/wiki/Code_DTMF
- http://fr.wikipedia.org/wiki/Reconnaissance_automatique_de_la_parole
- http://www.vxml.org/frame.jsp?page=t_1.htm
- http://www.ibm.com/developerworks/cn/education/xml/x-ccxml/section4.html
- http://fr.wikipedia.org/wiki/Synth%C3%A8se_vocale
- http://fr.wikipedia.org/wiki/VoiceXML