Recherche…


Introduction

Bot Framework prend en charge les Recognizers . Un identifiant est utilisé pour reconnaître ce qu’il faut faire chaque fois qu’un utilisateur envoie un message au bot. Par conséquent, vous pouvez concevoir votre bot pour qu'il reconnaisse les intentions en fonction de l'entrée de l'utilisateur. Le dispositif de reconnaissance peut être utilisé avec l’API LUIS afin d’ajouter une compréhension du langage naturel au bot.

Syntaxe

  • var reconnaisseur = new builder.LUISRecognizer ('URL de votre modèle');

  • var intents = new builder.IntentDialog ({reconnaissants: [identifiant]});

Initialisation et ajout de LUISRecognizer

Une fois que vous avez un nouveau projet avec le modèle de base fourni dans l'introduction, vous devriez pouvoir ajouter un LUISRecognizer comme ça -

var model = ''    // Your LUIS Endpoint link comes here
var recognizer = new builder.LuisRecognizer(model);

Désormais, la recognizer est un LUISRecognizer et peut transmettre des intentions basées sur votre modèle LUIS défini. Vous pouvez ajouter le recognizer de recognizer à vos intentions en

var intents = new builder.IntentDialog({recognizers: [recognizer]});

Votre bot est maintenant capable de gérer les intentions de LUIS. Tout objet nommé sur LUIS peut être détecté à l'aide de la propriété matches de la classe IntentDialog . Ainsi, une intention nommée hi est définie dans le modèle LUIS, pour reconnaître l’intention du bot,

intents.matches('hi', function(session) {
    session.send("Hey :-)");
});

Définir un modèle LUIS avec des intentions

Créer un modèle LUIS nécessite peu ou pas d’expérience de programmation. Cependant, vous devez connaître 2 termes importants qui seront largement utilisés.

  1. Intents - Voici comment vous identifiez les fonctions qui doivent être exécutées lorsque l'utilisateur tape quelque chose. Par exemple, une intention nommée Hi identifiera une fonction qui doit être exécutée chaque fois que l'utilisateur envoie "Hi". Les intentions sont nommées de manière unique dans votre programme / modèle.
  2. Entités - Celles-ci identifient les noms dans une déclaration. Par exemple - "Définir une alarme pour 13h00", ici 1:00 pm est une entité qui doit être reconnue par le chat-bot pour définir une alarme.

Note: Les images du site Web ne sont pas fournies en tant que front-end mon changement, mais le concept de base reste le même.

Pour créer un nouveau modèle, accédez à LUIS.ai et connectez-vous à votre compte Microsoft pour accéder à la page de création de l'application. Où un projet vide peut être créé.

Définir les intentions:

Les intentions peuvent être définies dans l'onglet Intents . Ils identifient la fonction que vous devez exécuter lorsque l'utilisateur entre quelque chose.

Toutes les applications ont un défaut None intention, qui est activé chaque fois que l'entrée utilisateur correspond à aucune autre intention.

Pour définir une intention,

  1. Donnez-lui un nom unique correspondant à la fonction que vous souhaitez effectuer.
  2. Une fois la dénomination terminée, vous devez ajouter des utterances à l'intention. Les énoncés sont ce que vous souhaitez que l'utilisateur envoie afin d'activer l'intention que vous définissez. Essayez d’alimenter autant de utterances différentes que possible pour que LUIS associe correctement les intents et les utterances .
  3. Entraînez votre modèle LUIS, en cliquant sur le Train bouton sur Train and Test Tab. Après la formation, l'application peut être testée dans le panneau ci-dessous.
  4. Enfin, publiez votre application dans l'onglet Publish App . Vous devriez maintenant obtenir une URL de point de terminaison qui doit être placée lors de la définition de LUISRecognizer dans votre code bot.

Ajout d'entités au modèle LUIS

Une entité est l'information que votre bot extrait d'un énoncé particulier conforme à une intention.

Par exemple, Laisser My name is John Doe appartiennent à une intention appelée introduction . Pour que votre bot comprenne et extrait le nom John Doe de la phrase, vous devez définir une entité qui le fait. Vous pouvez nommer l'entité comme vous le souhaitez, mais il est préférable de la nommer comme quelque chose appartenant à ce qu'elle extrait. Dans notre exemple, nous pouvons appeler notre name entité.

