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

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

Une application cliente pour LUIS peut être une application de conversation qui communique avec un utilisateur dans un langage naturel pour effectuer une tâche.A client application for LUIS can be any conversational application that communicates with a user in natural language to complete a task. Les exemples d’applications client incluent des applications de réseaux sociaux, des chatbots, et des applications vocales de bureau.Examples of client applications include social media apps, chatbots, and speech-enabled desktop applications.

Image conceptuelle de 3 applications envoyant des informations à LUIS

Qu’est-ce que l’application LUIS ?What is a LUIS app?

Une application LUIS contient un modèle de langage naturel spécifique à un domaine, que vous concevez.A LUIS app contains a domain-specific natural language model you design. Vous pouvez démarrer votre 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 your LUIS app with a prebuilt domain model, build your own, or blend pieces of a prebuilt domain with your own custom information.

Les modèles de domaine prédéfinis incluent tous ces éléments et constituent un excellent moyen pour commencer à utiliser LUIS rapidement.Prebuilt domain models include all these pieces for you and are a great way to start using LUIS quickly.

L’application LUIS contient également des paramètres d’intégration, des collaborateurs, et des versions.The LUIS app also contains integration settings, collaborators, and versions.

Utiliser une application LUISUsing a LUIS app

Une fois votre application LUIS publiée, votre application cliente envoie des énoncés à l’API de point de terminaison LUIS et reçoit les résultats de prédiction en tant que réponses JSON.Once your LUIS app is published, your client application sends utterances to the LUIS endpoint API and receives the prediction results as JSON responses.

Dans le diagramme suivant, votre chatbot client envoie d’abord un texte sur ce qu’une personne souhaite avec ses propres mots à LUIS dans une requête HTTP.In the following diagram, first your client chatbot sends user text of what a person wants in their own words to LUIS in an HTTP request. Ensuite, LUIS applique votre modèle formé au langage naturel pour comprendre l’entrée utilisateur et retourne une réponse au format JSON (JavaScript Object Notation).Second, LUIS applies your learned model to the natural language to make sense of the user input and returns a JavaScript Object Notation (JSON) format response. Troisièmement, votre chatbot client utilise la réponse JSON pour répondre aux demandes de l’utilisateur.Third, your client chatbot uses the JSON response to fulfill the user's requests.

Images conceptuelles de LUIS fonctionnant avec Chatbot

Exemple de réponse de point de terminaison JSONExample of JSON endpoint response

La réponse de point de terminaison JSON contient au moins l’énoncé de requête et l’intention à notation supérieure.The JSON endpoint response, at a minimum contains the query utterance, and the top scoring intent.

{
  "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
    }
  ]
}

Qu’est-ce qu’un modèle de langage naturel ?What is a natural language model?

Un modèle commence par une liste d’intentions générales d’utilisateur, appelées intentions, telles que « Réserver un vol » ou « Contacter le support technique ».A model begins with a list of general user intentions, called intents, such as "Book Flight" or "Contact Help Desk." Vous fournissez des exemples de texte utilisateur, appelés exemples d’énoncés pour les intentions.You provide user's example text, called example utterances for the intents. Puis marquez les expressions ou mots importants dans l’énoncé, appelés entités.Then mark significant words or phrases in the utterance, called entities.

Un modèle inclut :A model includes:

  • intensions : catégories d’intentions utilisateur (action ou résultat prévu)intents: categories of user intentions (intended action or result)
  • entités : types de données spécifiques dans les énoncés, tels que le nombre, l’e-mail, ou le nomentities: specific types of data in utterances such as number, email, or name
  • exemples d’énoncés : exemples de texte qu’un utilisateur peut entrer dans l’application clienteexample utterances: example text a user enters in the client application

IntentionsIntents

