Qu’est-ce que le service Language Understanding (LUIS) ?What is Language Understanding (LUIS)?

Language Understanding (LUIS) est un service API cloud qui applique une intelligence Machine Learning personnalisée au texte en langage naturel des conversations d’un utilisateur afin d’en prédire le sens général et d’en extraire des informations détaillées pertinentes.Language Understanding (LUIS) is a cloud-based API service that applies custom machine-learning intelligence to a user's conversational, natural language text to predict overall meaning, and pull out relevant, detailed information.

Une application cliente pour LUIS est une application de conversation qui communique avec un utilisateur en langage naturel pour accomplir une tâche.A client application for LUIS is any conversational application that communicates with a user in natural language to complete a task. Les applications clientes comprennent notamment les applications de réseaux sociaux, les bots conversationnels et les applications de bureau à reconnaissance vocale.Examples of client applications include social media apps, chat bots, and speech-enabled desktop applications.

Image conceptuelle de 3 applications clientes fonctionnant avec le service Cognitive Services Language Understanding (LUIS)Conceptual image of 3 client applications working with Cognitive Services Language Understanding (LUIS)

Utiliser LUIS dans un bot conversationnelUse LUIS in a chat bot

Une fois l’application LUIS publiée, une application cliente envoie des énoncés (textes) à l’API du point de terminaison de traitement du langage naturel LUIS et reçoit les résultats sous forme de réponses JSON.Once the LUIS app is published, a client application sends utterances (text) to the LUIS natural language processing endpoint API and receives the results as JSON responses. Un bot conversationnel est un exemple d’application cliente courante pour LUIS.A common client application for LUIS is a chat bot.

Imagerie conceptuelle du fonctionnement de LUIS avec un bot conversationnel pour prédire le texte d’un utilisateur grâce à la compréhension du langage naturel (NLP)Conceptual imagery of LUIS working with Chat bot to predict user text with natural language understanding (NLP)

ÉtapeStep ActionAction
11 L’application cliente envoie l’énoncé de l’utilisateur (texte dans ses propres mots), « I want to call my HR rep » (Je souhaite contacter mon représentant des ressources humaines),The client application sends the user utterance (text in their own words), "I want to call my HR rep." au point de terminaison LUIS sous la forme d’une requête HTTP.to the LUIS endpoint as an HTTP request.
22 LUIS applique le modèle formé au texte en langage naturel pour assurer une compréhension intelligente de l’entrée utilisateur.LUIS applies the learned model to the natural language text to provide intelligent understanding about the user input. LUIS renvoie une réponse au format JSON avec l’intention principale « HRContact ».LUIS returns a JSON-formatted response, with a top intent, "HRContact". La réponse minimale du point de terminaison JSON contient l’énoncé de la requête, ainsi que l’intention présentant le score le plus élevé.The minimum JSON endpoint response contains the query utterance, and the top scoring intent. Elle peut également extraire des données telles que l’entité de type de contact.It can also extract data such as the Contact Type entity.
33 L’application cliente utilise la réponse JSON pour prendre des décisions concernant la manière dont les requêtes de l’utilisateur doivent être traitées.The client application uses the JSON response to make decisions about how to fulfill the user's requests. Ces décisions peuvent inclure un arbre de décision dans le code de l’infrastructure de bots, ainsi que des appels d’autres services.These decisions can include some decision tree in the bot framework code and calls to other services.

L’application LUIS offre l’intelligence nécessaire pour permettre à l’application cliente d’effectuer des choix pertinents.The LUIS app provides intelligence so the client application can make smart choices. LUIS ne fournit pas ces choix.LUIS doesn't provide those choices.

Traitement en langage naturelNatural language processing

Une application LUIS contient un modèle de langage naturel propre à un domaine.A LUIS app contains a domain-specific natural language model. Vous pouvez démarrer l’application LUIS avec un modèle de domaine prédéfini, créer votre propre modèle ou fusionner les éléments d’un domaine prédéfini avec vos propres informations personnalisées.You can start the LUIS app with a prebuilt domain model, build your own model, or blend pieces of a prebuilt domain with your own custom information.

  • Modèle prédéfini LUIS dispose de nombreux modèles de domaine prédéfinis, incluant des intentions, des énoncés et des entités prédéfinies.Prebuilt model LUIS has many prebuilt domain models including intents, utterances, and prebuilt entities. Vous pouvez utiliser les entités prédéfinies sans avoir à utiliser les intentions ni les énoncés du modèle prédéfini.You can use the prebuilt entities without having to use the intents and utterances of the prebuilt model. Les modèles de domaines prédéfinis intègrent l’ensemble de la conception à votre intention et constituent un excellent moyen de commencer à utiliser LUIS rapidement.Prebuilt domain models include the entire design for you and are a great way to start using LUIS quickly.

  • Entités personnalisées LUIS vous offre plusieurs moyens d’identifier vos propres intentions et entités personnalisées, y compris les entités issues du Machine Learning, les entités spécifiques ou littérales, ainsi qu’une combinaison de tous ces types d’entités.Custom Entities LUIS gives you several ways to identify your own custom intents and entities including machine-learned entities, specific or literal entities, and a combination of machine-learned and literal.

Générer le modèle LUISBuild the LUIS model

Générez le modèle avec les API de création ou à l’aide du portail LUIS.Build the model with the authoring APIs or with the LUIS portal.

