Exercice - Configurer la compréhension du langage courant et de l’intention

Effectué

Dans ce module, vous allez explorer la reconnaissance de l’intention d’Azure Speech Service. La reconnaissance d’intention vous permet d’équiper votre application avec des commandes vocales optimisées par l’IA, où les utilisateurs peuvent dire des commandes vocales non spécifiques et que le système comprend toujours leur intention.

Préparer la scène

  1. Dans la fenêtre Hierarchy, sélectionnez l’objet Lunarcom , puis, dans la fenêtre Inspector, utilisez le bouton Ajouter un composant pour ajouter le composant Lunarcom Intent Recognizer (Script) à l’objet Lunarcom.

    Capture d’écran de l’ajout du composant Lunarcom Intent Recognizer (Script).

  2. Dans la fenêtre Projet, accédez à Assets>MRTK. Tutorials.GettingStarted>Prefabs>RocketLauncher dossier, faites glisser le RocketLauncher_Complete préfabriqué dans votre fenêtre Hierarchy et placez-le à un emplacement approprié devant la caméra. Par exemple:

    • Position Transform X = 0, Y = 1, Z = 1,5
    • Transformer Rotation X = 0, Y = 90, Z = 0

    Capture d’écran de l’ajout du préfabriqué RocketLauncher_Complete.

  3. Dans la fenêtre Hierarchy, sélectionnez à nouveau l’objet Lunarcom , puis développez l’objet RocketLauncher_Complete>Buttons et affectez chacun des objets enfants de l’objet Buttons au champ Boutons du lanceur lunaire correspondant.

    Capture d’écran de l’affectation de chacun des boutons.

Créer la ressource du service de langage Azure

Dans cette section, vous allez créer une ressource de service de langage Azure pour l’application Conversational Language Understanding (CLU) que vous allez créer dans la section suivante.

  1. Connectez-vous au portail Azure et sélectionnez Créer une ressource, puis recherchez et sélectionnez Language Service :

    Capture d’écran de la ressource du service de langage Azure.

  2. Sélectionnez le bouton Créer pour créer une instance de ce service :

    Capture d’écran de la création d’une instance de ce service.

  3. Dans la page Créer une langue, entrez les valeurs suivantes :

    • Pour l’abonnement, sélectionnez Essai gratuit si vous disposez d’un abonnement d’essai. Si vous n’avez pas d’abonnement d’essai, sélectionnez l’un de vos autres abonnements.
    • Pour le groupe de ressources, sélectionnez le lien Créer un nouveau lien, puis entrez un nom approprié ; par exemple , MRTK-Tutorials. Sélectionnez OK.

    Capture d’écran de l’écran Créer une langue.

    Conseil / Astuce

    Si vous disposez déjà d’un autre groupe de ressources approprié dans votre compte Azure, vous pouvez utiliser ce groupe de ressources au lieu de en créer un nouveau.

  4. Lorsque vous êtes toujours sur la page Créer, entrez les valeurs suivantes :

    • Pour Nom, entrez un nom approprié pour le service ; par exemple , MRTK-Tutorials-AzureSpeechServices
    • Pour Région, choisissez un emplacement proche de l’emplacement physique des utilisateurs de votre application ; par exemple, USA Est
    • Pour le niveau tarifaire, dans ce tutoriel, sélectionnez F0 (5 000 transactions par 30 jours)

    Capture d’écran du formulaire Créer une langue configuré.

  5. Ensuite, sélectionnez Vérifier + créer, passez en revue les détails, puis sélectionnez le bouton Créer en bas de la page pour créer la ressource (et le nouveau groupe de ressources si vous avez configuré un groupe de ressources à créer) :

    Capture d’écran de la section Vérifier et Créer.

  6. Une fois le processus de création de ressource terminé, le message suivant s’affiche :

    Capture d’écran de l’écran Vue d’ensemble.

Créer l’application Conversational Language Understanding (CLU)

Dans cette section, vous allez créer une application CLU, configurer et entraîner son modèle de prédiction et la connecter à la ressource de langage Azure que vous avez créée à l’étape précédente.

Plus précisément, vous allez créer une intention que si l’utilisateur indique qu’une action doit être effectuée, l’application déclenche l’événement PressableButton.OnClicked() sur l’un des trois boutons bleus de la scène, en fonction du bouton auquel l’utilisateur fait référence.

Par exemple, si l’utilisateur dit aller de l’avant et lancer la fusée, l’application prédit que aller de l'avant signifie qu'une action doit être entreprise, et que l’PressableButton.OnClicked() événement à cibler se trouve sur le bouton lancer.

Les principales étapes à suivre sont les suivantes :

  1. Créer une application CLU
  2. Créer des intentions
  3. Créer des exemples d’énoncés
  4. Créer des entités
  5. Affecter des entités à l’exemple d’énoncés
  6. Entraîner, tester et publier l’application

1. Créer une application CLU

À l’aide du même compte d’utilisateur que celui que vous avez utilisé lors de la création de la ressource Azure dans la section précédente, connectez-vous à Language Studio.

  1. Une fois connecté, vous êtes invité à sélectionner une ressource Azure. Sélectionnez les valeurs que vous avez utilisées lors de la création de la ressource du service Azure Language, puis sélectionnez Terminé.

    Capture d’écran montrant la fenêtre contextuelle Sélectionner une ressource Azure.

  2. Après avoir connecté la ressource Azure, sélectionnez Créer un nouveau projet > de Compréhension du langage conversationnel et entrez les valeurs suivantes dans la fenêtre pop-up Créer un projet :

    • Pour Nom, entrez un nom approprié, par exemple : MRTK-Tutorials-AzureSpeechServices. Notez le nom que vous avez sélectionné, vous en aurez besoin plus loin dans le tutoriel.
    • Pour la langue principale des énoncés, sélectionnez une langue.
    • Pour Description, entrez éventuellement une description appropriée.

    Capture d’écran de la fenêtre contextuelle Créer un projet.

  3. Sélectionnez Suivant pour passer en revue la configuration du projet. Sélectionnez Créer pour créer le projet.

    Capture d’écran de la fenêtre Revoir et terminer.

  4. Une fois la nouvelle application créée, vous accédez à la page définition de schéma de cette application.

    Capture d’écran de la page du tableau de bord de l’application.

2. Créer des intentions

  1. Dans la page Définition de schéma, sélectionnez Ajouter et entrez la valeur suivante dans la fenêtre contextuelle Ajouter une intention :

    • Pour lenom de l’intention, saisissez PressButton
  2. Sélectionnez Ajouter une intention pour créer l’intention :

    Capture d’écran de l’écran Ajouter une intention.

    Avertissement

    Dans le cadre de ce didacticiel, votre projet Unity référencera cette intention par son nom (PressButton). Il est extrêmement important que vous nommiez votre intention exactement de la même manière.

  3. Une fois la nouvelle intention créée, vous revenez à la page définition de schéma. L’intention PressButton s’affiche dans la liste des intentions.

    Capture d’écran de la liste des intentions.

3. Créer des exemples d’énoncés

  1. Dans la barre latérale gauche, sélectionnez le bouton Étiquetage des données . Dans l’écran Étiquetage des données, sélectionnez PressButton dans la liste déroulante Sélectionner l'intention.

    Capture d’écran de la page d’étiquetage des données.

  2. À la liste Énoncés de l’intention PressButton, ajoutez les exemples d’énoncés suivants :

    • activer la séquence de lancement
    • montre-moi un indicateur de placement
    • lancer la séquence de lancement
    • appuyer sur le bouton indicateurs de positionnement
    • donnez-moi un conseil
    • Appuyez sur le bouton lancer
    • j’ai besoin d’un indicateur
    • Appuyez sur le bouton de réinitialisation
    • temps de réinitialisation de l’expérience
    • aller de l’avant et lancer la fusée
  3. Lorsque vous avez ajouté tous les exemples d’énoncés, votre page d’étiquetage de données doit ressembler à ceci :

    Capture d’écran de la page d’étiquetage des données mise à jour.

    Avertissement

    Dans le cadre de ce didacticiel, votre projet Unity référence les mots « hint », « hints », « reset » et « launch ». Il est extrêmement important que vous ayez orthographié ces mots de la même façon dans toutes les instances.

4. Créer des entités

  1. Dans la page Étiquetage des données, sélectionnez Ajouter une entité dans le volet Activité de droite et entrez les valeurs suivantes dans la fenêtre contextuelle Ajouter une entité :

    • Pour le nom de l’entité, entrez Action
  2. Sélectionnez Ajouter une entité pour créer l’entité.

    Capture d’écran de l’ajout d’une nouvelle entité.

  3. Répétez l’étape précédente pour créer une autre entité nommée Target. Vous disposez donc de deux entités nommées Action et Target.

    Capture d’écran de la création d’une entité cible.

    Avertissement

    Dans le cadre de ce didacticiel, votre projet Unity référence ces entités par leurs noms et ActionTarget. Il est extrêmement important que vous nommez vos entités exactement les mêmes.

5. Affecter des entités à l’exemple d’énoncés

  1. Sélectionnez le mot aller , puis sur le mot à l’avance, puis sélectionnez Action (simple) dans le menu contextuel contextuel pour étiqueter aller de l’avant en tant que valeur d’entité Action .

    Capture d’écran de l’étiquette go ahead en tant que valeur d’entité d’action.

  2. L’expression aller-avant est maintenant définie comme une valeur d’entité Action . Une valeur d’entité d’action se trouve maintenant sous les mots « go ahead ».

    Capture d’écran de la valeur d’entité d’action ajoutée.

    Remarque

    La ligne rouge que vous voyez sous l’étiquette dans l’image indique que la valeur d’entité n’a pas été prédite ; cela sera résolu lorsque vous entraînez le modèle dans la section suivante.

  3. Ensuite, sélectionnez le mot lancement, puis sélectionnez Cible dans le menu contextuel pour étiqueter lancement en tant que valeur d’entité Cible.

    Capture d’écran de la sélection du mot

  4. Le mot de lancement est maintenant défini comme une valeur d’entité cible . Une valeur de l’entité cible se trouve maintenant sous le mot « launch ».

    Capture d’écran de la valeur de l'entité cible ajoutée sous le mot 'lancer'.

  5. L’énoncé go ahead and launch the rocket de l’exemple de l’intention PressButton est maintenant configuré pour être prédit comme suit :

    • Intention : Appuyer sur le bouton
    • Entité d’action : poursuivre
    • Entité cible : lancement
  6. Répétez le processus précédent pour affecter une action et une étiquette d’entité cible à chacun des exemples d’énoncés, en gardant à l’esprit que les mots suivants doivent être étiquetés en tant qu’entités cibles :

    • conseil (cible le HintsButton dans le projet Unity)
    • conseils (cible HintsButton dans le projet Unity)
    • réinitialiser (cible le ResetButton dans le projet Unity)
    • launch (cible le LaunchButton dans le projet Unity)
  7. Sélectionnez Enregistrer les modifications. Lorsque vous avez étiqueté tous les exemples d’énoncés, votre page d’intention PressButton doit ressembler à ceci :

    Capture d’écran de la page d’intention PressButton avec tous les exemples d’énoncés étiquetés.