Une intentionest un but ou un objectif exprimé dans l’énoncé d’un utilisateur, tel que réserver un vol, régler une facture ou rechercher un article de presse.An intent, short for intention, is a purpose or goal expressed in a user's utterance, such as booking a flight, paying a bill, or finding a news article. Vous créez une intention pour chaque action.You create an intent for each action. Une application de voyage LUIS peut définir une intention nommée « BookFlight ».A LUIS travel app may define an intent named "BookFlight." Votre application cliente peut utiliser l’intention à notation supérieure pour déclencher une action.Your client application can use the top scoring intent to trigger an action. Par exemple, lorsque l’intention « BookFlight » est retournée par LUIS, votre application cliente peut déclencher un appel d’API vers un service externe pour réserver un billet d’avion.For example, when "BookFlight" intent is returned from LUIS, your client application could trigger an API call to an external service for booking a plane ticket.

EntitésEntities

Une entité représente des informations détaillées qui figurent dans l’énoncé correspondant à la requête de l’utilisateur.An entity represents detailed information found within the utterance that is relevant to the user's request. Par exemple, dans l’énoncé « Réserver un billet pour Paris », un seul billet est demandé, et « Paris » est un lieu.For example, in the utterance "Book a ticket to Paris", a single ticket is requested, and "Paris" is a location. Deux entités sont détectées : « un billet », qui indique qu’un seul billet est demandé, et « Paris », qui indique la destination.Two entities are found "a ticket" indicating a single ticket and "Paris" indicating the destination.

Une fois que LUIS a retourné les entités trouvées dans l’énoncé de l’utilisateur, l’application cliente peut utiliser la liste des entités en tant que paramètres pour déclencher une action.After LUIS returns the entities found in the user’s utterance, the client application can use the list of entities as parameters to trigger an action. Par exemple, la réservation d’un vol nécessite des entités telles que la destination du voyage, les dates et la compagnie aérienne.For example, booking a flight requires entities like the travel destination, date, and airline.

LUIS propose plusieurs moyens d’identifier et de classer les entités.LUIS provides several ways to identify and categorize entities.

  • Entités prédéfinies LUIS possède de nombreux modèles de domaine prédéfinis, y compris les intentions, les énoncés, et les entités prédéfinies.Prebuilt Entities 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 entités prédéfinies vous font gagner du temps.The prebuilt entities save you time.

  • Entités personnalisées LUIS propose plusieurs moyens d’identifier vos propres entités personnalisées, y compris les entités issues de l’apprentissage automatique, les entités spécifiques ou littérales, et une combinaison d’entités littérales et issues de l’apprentissage automatique.Custom Entities LUIS gives you several ways to identify your own custom entities including machine-learned entities, specific or literal entities, and a combination of machine-learned and literal.

Exemples d’énoncésExample utterances

Un exemple d’énoncé est une entrée de texte de l’utilisateur que l’application cliente doit comprendre.An example utterance is text input from the user that the client application needs to understand. Il peut s’agir d’une phrase, telle que « Réserver un billet pour Paris », ou d’un fragment de phrase, comme « Réservation » ou « Vol pour Paris ».It may be a sentence, like "Book a ticket to Paris", or a fragment of a sentence, like "Booking" or "Paris flight." Les énoncés ne sont pas toujours bien formés, et il peut y avoir de nombreuses variations d’énoncé pour une intention particulière.Utterances aren't always well-formed, and there can be many utterance variations for a particular intent. Ajoutez 10 à 20 exemples d’énoncés pour chaque intention et marquez les entités dans chaque énoncé.Add 10 to 20 example utterances to each intent and mark entities in every utterance.

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

Améliorer la précision de la prédictionImprove prediction accuracy

Une fois que votre application LUIS est publiée et reçoit de vrais énoncés d’utilisateur, LUIS propose 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’expression pour l’inclusion de domaines de mots, et des modèles pour réduire le nombre d’énoncés nécessaires.After your LUIS app 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.

Apprentissage actifActive learning