Les entités peuvent être réutilisées entre différentes intentions pour extraire différentes choses. Le meilleur principe serait donc de faire en sorte qu'une entité qui extrait uniquement le type de données l’utilise dans différentes intentions. Par conséquent, dans notre exemple ci-dessus, disons que Book a flight on Emirates appartient à la booking intentionnelle, la même entité, name , peut être utilisée pour extraire les noms de vol des emirates .

Avant de définir des entités, vous devez garder à l’esprit deux choses:

  1. Les entités doivent être uniques par énoncé dans une intention. Une entité ne peut pas être utilisée deux fois dans le même énoncé.
  2. LUIS est insensible à la casse. Cela implique que tout ce qui est extrait et reçu par extraction d'entité sera en minuscule. Donc, extraire des données sensibles à la casse via des entités est probablement une mauvaise idée.

Ajout d'entités pré-construites

Les entités pré-construites sont, comme leur nom l'indique, pré-construites, c'est-à-dire qu'elles sont déjà configurées pour extraire un type particulier de données dans l'intention à laquelle elles sont ajoutées. Un exemple peut être le number entité qui extrait des nombres de l'intention à laquelle il est affecté. Les nombres peuvent être soit numériques, soit alphabétiques comme 10 ou ten .

Pour une liste complète de toutes les entités pré-construites, vous pouvez visiter [Liste des entités prédéfinies] [1].

Pour ajouter des entités pré-construites,

  1. Accédez à l'onglet entities .
  2. Cliquez sur Add pre-built entities et sélectionnez l'entité que vous souhaitez ajouter au modèle et cliquez sur Enregistrer.

Ajout d'entités personnalisées Les entités personnalisées sont de 4 types,

  1. Simple : Une entité simple extrait une donnée particulière, name dans les exemples ci-dessus est une entité simple.
  2. Hiérarchique : Entité parent avec des entités enfants (sous-types) dépendant du parent.
  3. Composite : Un groupe de 2 entités ou plus indépendantes les unes des autres.
  4. Liste : entité qui reconnaît les mots uniquement à partir d'une liste donnée.

Définition d'entités simples

  1. Allez dans l'onglet entities .
  2. Cliquez sur Add Custom Entities
  3. Nommez votre entité, vérifiez le type d’entité requis et cliquez sur Save .

Tous les autres types d'entités peuvent être ajoutés de la même manière en remplaçant simplement le Entity Type par l'un des types ci-dessus. Dans les types d'entité hiérarchique et composite, vous devez également indiquer les noms des enfants avec le nom de l'entité parent. Définir des entités de liste est un peu différent du reste.

Définition des entités de liste

Après avoir suivi les étapes ci-dessus pour créer une List Entity en mettant le Entity Type en liste, vous serez dirigé vers la page de détails de l'entité que vous venez de définir.

  1. Définir une valeur canonique. C'est une valeur standard que le bot recevra lorsque l'utilisateur saisit l'un des synonymes.
  2. Définir des synonymes à la valeur canonique. Ils seront convertis à la valeur canonique lorsqu'ils seront rencontrés par l'entité.

Vous pouvez également importer des listes entières à l'aide d'un tableau d'objets JSON, au format:

[
    {
        "canonicalForm": "Hey",
        "list": [
            "Howdy",
            "Hi"
         ]
    },
    .
    .
    .
]

Associer une entité à une intention

Pre-built entités Pre-built et les entités de list ont déjà défini un ensemble de valeurs pouvant être extraites de tous les énoncés. Cependant, les énoncés Simple , Hierarchical et Composite doivent être formés pour saisir les valeurs.

Cela peut être fait par

  1. Accédez à l'onglet intents et choisissez l'intention à laquelle vous souhaitez ajouter l'entité.
  2. Ajoutez un énoncé avec une valeur fictive que vous souhaitez extraire. Dis, tu peux ajouter My name is John Doe comme énoncé.
  3. Cliquez et faites glisser la souris sur les mots que vous souhaitez extraire. Vous devrez mettre en évidence john doe dans l'exemple ci-dessus.
  4. Un menu déroulant s'ouvrira avec une liste de toutes les entités disponibles dans votre projet. Sélectionnez le correspondant comme bon vous semble. Name sera l'entité sélectionnée dans l'exemple ci-dessus.
  5. Ajoutez plus d'énoncés avec des valeurs factices différentes à chaque fois et toutes les structures possibles auxquelles vous pouvez penser.
  6. Former et publier votre modèle LUIS.


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow