Types d’entités

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.

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. Par exemple :

Énoncé Intention prédite Entités extraites Explication
Bonjour, comment ça va ? Greeting - Rien à extraire.
Je veux commander une petite pizza CommanderPizza « petite » L’entité « taille » est extraite avec la valeur « petite ».
Éteindre la lumière de la chambre Éteindre « chambre » L’entité « pièce » est extraite avec la valeur « chambre ».
Consulter le solde dans mon compte d’épargne se terminant par 4406 ConsulterSolde « épargne », « 4406 » L’entité « accountType » est extraite avec la valeur « économies » et l’entité « accountNumber » est extraite avec la valeur « 4406 ».
Acheter 3 tickets pour New York AcheterBillets « 3 », « New York » L’entité « ticketsCount » est extraite avec la valeur « 3 » et l’entité « Destination » est extraite avec la valeur « New York ».

Les entités sont facultatives mais recommandées. Vous n’avez pas besoin de créer des entités pour chaque concept de votre application, mais seulement dans les cas suivants :

  • Ceux où l’application cliente a besoin de données, ou
  • Ceux où l’entité sert d’indication ou de signal à une autre entité ou intention. Pour plus d’informations sur les entités en tant que fonctionnalités, consultez Entités en tant que fonctionnalités.

Types d’entités

Pour créer une entité, vous devez lui attribuer un nom et un type. Il existe plusieurs types d’entités dans LUIS.

Entité de liste

Une entité de liste représente un ensemble fixe, fermé de mots associés, ainsi que leurs synonymes. Vous pouvez utiliser des entités de liste afin de reconnaître plusieurs synonymes ou variations, et extraire une sortie normalisée pour ceux-ci. Utilisez la fonctionnalité recommend pour voir des suggestions de nouveaux mots en fonction de la liste actuelle.

Une entité de liste n’est pas issue du Machine Learning, ce qui signifie que LUIS ne découvre pas de valeurs supplémentaires pour les entités de liste. LUIS marque comme entité chaque correspondance avec un élément d’une liste dans la réponse.

Dans les entités de liste, les correspondances sont sensibles à la casse et doivent donc être exactes. Les valeurs normalisées sont également utilisées lorsque vous établissez une correspondance avec une entité de liste. Par exemple :

Valeur normalisée Synonymes
Petite sm, sml, tiny, smallest
Moyenne md, mdm, regular, average, middle
grand lg, lrg, big

Pour plus d’informations, consultez l’article de référence sur les entités de liste.

Entité regex

Une entité d’expression régulière extrait une entité en fonction du modèle d’expression régulière que vous fournissez. Elle ignore la casse et la variante culturelle. Les entités d’expression régulière sont idéales pour du texte structuré ou pour une séquence prédéfinie de valeurs alphanumériques qui sont attendues dans un certain format. Par exemple :

Entité Expression régulière Exemple
Numéro de vol flight [A-Z]{2} [0-9]{4} flight AS 1234
Numéro de carte de crédit [0-9]{16} 5478789865437632

Pour plus d’informations, consultez l’article de référence sur les entités regex.

Entités prédéfinies

LUIS comprend un ensemble d’entités prédéfinies pour reconnaître des types courants d’informations telles que des dates, heures, nombres, mesures et devises. La prise en charge de l’entité prédéfinie varie selon la culture de votre application LUIS. Pour obtenir la liste complète des entités prédéfinies que LUIS prend en charge, notamment en lien avec la culture, voir la documentation de référence sur les entités prédéfinies.

Quand une entité prédéfinie est incluse dans votre application, ses prédictions sont incluses dans votre application publiée. Le comportement des entités prédéfinies est préformé et ne peut pas être modifié.

Entité prédéfinie Valeur d'exemple
PersonName James, Bill, Tom
DatetimeV2 2019-05-02, May 2nd, 8am on May 2nd 2019

Pour plus d’informations, consultez l’article de référence sur les entités prédéfinies.

Entité Pattern.Any

Une entité pattern.Any est un espace réservé de longueur variable qui est utilisé seulement dans l’énoncé d’un modèle pour marquer où l’entité commence et où elle se termine. Elle suit une règle ou modèle spécifique, et convient davantage aux phrases qui ont une structure lexicale fixe. Par exemple :

Exemple d’énoncé Modèle Entité
Puis-je avoir un hamburger ? Can I have a {meal} [please][?] hamburger
Puis-je avoir une pizza ? Can I have a {meal} [please][?] pizza
Où puis-je trouver Gatsby le Magnifique ? Where can I find {bookName}? Gatsby le Magnifique

Pour plus d’informations, consultez l’article de référence sur les entités pattern.Any.

Entité issue du machine learning (ML)

L’entité issue du machine learning utilise le contexte pour extraire des entités en fonction des exemples étiquetés. Il s’agit de l’entité recommandée pour la création d’applications LUIS. Elle s’appuie sur des algorithmes de Machine Learning et nécessite que l’étiquetage soit adapté à votre application. Utilisez une entité ML pour identifier les données qui ne sont pas toujours correctement formatées, mais qui ont la même signification.

Exemple d’énoncé Entité produit extraite
Je veux acheter un livre. « livre »
Est-ce que je peux avoir ces chaussures ? « chaussures »
Ajouter ce short à mon panier. « short »

Pour plus d’informations, consultez Entités issues du Machine Learning.

Entité ML avec structure

Une entité ML peut être composée de sous-entités plus petites, chacune pouvant avoir ses propres propriétés. Par exemple, une entité Adresse peut avoir la structure suivante :

  • Adresse : 4567 Main Street, NY, 98052, USA
    • Numéro du bâtiment : 4567
    • Nom de la rue : Main Street
    • État : NY
    • Code postal : 98052
    • Pays : USA

Création d’entités ML efficaces

Pour créer des entités issues du machine learning qui soient efficaces, suivez les bonnes pratiques ci-dessous :

  • Si vous disposez d’une entité issue du machine learning avec des sous-entités, vérifiez que les différentes commandes et variantes de l’entité et des sous-entités sont présentées dans les énoncés étiquetés. Les exemples d’énoncés étiquetés doivent inclure toutes les formes valides, ainsi que les entités qui apparaissent, sont absentes et sont réorganisées au sein de l’énoncé.
  • Évitez de surajuster les entités dans un ensemble fixe. Un surajustement se produit lorsque le modèle ne se généralise pas bien ; il s’agit d’un problème courant dans les modèles Machine Learning. Cela implique que l’application ne fonctionnera pas correctement sur les nouveaux types d’exemples. Vous devez faire varier les exemples d’énoncés étiquetés pour que l’application puisse généraliser au-delà des exemples limités que vous fournissez.
  • Votre étiquetage doit être cohérent au niveau des intentions. Cela inclut même les énoncés que vous fournissez dans l’intention Aucune, qui incluent cette entité. Dans le cas contraire, le modèle n’est pas en mesure de déterminer les séquences efficacement.

Entités en tant que fonctionnalités

Une autre chose importante à propos des entités est qu’elles peuvent être utilisées en tant que fonctionnalités ou pour distinguer les caractéristiques d’autres intentions ou entités afin que votre système puisse les observer et s’entraîner.

Entités en tant que fonctionnalités pour les intentions

Vous pouvez utiliser des entités comme un signal d’intention. Par exemple, la présence d’une certaine entité dans l’énoncé peut permettre de savoir à quelle catégorie d’intention elle appartient.

Exemple d’énoncé Entité Intentionnel
Réserve-moi un vol pour New York. City Réserver un vol
Réserve-moi la salle de conférence principale. Salle Réserver une salle

Entités en tant que fonctionnalité pour les entités

Vous pouvez également utiliser des entités comme des indicateurs de présence d’autres entités. Un exemple courant est celui de l’utilisation d’une entité prédéfinie en tant que fonctionnalité pour une autre entité ML. Si vous créez un système de réservation de vol et que votre énoncé ressemble à « Réserve-moi un vol Le Caire-Seattle », vous aurez probablement les entités ML Ville d’origine et Ville de destination. Une bonne pratique consiste à utiliser l’entité prédéfinie GeographyV2 comme caractéristique pour les deux entités.

Pour plus d’informations, consultez l’article de référence sur les entités GeographyV2.

Vous pouvez également utiliser des entités comme des fonctionnalités obligatoires pour d’autres entités. Cela permet de résoudre les entités extraites. Par exemple, si vous créez une application de commande de pizzas et que vous disposez d’une entité ML Taille, vous pouvez créer une entité de liste ListeTaille et l’utiliser comme caractéristique obligatoire pour l’entité Taille. Votre application retourne la valeur normalisée en tant qu’entité extraite de l’énoncé.

Pour plus d’informations, consultez Fonctionnalités. Pour en savoir plus sur la résolution des entités prédéfinies disponibles dans votre culture, consultez Entités prédéfinies.

Données issues des entités

Pour la plupart des applications et chatbots, le nom d’intention n’est pas suffisant. Les données supplémentaires facultatives proviennent d’entités découvertes dans l’énoncé. Chaque type d’entité retourne des informations différentes sur la correspondance.

Un seul mot ou une seule expression dans l’énoncé peut correspondre à plusieurs entités. Dans ce cas, chaque entité présentant une correspondance est retournée avec son score.

Toutes les entités sont renvoyées dans le tableau entities de la réponse provenant du point de terminaison

Bonnes pratiques pour les entités

Utiliser des entités issues du Machine Learning

Les entités acquises sur ordinateur sont adaptées à votre application et requièrent un étiquetage pour bien fonctionner. Si vous n’utilisez pas d’entités issues du Machine Learning, vous utilisez peut-être les mauvaises entités.

Les entités acquises sur ordinateur peuvent utiliser d’autres entités en tant que fonctionnalités. Ces entités peuvent être des entités personnalisées, telles que des entités d’expression régulière ou des entités de liste, ou des entités prédéfinies en tant que fonctionnalités.

En savoir plus sur les entités acquises sur ordinateur efficaces.

Étapes suivantes