Dans le processus d’apprentissage actif, LUIS vous permet d’adapter votre application aux énoncés réels en sélectionnant les énoncés reçus au point de terminaison pour votre révision.In the active learning process, LUIS allows you to adapt your LUIS app to real-world utterances by selecting utterances it received at the endpoint for your review. Vous pouvez accepter ou corriger la prédiction du point de terminaison, affiner et republier.You can accept or correct the endpoint prediction, retrain, and republish. LUIS apprend plus rapidement grâce à ce processus itératif et nécessite moins de temps et d’efforts.LUIS learns quickly with this iterative process, taking the minimum amount of your time and effort.

Listes d’expressionsPhrase lists

LUIS fournit des listes d’expression pour que vous puissiez indiquer les expressions ou mots importants à votre modèle de domaine.LUIS provides phrases lists so you can indicate important words or phrases to your model domain. LUIS utilise ces listes pour renforcer l’importance de ces mots et expressions qui normalement ne se trouvent pas dans le modèle.LUIS uses these lists to add additional significance to those words and phrases that would otherwise not be found in the model.

ModèlesPatterns

Ces modèles vous permettent de simplifier la collection d’énoncés d’intention en modèles courants de choix des mots et d’ordre des mots.Patterns allow you to simplify an intent's utterance collection into common templates of word choice and word order. Cela permet à LUIS d’apprendre plus rapidement, car il nécessite moins d’exemples d’énoncés pour les intentions.This allows LUIS to learn quicker by needing fewer example utterances for the intents. Les modèles sont un système hybride d’expressions régulières et d’expressions issues de l’apprentissage automatique.Patterns are a hybrid system of regular expressions and machine-learned expressions.

Création et accès à LUISAuthoring and accessing LUIS

Générez votre application LUIS depuis le site web LUIS ou par programmation avec les API de création, ou en utilisant les deux manières en fonction des besoins de création.Build your LUIS app from the LUIS website or programmatically with the authoring APIs, or use both depending on the authoring need. Accédez à votre application LUIS publiée par le point de terminaison de la requête.Access your published LUIS app by the query endpoint.

LUIS possède trois sites web dans le monde entier, selon votre région de création.LUIS provides three websites around the world, depending on your authoring region. La région de création détermine la région Azure dans laquelle vous pouvez publier votre application LUIS.The authoring region determines the Azure region where you can publish your LUIS app.

En savoir plus sur la création et la publication de régions.Learn more about authoring and publishing regions.

Quelles technologies fonctionnent avec LUIS ?What technologies work with LUIS?

Plusieurs technologies Microsoft fonctionnent avec LUIS :Several Microsoft technologies work with LUIS:

  • L’API Vérification orthographique Bing propose la correction de texte avant la prédiction.Bing Spell Check API provides text correction before prediction.
  • Bot Framework permet à un chatbot de discuter avec un utilisateur par le biais d’une entrée de texte.Bot Framework allows a chatbot to talk with a user via text input. Sélectionnez un kit de développement logiciel (SDK) 3.x ou 4.x pour une expérience bot optimale.Select 3.x or 4.x SDK for a complete bot experience.
  • QnA Makerpermet à différents types de textes de se combiner en une question et de répondre à la base de connaissances.QnA Maker allows several types of text to combine into a question and answer knowledge base.
  • Speech convertit les requêtes de langue parlée en texte.Speech converts spoken language requests into text. Une fois converties en texte, les requêtes sont traitées par LUIS.Once converted to text, LUIS processes the requests. Consultez le Kit de développement logiciel (SDK) de reconnaissance vocale pour plus d’informations.See Speech SDK for more information.
  • L’Analyse de texte fournit une analyse des sentiments et l’extraction de données de phrases clés.Text Analytics provides sentiment analysis and key phrase data extraction.

Étapes suivantesNext steps

Créez une application LUIS avec un domaine prédéfini ou personnalisé.Create a new LUIS app with a prebuilt or custom domain.