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.