Créer une application LUIS décomposable
Important
LUIS sera mis hors service le 1er octobre 2025 et à partir du 1er avril 2023, vous ne pourrez plus créer de nouvelles ressources LUIS. Nous vous recommandons de migrer vos applications LUIS vers la compréhension du langage courant pour tirer parti de la prise en charge continue des produits et des fonctionnalités multilingues.
Dans ce didacticiel, vous serez en mesure de créer une application de télécommunications LUIS qui peut prédire différentes intentions de l’utilisateur. À la fin du didacticiel, nous devrions avoir une application de télécommunications capable de prédire les intentions de l’utilisateur en fonction du texte fourni par les utilisateurs.
Nous allons gérer différents scénarios utilisateur (intentions), tels que :
- Inscription à une nouvelle ligne de télécommunications
- Mise à jour d’un niveau existant
- Paiement d’une facture
Ce didacticiel vous apprendra à effectuer les opérations suivantes :
- Créer une application LUIS
- Créer des intentions
- Ajouter des entités
- Ajouter des énoncés
- Étiqueter les exemples d’énoncés
- Former une application
- Publier une application
- Obtenir des prédictions à partir du point de terminaison publié
Créer une application LUIS
Se connecter au portail LUIS
Créez une nouvelle application en sélectionnant + Nouvelle application.
Dans la fenêtre qui s’affiche, entrez le nom « Telecom Tutorial », en conservant la culture par défaut, anglais. Ne définissez pas les autres champs car ils sont facultatifs. Sélectionnez Terminé.
Intentions utilisateur en tant qu’intentions
La première chose que vous verrez dans la section Build sont les intentions de l’application. Les intentions représentent une tâche ou une action qu’un utilisateur souhaite effectuer.
Imaginez une application de télécommunications LUIS, de quoi un utilisateur a-t-il besoin ?
Il voudra probablement exécuter un certain type d’action utilisateur ou demander de l’aide. Un autre utilisateur peut souhaiter mettre à jour son niveau ou payer une facture
Le schéma résultant est le suivant. Pour plus d’informations, consultez meilleures pratiques relatives à la planification du schéma.
Intention | Objectif |
---|---|
UserActions | Déterminer les actions de l’utilisateur |
Aide | Demander de l’aide |
UpdateTier | Mettre à jour le niveau actuel |
PayBill | Payer une facture en suspens |
None | Déterminez si l’utilisateur demande une chose à laquelle l’application LUIS n’est pas conçue pour répondre. Cette intention est fournie dans le cadre de la création de l’application et elle ne peut pas être supprimée. |
Créer une intention
Une intention sert à classifier les énoncés utilisateur en fonction de l’intention de l’utilisateur, déterminée à partir du texte en langage naturel.
Pour classifier un énoncé, l’intention a besoin d’exemples d’énoncés utilisateur qui doivent être classifiés avec cette intention.
Sélectionnez Générer dans le menu de navigation supérieur, puis sélectionnez Intentions sur le côté gauche de l’écran. Sélectionner + Create (Créer) pour créer une intention. Entrez le nouveau nom d’intention, « UserAction », puis sélectionnez Terminé
UserAction peut être l’un des nombreuses intentions. Par exemple, certains utilisateurs peuvent souhaiter s’inscrire à une nouvelle ligne, tandis que d’autres peuvent demander à récupérer des informations.
Ajoutez plusieurs exemples d’énoncés à cette intention qu’un utilisateur est selon vous susceptible de demander :
- Bonjour ! Je souhaite m’inscrire pour une nouvelle ligne
- Puis-je m’inscrire pour obtenir une nouvelle ligne ?
- Bonjour, je souhaite une nouvelle ligne
- J’ai oublié mon numéro de ligne !
- Je souhaite un nouveau numéro de ligne
Pour l’intention PayBill, certains énoncés peuvent être :
- Je souhaite payer ma facture
- Régler ma facture
- Payer une facture
- Je souhaite fermer mon solde actuel
- Curieux ! Je souhaite payer la facture en cours
En fournissant des exemples d’énoncés, vous formez LUIS à déterminer les types d’énoncés à prédire pour cette intention. Il s’agit d’exemples positifs. Les énoncés de toutes les autres intentions sont traités comme des exemples négatifs pour cette intention. Dans l’idéal, plus vous ajoutez d’exemples d’énoncés, plus les prédictions de votre application sont performantes.
Ces quelques énoncés sont fournis à titre d’exemple uniquement. Une application réelle doit disposer d’au moins 15 à 30 énoncés avec des caractéristiques différentes (longueur, ordre des mots, conjugaison, exactitude grammaticale, ponctuation et nombre de mots).
Création des intentions restantes
Effectuez les étapes ci-dessus pour ajouter les intentions suivantes à l’application :
« Help »
- « J’ai besoin d’aide »
- « J’ai besoin d’assistance »
- « De l’aide s’il vous plaît »
- « Quelqu’un peut-il m’assister ? »
- « Je suis coincé, pouvez-vous m’aider »
- « Puis-je obtenir de l’aide ? »
« UpdateTier »
- « Je souhaite mettre à jour mon niveau »
- « Mettre à jour mon niveau »
- « Je veux passer au niveau VIP »
- « Changer mon abonnement au niveau standard »
Exemples d’énoncés pour l’intention None
L’application cliente doit savoir si un énoncé est inutile ou inapproprié pour l’application. L’intention « None » est ajoutée à chaque application dans le cadre du processus de création pour déterminer si un énoncé ne doit pas être traité par l’application cliente.
Si LUIS retourne l’intention « None » pour un énoncé, votre application cliente peut demander si l’utilisateur souhaite mettre fin à la conversation ou donner d’autres instructions pour poursuivre la conversation.
Si vous ne complétez pas l’intention « None », un énoncé qui devrait être prédit en dehors du domaine du sujet le sera dans l’une des intentions de domaine du sujet existant. En conséquence, l’application cliente, par exemple un bot conversationnel, effectue des opérations incorrectes en s’appuyant sur une prédiction incorrecte.
Dans le panneau gauche, sélectionnez Intents (Intentions).
Sélectionnez l’intention None. Ajoutez trois énoncés que votre utilisateur est susceptible d’entrer, mais qui ne sont pas pertinents pour votre application de télécommunications. Ces exemples ne doivent pas utiliser des mots auxquels vous vous attendez dans le domaine couvert, par exemple Niveau, mise à jour, connexion, facturation.
- « Quand est mon vol ? »
- « Je dois modifier ma commande de pizza »
- « Quel est le temps prévu pour aujourd’hui ? »
Ajouter des entités
Une entité est un élément relatif à l’intention de l’utilisateur. Les entités définissent des données qui peuvent être extraites de l’énoncé et qui sont essentielles pour effectuer l’action demandée par l’utilisateur.
Dans la section Build, sélectionnez Entités.
Pour ajouter une nouvelle entité, sélectionnez + Créer
Dans cet exemple, nous allons créer deux entités, « UpdateTierInfo » comme type d’entité Issue de l’apprentissage automatique, et « Tier » comme type d’entité de liste. Luis vous permet également de créer différents types d’entités.
Dans la fenêtre qui s’affiche, entrez «UpdateTierInfo», puis sélectionnez Issue de l’apprentissage automatique dans les types disponibles. Activez la case à cocher Ajouter une structure pour pouvoir ajouter une structure à cette entité.
Sélectionnez Suivant.
Pour ajouter une sous-entité enfant, sélectionnez le symbole « + » et commencez à ajouter l’enfant. Pour notre exemple d’entité, « UpdateTierInfo », nous avons besoin de trois choses :
- OriginalTier
- NewTier
- PhoneNumber
Sélectionnez Créer après avoir ajouté toutes les sous-entités.
Nous allons créer une autre entité nommée « Tier », mais cette fois-ci, il s’agit d’une entité de liste, qui inclut tous les niveaux que nous pouvons fournir : niveau Standard, niveau Premium et niveau VIP.
Pour ce faire, accédez à l’onglet entités, puis appuyez sur +créer et sélectionnez une liste parmi les types dans l’écran qui s’affiche.
Ajoutez les éléments à votre liste et, si vous le souhaitez, vous pouvez ajouter des synonymes pour vous assurer que tous les cas de cette mention seront compris.
Revenez maintenant à l’entité « UpdateTierInfo » et ajoutez l’entité « Tier » en tant que fonctionnalité pour les entités « OriginalTier » et « newTier » que nous avons créées précédemment. Il doit se présenter comme suit :
Nous avons ajouté le niveau en tant que fonctionnalité pour « originalTier » et « newTier », et nous avons ajouté l’entité « PhoneNumber », qui est un type Regex. Il peut être créé de la même façon que nous avons créé une ML et une entité de liste.
Nous avons maintenant créé des intentions, ajouté des exemples d’énoncés, et ajouté des entités. Nous avons créé quatre intentions (autres que l’intention « none ») et trois entités.
Étiqueter les exemples d’énoncés
L’entité issue du machine learning est créée et les sous-entités ont des caractéristiques. Pour terminer l’amélioration de l’extraction, vous devez étiqueter les exemples d’énoncés avec les sous-entités.
Il existe deux façons d’étiqueter des énoncés :
Utiliser l’outil d’étiquetage
- Ouvrez la Palette d’entités, puis sélectionnez le symbole « @ » dans la barre d’outils contextuelle.
- Sélectionnez chaque ligne d’entité dans la palette, puis utilisez le curseur de la palette pour sélectionner l’entité dans chaque exemple d’énoncé.
Mettez en surbrillance le texte en faisant glisser le curseur. À l’aide du curseur, mettez en surbrillance le texte que vous souhaitez étiqueter. Dans l’image suivante, nous avons mis en surbrillance « vip - tier » et sélectioné l’entité « NewTier ».
Effectuer l’apprentissage de l’application
En haut à droite du site web LUIS, sélectionnez le bouton Effectuer l’apprentissage.
Avant la formation, assurez-vous qu’il existe au moins un énoncé pour chaque intention.
Publier l’application
Pour recevoir une prédiction LUIS dans un chatbot ou une autre application cliente, vous devez publier l’application sur le point de terminaison de prédiction. Pour publier, vous devez d’abord former votre application.
Dans le volet de navigation supérieur droit, sélectionnez Publier.
Sélectionnez l’emplacement Production, puis sélectionnez Terminé.
Sélectionnez Accéder à vos URL de point de terminaison dans la notification pour accéder à la page Ressources Azure. Vous ne pouvez voir les URL que si vous disposez d’une ressource de prédiction associée à l’application. Vous pouvez également rechercher la page Ressources Azure en cliquant sur Gérer à gauche de l’écran.
Obtenir une prédiction d’intention
Sélectionnez Gérer dans le menu en haut à droite, puis sélectionnez Ressources Azure sur la gauche.
Copiez l’URL de la Requête d’exemple et collez-la dans un nouvel onglet de navigateur Web.
Le format de l’URL de point de terminaison est le suivant.
https://YOUR-CUSTOM-SUBDOMAIN.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/YOUR-APP-ID/slots/production/predict?subscription-key=YOUR-KEY-ID&verbose=true&show-all-intents=true&log=true&query=YOUR\_QUERY\_HERE
Accédez à la fin de l’URL dans la barre d’adresses et remplacez le paramètre de chaîne
query=
par :« Bonjour Je cherche un nouveau numéro. »
La requête d’énoncé est passée dans l’URI. Cet énoncé n’est pas le même que l’un des exemples d’énoncés, et doit être un bon test pour vérifier si LUIS prédit l’intention UserAction comme l’intention du score le plus élevé.
{ "query": "hello! i am looking for a new number please", "prediction": { "topIntent": "UserAction", "intents": { "UserAction": { "score": 0.8607431}, "Help":{ "score": 0.031376917}, "PayBill": { "score": 0.01989629}, "None": { "score": 0.013738701}, "UpdateTier": { "score": 0.012313577} }, "entities": {} } }
Le résultat JSON identifie l’intention avec le score le plus élevé en tant que propriété prediction.topIntent. Tous les scores sont compris entre 1 et 0, le meilleur score étant celui qui est le plus proche de 1.
Étapes suivantes de l’application cliente
Dans ce didacticiel, vous avez créé une application LUIS, des intentions et des entités, ajouté des exemples d’énoncés pour chaque intention, ajouté des exemples d’énoncés à l’intention None, puis effectué un apprentissage, publié et testé au niveau du point de terminaison. Ce sont les étapes de base de la génération d’un modèle LUIS.
LUIS ne fournit pas de réponses aux énoncés de l’utilisateur ; il identifie uniquement le type d’informations demandé dans un langage naturel. Le suivi de la conversation est fourni par l’application cliente telle qu’un bot Azure.
Nettoyer les ressources
Lorsque vous n’en avez plus besoin, supprimez l’application LUIS. Pour ce faire, sélectionnez Mes applications dans le menu en haut à gauche. Sélectionnez les points de suspension (... ) à droite du nom de l’application dans la liste des applications, puis Supprimer. Dans la boîte de dialogue contextuelle nommée Supprimer l’application ?, sélectionnez OK.