Microsoft Speech Server 2007 (part 3)

Par Sébastien Carriere 25. octobre 2007 23:51

question_and_answerAprès avoir présenté Speech Server 2007 et développé une application "Hello World", nous allons apprendre à poser une question et récupérer la réponse de l'utilisateur.

Deux étapes sont nécessaires :

  • Définir la grammaire
  • Définir le workflow

Pour notre exemple nous allons créer une application qui :

  1. Demande un chiffre entre 0 et 5 à l'utilisateur
  2. Répète la valeur dite par l'utilisateur

Grace à cet exemple, nous allons découvrir l'activité "Question/Réponse" de Speech Server et créer notre première grammaire.

3 étapes sont nécessaires :

  • Créer le projet
  • Créer la grammaire
  • Créer le workflow

1 - Créer le projet

L'objectif est de créer un projet Speech Server.

  1. Faite "File-> New -> Project"
    image
  2. Sélectionnez "Voice Response Workflow Application" dans Speech
    image 
  3. Entrez le nom ("QuestionReponseSpeechApplication" et le répertoire de destination puis cliquez sur OK
    image

  4. Dans "Application Settings", sélectionnez la langue français.
    Si elle n'est pas présente, c'est qu'il manque le "language pack Fr"
    image
  5. Remplissez la section "Application Resource" comme dans la copie d'écran ci-dessous pour créer une application possédant une grammaire vide.
    image
  6. Cliquez sur Ok pour créer le projet.

Vous devriez avoir un écran proche de celui-ci :

image

2 - Définir la grammaire

L'objectif est de créer une grammaire permettant de reconnaitre un chiffre entre 0 et 5.

  1. Pour ouvrir le fichier contenant les règles de grammaire,
    Double cliquez sur fichier "QuestionReponseSpeechApplication.grxml" dans le répertoire "Grammars" de la solution.
    clip_image014 clip_image016
  2. Renommez la règle "Rule1" en "Nombre_0_5", puis double cliquez sur la règle pour l'ouvrir dans la zone de travail.
    clip_image018
  3. Depuis la ToolBox, déposez un composant "List".
    clip_image020clip_image022
  4. Ajoutez 5 éléments en répétant l'opération suivante : "Clic droit sur la liste -> Add Child Element"
    clip_image024clip_image026
  5. Double cliquez sur les éléments afin de les renommez respectivement en "zero/un/deux/trois/quatre/cinq".
    clip_image028
  6. Ajouter un tag l'élément "Zero" : "Clique droit sur l'element -> Add Tag Element"
    clip_image030clip_image032
  7. Double cliquez sur le tag créer pour changez la valeur de du tag en "$._value = 0 ;"
    clip_image034
  8. Répétez les opérations 6 et 7 avec les éléments "un, deux, trois, quatre, cinq". Vous devez obtenir le résultat ci-dessous :
    clip_image036
  9. La version beta de Speech Serveur ne possédant pas la reconnaissance vocale en français, nous allons configurer la grammaire pour fonctionner avec le module de reconnaissance vocale US.
    Pour cela, sélectionnez le fichier « QuestionReponseSpeechApplication.grxml » puis changer le paramètre « Language » dans la fenêtre de propriétés. (Cette étape ne devra plus être effectuée dès que la reconnaissance vocale en français sera fonctionnelle)

    clip_image038clip_image040

Vous venez de créer votre première grammaire. Celle-ci est simple, mais il est possible de créer des grammaires plus complexe afin de détecter tout type d'information (date, chiffre, ordre et réponses diverses).

3 - Définir le workflow

L'objectif est de définir un workflow demandant à l'utilisateur un nombre puis de répéter celui-ci.

Etape 1 : Poser la question.

  1. Pour ouvrir le fichier contenant le workflow,
    Double cliquez sur fichier "VoiceResponseWorkflow1.cs" à la racine de la solution.
    clip_image042
  2. Déposez une activité "QuestionAnswer" sur l'espace de travail.
    clip_image044clip_image046
  3. Double cliquez sur l'activité "questionAnswerActivity1" afin d'ouvrir la fenêtre de configuration.
    clip_image048
  4. Saisissez le texte suivant dans le champ « Main » : « Dite un chiffre entre zéro et cinq ».
    Puis sélectionnez l’onglet « Grammar »
    clip_image050
  5. Cliquez sur le bouton « Browse File » et sélectionnez le fichier « QuestionReponseSpeechApplication.grxml »
    clip_image052 clip_image054
  6. Cliquez sur le bouton « Browse Rule » et sélectionnez la règle « Nombre_0_5 » crée précédemment. Cliquez sur « Select active rule » puis sur « ok »
    clip_image056 clip_image058
  7. Vous devez obtenir le workflow suivant :
    clip_image060
  8. Renommez l’activité « questionAnswerActivity1 » en « QuestionActivity ».

Vous venez de configurer votre première activité de type question.

Etape 2 : répéter la valeur entrée

  1. 1. Déposez une activité « Statement » en dessous de l’activité « Question ».
    clip_image062 clip_image064
  2. 2. Ouvrez les propriétés de l’activité « statementActivity1 » et créez l’événement « TurnStarting »
    clip_image066 clip_image068
    clip_image070
  3. 3. Vous devez maintenant créer dynamiquement une phrase répétant le nombre choisi. Pour cela, copiez le code suivant :
    clip_image072

La réalisation de notre cas d’exemple est terminée, vous pouvez appuyer sur F5 pour lancer l’application en mode débug.

L’application de démonstration est en pièce jointe : QuestionReponseSpeechApplication.zip (280,86 kb)

Soyez le premier à noter ce billet

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Commentaires

Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen