Composants de l’entité
Dans la compréhension du langage courant, les entités sont des informations pertinentes qui sont extraites de vos énoncés. Une entité peut être extraite par différentes méthodes. Elles peuvent être apprises par le biais d’un contexte, d’une correspondance à partir d’une liste ou détectées par une entité reconnue prédéfinie. 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é.
Quand une entité est définie par plusieurs composants, leurs prédictions peuvent se chevaucher. Vous pouvez déterminer le comportement d’une prédiction d’entité quand ses composants se chevauchent en utilisant 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 à utiliser pour 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 utilise les étiquettes d’entité avec lesquelles vous étiquetez vos énoncés pour entraîner un modèle issu du Machine Learning. 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é doit être présente dans un énoncé, en fonction de 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.
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 retourné dans la sortie si le composant de liste est mis en correspondance. Les clés de liste ne sont pas utilisées pour la mise en 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 requête d’entrée, qui correspond uniquement aux synonymes associés à cette langue.
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 plus d’informations, consultez la liste des composants prédéfinis pris en charge.
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 retourne 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 requête d’entrée, qui correspond uniquement à l’expression régulière associée à cette langue.
Options d’entité
Quand plusieurs composants sont définis pour une entité, leurs prédictions peuvent se chevaucher. En cas de chevauchement, la prédiction finale de chaque entité est déterminée par l’une des options suivantes.
Combiner les composants
Combinez des composants en tant qu’entité lorsqu’ils se chevauchent en considéra,t l’union de tous les composants.
Utilisez cette option pour combiner tous les composants lorsqu’ils se chevauchent. Lorsque des composants sont combinés, vous obtenez toutes les informations supplémentaires liées à une liste ou à un composant prédéfini lorsqu’ils sont présents.
Exemple
Supposez que vous disposez d’une entité appelée Software qui a un composant de liste qui contient « Proseware OS » comme entrée. Dans vos données d’énoncé, vous avez « I want to buy Proseware OS 9 » avec « Proseware OS 9 » étiqueté comme Software :
En utilisant des composants combinés, l’entité retourne le contexte complet sous la forme « Proseware OS 9 » avec la clé du composant de liste :
Supposez que vous avez le même énoncé, mais que seul « OS 9 » a été prédit par le composant appris :
Avec les composants combinés, l’entité retourne toujours « Proseware OS 9 » avec la clé du composant de liste :
Ne pas combiner des composants
Chaque composant qui se chevauche redevient une instance distincte de l’entité. Appliquez votre propre logique après la prédiction avec cette option.
Exemple
Supposez 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 « I want to buy Proseware Desktop Pro » avec « Proseware Desktop Pro » étiqueté comme Software :
Lorsque vous ne combinez pas de composants, l’entité retourne deux fois :
Composants nécessaires
Parfois, une entité peut être définie par plusieurs composants mais nécessite qu’un ou plusieurs d’entre eux soient présents. Chaque composant peut être défini comme requis, ce qui signifie que l’entité n’est pas retournée si ce composant n’est pas présent. Par exemple, si vous avez une entité avec un composant de liste et un composant appris requis, toute entité retournée inclut à coup sûr un composant appris. Si ce n’est pas le cas, l’entité n’est pas retournée.
Les composants requis sont le plus fréquemment utilisés avec les composants appris, car ils peuvent limiter les autres types de composants à un contexte spécifique, qui est généralement associé à des 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 Language Studio, chaque composant d’une entité a un bouton bascule à côté de lui qui vous permet de le définir si nécessaire.
Exemple
Supposez que vous avez une entité appelée Quantité de billets qui tente d’extraire le nombre de billets que vous souhaitez réserver pour des vols, pour les énoncés comme « Réserver deux billets demain pour Le Caire ».
En temps normal, vous ajoutez un composant prédéfini pour Quantity.Number
qui extrait déjà tous les nombres. Si votre entité a été seulement définie avec le composant prédéfini, elle extrait aussi d’autres nombres dans le cadre de l’entité Quantité de billets, comme « Réserver deux billets demain pour Le Caire à 15 heures. »
Pour résoudre ce scénario, vous devez étiqueter un composant appris dans vos données d’entraînement pour tous les nombres qui sont 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ù Quantité de billets se trouve dans une phrase. Si vous avez besoin du composant appris, vérifiez que Quantité de billets retourne uniquement lorsque le composant appris le prédit dans le bon contexte. Si vous avez également besoin du composant prédéfini, vous pouvez alors garantir que l’entité Quantité de billets retournée est à la fois un nombre et à la bonne position.
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 disposez d’une entité Organisation, qui a un composant prédéfini General.Organization
ajouté à celui-ci, l’entité peut ne pas prédire toutes les organisations propres à 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 d’un contexte tel qu’un Produit dans un projet de vente au détail. Vous devez étiqueter le composant appris du produit pour savoir où un produit est basé sur sa position dans la phrase. Vous pouvez également avoir une liste de produits que vous connaissiez déjà auparavant et que vous souhaiteriez 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.
Remarque
Avant, lors de la préversion publique du service, quatre options étaient disponibles : Chevauchement le plus long, Chevauchement exact, Chevauchement d’union et Retourner tout séparément. Chevauchement le plus long et Chevauchement exact sont déconseillés et ne sont pris en charge que pour les projets pour lesquels ces options étaient précédemment sélectionnées. Le chevauchement d’union a été renommé Combiner les composants, tandis que Retourner tout séparément été renommé Ne pas combiner les composants.