Composants d’entité

Dans la compréhension du langage courant, les entités sont des informations pertinentes extraites de vos énoncés. Vous pouvez extraire une entité à l’aide de plusieurs méthodes différentes. Les entités peuvent être détectées par le biais du contexte, mises en correspondance à partir d’une liste ou détectées par une entité prédéfinie reconnue. Chaque entité de votre projet est constituée d’une ou de plusieurs de ces méthodes, qui sont définies en tant que composants de votre entité.

Lorsque plusieurs composants définissent une entité, les prédictions peuvent se chevaucher. Vous pouvez déterminer le comportement d’une prédiction d’entité lorsque ses composants se chevauchent à l’aide d’un ensemble fixe d’options dans les options d’entité.

Types de composants

Un composant d’entité détermine la façon dont vous pouvez extraire l’entité. Une entité peut contenir un composant, qui détermine la seule méthode permettant d’extraire l’entité. Une entité peut également contenir plusieurs composants pour développer les façons dont l’entité est définie et extraite.

Composant appris

Le composant appris effectue l’apprentissage d’un modèle issu du Machine Learning à l’aide des étiquettes d’entité avec lesquelles vous étiquetez vos énoncés. Le modèle apprend à prévoir où est basée l’entité dans le contexte dans l’énoncé. Vos étiquettes fournissent des exemples d’emplacement où l’entité est censée être présente dans un énoncé. Cette détermination est basée sur la signification des mots qui l’entourent et des mots qui ont été étiquetés.

Ce composant n’est défini que si vous ajoutez des étiquettes en étiquetant des énoncés pour l’entité. Si vous n’étiquetez aucun énoncé avec l’entité, celle-ci n’a aucun composant appris.

Capture d’écran montrant un exemple de composants appris pour des entités.

Composant de liste

Le composant de liste représente un ensemble fixe, fermé de mots associés ainsi que leurs synonymes. Le composant effectue une correspondance de texte exacte avec la liste de valeurs que vous fournissez en tant que synonymes. Chaque synonyme appartient à une clé de liste, qui peut être utilisée comme valeur standard normalisée pour le synonyme qui retourne dans la sortie si le composant de liste est mis en correspondance. Les clés de liste ne sont pas utilisées pour la correspondance.

Dans les projets multilingues, vous pouvez spécifier un ensemble différent de synonymes pour chaque langue. Lorsque vous utilisez l’API de prédiction, vous pouvez spécifier la langue dans la demande d’entrée, qui correspond uniquement aux synonymes associés à cette langue.

Capture d’écran montrant un exemple de composants de liste pour des entités.

Composant prédéfini

Le composant prédéfini vous permet d’effectuer une sélection à partir d’une bibliothèque de types courants tels que des nombres, des valeurs de date/heure et des noms. Quand un composant prédéfini est ajouté, il est détecté automatiquement. Vous pouvez avoir jusqu’à cinq composants prédéfinis par entité. Pour en savoir plus, consultez la liste des composants prédéfinis pris en charge.

Capture d’écran montrant un exemple de composants prédéfinis pour des entités.

Composant Regex

Le composant regex correspond aux expressions régulières qui capturent des modèles constants. Lorsqu’il est ajouté, tout texte correspondant à l’expression régulière est extrait. Vous pouvez avoir plusieurs expressions régulières au sein de la même entité, chacune avec un identificateur de clé différent. Une expression qui trouve une correspondance renvoie la clé dans le cadre de la réponse de prédiction.

Dans les projets multilingues, vous pouvez spécifier une expression différente pour chaque langue. Lorsque vous utilisez l’API de prédiction, vous pouvez spécifier la langue dans la demande d’entrée, qui correspond uniquement à l’expression régulière associée à cette langue.

Capture d’écran montrant un exemple de composants regex pour des entités.

Options d’entité

Si plusieurs composants définissent une entité, leurs prédictions peuvent se chevaucher. Lorsque le chevauchement se produit, l’une des options suivantes détermine la prédiction finale de chaque entité :

Combiner des composants

Combinez des composants en tant qu’entité lorsqu’ils se chevauchent en considéra,t l’union de tous les composants.

Cette option vous permet de combiner tous les composants lorsqu’ils se chevauchent. Lorsque les composants sont combinés, vous obtenez toutes les informations supplémentaires associées à une liste ou un composant prédéfini s’ils sont présents.

Example

Supposons que vous disposez d’une entité appelée Software qui a un composant de liste, qui contient « Système d’exploitation Proseware » comme entrée. Dans vos données d’énoncé, vous avez « Je veux acheter Proseware OS 9 » avec « Proseware OS 9 » étiqueté comme Software :

Capture d’écran montrant une entité apprise et de liste chevauchée.

À l’aide de composants combinés, l’entité renvoie le contexte complet sous la forme « Proseware OS 9 » avec la clé du composant de liste :

Capture d’écran montrant le résultat d’un composant combiné.

Supposons que vous aviez le même énoncé, mais que seul « OS 9 » prédit le composant appris :

Capture d’écran montrant un énoncé avec OS 9 prédit par le composant appris.

Avec des composants combinés, l’entité renvoie toujours « Proseware OS 9 » avec la clé du composant de liste :

Capture d’écran montrant l’entité logicielle renvoyée.

Ne pas combiner des composants

Chaque composant qui se chevauche est renvoyé sous forme d’instance distincte de l’entité. Appliquez votre propre logique après la prédiction avec cette option.

Example

Supposons que vous disposez d’une entité appelée Software qui a un composant de liste, qui contient « Proseware Desktop » comme entrée. Dans vos données d’énoncé, vous avez « Je veux acheter Proseware Desktop Pro » avec « Proseware Desktop Pro » étiqueté en tant que logiciel :

Capture d’écran montrant un exemple d’entité apprise et de liste chevauchée.

Lorsque vous ne combinez pas de composants, l’entité renvoie à deux reprises :

Capture d’écran montrant l’entité renvoyée deux fois.

Composants requis

Parfois, vous pouvez définir une entité à l’aide de plusieurs composants, mais l’entité exige qu’au moins une ou plusieurs d’entre elles soient présentes. Vous pouvez marquer n’importe quel composant comme requis, ce qui signifie que le système ne retourne pas l’entité , sauf si ce composant est présent. Par exemple, si une entité a un composant de liste et un composant appris requis , le système garantit que toute entité retournée inclut un composant appris. Si une entité n’a pas le composant requis, le système ne le retourne pas.

Les composants requis sont les plus fréquemment utilisés avec les composants appris, car ils peuvent restreindre les autres types de composants à un contexte spécifique, qui est généralement associé aux rôles. Vous pouvez également exiger tous les composants pour être sûr que chacun d’entre eux est présent pour une entité.

Dans Microsoft Foundry, chaque composant d’une entité a un bouton bascule en regard de lui qui vous permet de le définir si nécessaire.

Example

Supposons que vous disposez d’une entité appelée Ticket Quantity qui tente d’extraire le nombre de billets que vous souhaitez réserver pour les vols, pour les énoncés tels que « Réserver deux billets demain au Caire ».

En général, vous ajoutez un composant prédéfini pour Quantity.Number qui extrait déjà tous les nombres. Si votre entité n’a été définie qu’avec le composant prédéfini, elle extrait également d’autres nombres dans le cadre de l’entité Ticket Quantity, par exemple « Réserver deux billets demain au Caire à 13 h ».

Pour résoudre ce scénario, étiquetez un composant appris dans vos données d’apprentissage pour tous les nombres destinés à entrer dans le cadre Quantité de billets. L’entité a maintenant deux composants : le composant prédéfini qui connaît tous les nombres et le composant appris qui prédit où la quantité de billets se trouve dans une phrase. Si vous avez besoin du composant appris, assurez-vous que Ticket Quantity ne retourne que lorsque le composant appris le prédit dans le contexte approprié. Si vous avez également besoin du composant prédéfini, vous pouvez alors garantir que l’entité Ticket Quantity retournée est à la fois un nombre et à la position correcte.

Utiliser des composants et des options

Les composants vous donnent la possibilité de définir votre entité de plusieurs manières. Lorsque vous combinez des composants, assurez-vous que chaque composant est représenté et que vous réduisez le nombre d’entités retournées dans vos prédictions.

Une pratique courante consiste à étendre un composant prédéfini avec une liste de valeurs que le prédéfini peut ne pas prendre en charge. Par exemple, si vous avez une entité Organisation , qui a un General.Organization composant prédéfini ajouté à celui-ci, l’entité peut ne pas prédire toutes les organisations spécifiques à votre domaine. Vous pouvez utiliser un composant de liste pour étendre les valeurs de l’entité Organisation et étendre le composant prédéfini avec vos propres organisations.

D’autres fois, vous pouvez être intéressé par l’extraction d’une entité par le biais de contexte, comme un produit dans un projet de vente au détail. Vous devez étiqueter le composant appris du produit pour savoir un produit est basé sur sa position dans la phrase. Vous pouvez également avoir une liste de produits que vous connaissiez déjà auparavant que vous souhaitez toujours extraire. La combinaison des deux composants dans une entité vous permet d’obtenir les deux options de l’entité.

Lorsque vous ne combinez pas de composants, vous autorisez chaque composant à faire office d’extracteur d’entité indépendant. Une façon d’utiliser cette option consiste à séparer les entités extraites d’une liste par rapport aux entités extraites par le biais des composants appris ou prédéfinis afin de les gérer et de les traiter différemment.

Note

Auparavant, lors de la version préliminaire publique du service, quatre options étaient disponibles : Chevauchement le plus long, Chevauchement exact, Chevauchement d’union et Renvoyer tout séparément. Le chevauchement le plus long et le chevauchement exact sont déconseillés et ne sont pris en charge que pour les projets qui avaient précédemment sélectionné ces options. L’option Chevauchement d’union est renommée Combiner les composants, tandis que l’option Renvoyer tout séparément est renommée Ne pas combiner les composants.

Composants prédéfinis pris en charge