6. Entraîner, tester et publier l’application

  1. Pour entraîner l’application, sélectionnez le bouton Entraîner dans la barre latérale gauche. La page Travaux d’apprentissage doit s’afficher.

    Capture d'écran de l’écran Travaux d’apprentissage.

  2. Sélectionnez Démarrer un travail d’entraînement et sélectionnez les valeurs suivantes :

    • Sélectionnez Entraîner un nouveau modèle et entrez un nom approprié ; par exemple , MRTK-Tutorials-AzureSpeechServices.
    • Sélectionnez l’entraînement standard.
    • Choisissez Séparer automatiquement l’ensemble de tests des données d’apprentissage.
  3. Sélectionnez Entraîner pour démarrer le processus d’entraînement. Une fois que la formation est terminée, une notification Formation terminée s’affiche.

    Capture d’écran de la notification d’entraînement terminée.

  4. Pour passer en revue les résultats de l’entraînement, sélectionnez votre modèle de sortie dans l’écran Travaux d’entraînement, puis sélectionnez l’onglet Performances du modèle .

    Capture d’écran de l’écran De performances du modèle.

  5. Pour déployer l’application, sélectionnez le bouton Déploiement d’un modèle dans la barre latérale gauche. Vous devez voir la page Déploiement d’un modèle.

    Capture d’écran de la page Déploiement d’un modèle.

  6. Sélectionnez Ajouter un déploiement et entrez les valeurs suivantes dans la fenêtre contextuelle Ajouter un déploiement :

    • Sélectionnez Créer un nom de déploiement et entrez un nom approprié. Notez le nom que vous avez sélectionné, vous en aurez besoin plus loin dans le tutoriel.
    • Sélectionnez le modèle que vous avez créé précédemment dans la liste déroulante Sélectionner un modèle entraîné .
  7. Sélectionnez Déployer et attendre la fin du processus de publication.

    Capture d’écran de la notification De déploiement terminée.

  8. Sélectionnez le nouveau déploiement et sélectionnez le bouton Obtenir l’URL de prédiction .

    Capture d’écran de la page Obtenir l’URL de prédiction.

Connecter le projet Unity à l’application CLU

  1. Dans la fenêtre contextuelle Obtenir l’URL de prédiction , sélectionnez l’icône Copier pour copier l’URL de prédiction.

    Capture d’écran de la fenêtre contextuelle pour obtenir l’URL de prédiction.

  2. De retour dans votre projet Unity, dans la fenêtre Hierarchy, sélectionnez l’objet Lunarcom , puis, dans la fenêtre Inspector, localisez le composant Lunarcom Intent Recognizer (Script) et configurez-le comme suit.

    • Dans le champ Point de terminaison CLU , transmettez l’URL de prédiction que vous avez copiée à l’étape précédente.
    • Dans le champ Nom du projet CLU , transmettez le nom du projet que vous avez noté lors de la création d’une application CLU.
    • Dans le champ Déploiement CLU , transmettez le nom de déploiement que vous avez noté lors de la création d’un déploiement.
    • Dans le champ Clé API Language Service , passez la clé API (Key1 ou Key2) pour votre service de langage. Vous pouvez le trouver dans le portail Azure en sélectionnant votre service linguistique, puis en sélectionnant Clés et point de terminaison dans le menu de gauche.

    Capture d’écran de la transmission de l’exemple de requête que vous avez copiée.

Tester la reconnaissance de l’intention

  1. Pour utiliser la reconnaissance d’intention directement dans l’éditeur Unity, vous devez autoriser votre ordinateur de développement à utiliser la dictée. Pour vérifier ce paramètre, ouvrez Paramètres Windows, puis choisissez Privacy>Speech et vérifiez que la reconnaissance vocale en ligne est activée.

    Capture d’écran du test de la reconnaissance de l’intention.

  2. Si vous entrez en mode Jeu, vous pouvez tester la reconnaissance de l’intention en appuyant d’abord sur le bouton de fusée. Ensuite, lorsque vous dites le premier exemple d’énoncé, allez de l’avant et lancez la fusée, vous verrez le lancement de LunarModule dans l’espace.

    Capture d'écran pour entrer dans le mode de jeu.

  3. Essayez tous les exemples d’énoncés, puis certaines variantes des exemples d’énoncés, puis quelques énoncés aléatoires.