Le modèle LUIS commence par les catégories d’intentions utilisateur appelées intentions.The LUIS model begins with categories of user intentions called intents. Chaque intention nécessite des exemples d’énoncés utilisateur.Each intent needs examples of user utterances. Chaque énoncé peut fournir diverses données qui doivent être extraites avec des entités.Each utterance can provide a variety of data that needs to be extracted with entities.

Exemple d’énoncé d’un utilisateurExample user utterance IntentionIntent EntitésEntities
« Réserver un billet pour Seattle ? »"Book a flight to Seattle?" RéserverVolBookFlight SeattleSeattle
« À quelle heure votre magasin ouvre-t-il ? »"When does your store open?" StoreHoursAndLocationStoreHoursAndLocation ouvriropen
« Planifier une réunion à 13h avec Bob de la distribution »"Schedule a meeting at 1pm with Bob in Distribution" ScheduleMeetingScheduleMeeting 13h, Bob1pm, Bob

Interroger le point de terminaison de prédictionQuery prediction endpoint

Une fois que le modèle a été généré et publié sur le point de terminaison, l’application cliente envoie les énoncés à l’API du point de terminaison de prédiction publiée.After the model is built and published to the endpoint, the client application sends utterances to the published prediction endpoint API. L’API applique le modèle au texte à des fins d’analyse.The API applies the model to the text for analysis. L’API répond par les résultats de prédiction au format JSON.The API responds with the prediction results in a JSON format.

La réponse minimale du point de terminaison JSON contient l’énoncé de la requête, ainsi que l’intention présentant le score le plus élevé.The minimum JSON endpoint response contains the query utterance, and the top scoring intent. Elle peut également extraire des données telles que l’entité Contact Type ci-après.It can also extract data such as the following Contact Type entity.

{
  "query": "I want to call my HR rep.",
  "topScoringIntent": {
    "intent": "HRContact",
    "score": 0.921233
  },
  "entities": [
    {
      "entity": "call",
      "type": "Contact Type",
      "startIndex": 10,
      "endIndex": 13,
      "score": 0.7615982
    }
  ]
}

Améliorer la prédiction du modèleImprove model prediction

Une fois qu’un modèle LUIS a été publié et reçoit de vrais énoncés utilisateur, LUIS offre plusieurs méthodes pour améliorer la précision de la prédiction : l’apprentissage actif des énoncés de point de terminaison, des listes d’expressions pour l’inclusion de mots du domaine, ainsi que des modèles pour réduire le nombre d’énoncés nécessaires.After a LUIS model is published and receives real user utterances, LUIS provides several methods to improve prediction accuracy: active learning of endpoint utterances, phrase lists for domain word inclusion, and patterns to reduce the number of utterances needed.

Cycle de vie de développementDevelopment lifecycle

LUIS offre différents outils, un contrôle de version et des fonctionnalités de collaboration avec d’autres auteurs LUIS à intégrer au cycle de vie de développement complet au niveau de l’application cliente et du modèle de langage.LUIS provides tools, versioning, and collaboration with other LUIS authors to integrate into the full development life cycle at the level of the client application and the language model.

Implémentation de LUISImplementing LUIS

En tant qu’API REST, LUIS est utilisable avec n’importe quel produit, service ou infrastructure exécutant une requête HTTP.LUIS, as a REST API, can be used with any product, service, or framework that makes an HTTP request. La liste ci-après répertorie les principaux produits et services Microsoft utilisés avec LUIS.The following list contains the top Microsoft products and services used with LUIS.

La principale application cliente pour LUIS est la suivante :The top client application for LUIS is:

  • Web App Bot crée rapidement un bot conversationnel sur lequel LUIS est activé pour discuter avec un utilisateur par le biais d’une entrée de texte.Web app bot quickly creates a LUIS-enabled chat bot to talk with a user via text input. Utilise Bot Framework version 3.x ou 4.x pour bénéficier d’une expérience bot optimale.Uses Bot Framework version 3.x or 4.x for a complete bot experience.

Outils simplifiant et accélérant l’utilisation de LUIS avec un bot :Tools to quickly and easily use LUIS with a bot:

  • LUIS CLI Le package NPM offre des fonctions de création et de prédiction avec un outil en ligne de commande autonome ou sous forme d’importation.LUIS CLI The NPM package provides authoring and prediction with as either a stand-alone command line tool or as import.
  • LUISGen LUISGen est un outil permettant de générer un code source C# et Typescript fortement typé à partir d’un modèle LUIS exporté.LUISGen LUISGen is a tool for generating strongly typed C# and typescript source code from an exported LUIS model.
  • Dispatch permet d’utiliser plusieurs applications LUIS et QnA Maker à partir d’une application parente à l’aide du modèle de répartiteur.Dispatch allows several LUIS and QnA Maker apps to be used from a parent app using dispatcher model.
  • LUDown LUDown est un outil en ligne de commande facilitant la gestion des modèles de langage pour votre bot.LUDown LUDown is a command line tool that helps manage language models for your bot.

Autres services Cognitive Services utilisés avec LUIS :Other Cognitive Services used with LUIS:

Exemples utilisant LUIS :Samples using LUIS:

Étapes suivantesNext steps

Créez une application LUIS avec un domaine prédéfini ou personnalisé.Author a new LUIS app with a prebuilt or custom domain. Interrogez le point de terminaison de prédiction d’une application IoT publique.Query the prediction endpoint of a public IoT app.