0

Nous travaillons sur un projet Watson Conversation pour une entreprise de vente au détail et voulons permettre aux utilisateurs de l'application de l'entreprise d'ajouter des produits à leur liste d'achats via la parole.Comment pouvons-nous combiner des entités et des sys-nombres de l'entrée de l'utilisateur pour créer la sortie désirée (réponse)?

Nous voudrions que l'utilisateur ajoute plusieurs articles au panier. Notre exemple d'entrée d'utilisateur: "Je voudrais ajouter 2 pommes et 1 caisse de bière" Cela retournerait la réponse: "Bien sûr, nous avons ajouté des pommes, caisse, bière, 2, 1 à votre liste." Cependant, notre désir la réponse est: "Bien sûr, nous avons ajouté 2 pommes et 1 caisse de bière à votre liste".

Nous avons essayé en extrayant l'entrée de l'utilisateur (input.text) mais cela saisit la phrase entière et pas nos entités désirées. Nous avons également essayé dans notre réponse souhaitée mais l'ordre des entités n'est pas le même que celui que l'utilisateur a entré. Cela nous donne la sortie que nous avons mentionnée dans l'exemple ci-dessus.

Ci-joint est une capture d'écran de notre exemple d'entrée (en néerlandais): "Je voudrais ajouter 2 pommes et 1 caisse de bière" est "Ik wil graag 2 appels en 1 krat bier toevoegen" L'intention est "ajouter to basket "-" #toevoegen_aan_boodschappenlijst "

Question: Comment attrapons-nous les entités à partir de notre entrée utilisateur, et répondons-les dans le bon ordre et les alignons avec les quantités" sys-number "? Nous avons aussi une entité "Quantités" (@Kwantiteit) avec les valeurs en néerlandais comme "krat" - "caisse" et nous souhaitons combiner ceci pour que l'entrée utilisateur requise soit ajoutée au panier dans le bon ordre .

Watson Conversation, ajouter au panier:

enter image description here

Répondre

1

En général, il est possible d'attribuer les numéros aux articles connexes. Les métadonnées de chaque entité ont des informations d'emplacement sur son occurrence dans la chaîne d'entrée. De cette façon, les éléments à proximité peuvent être liés.

Le traitement peut être effectué avec embedded expressions using the Spring Expression Language (SpEL). Ce sont les expressions incorporées via <? ?>. Certains échantillons étendus peuvent être trouvés dans mon "conversation variables" repository on GitHub. Une autre option consiste à effectuer le traitement dans l'application qui entraîne l'intégration de STT et Conversation.

+0

Nous avons utilisé pour capturer des entités et les lister comme des produits commandés dans l'énoncé d'un utilisateur. Ceci liste les entités de l'entrée mais pas dans le même ordre que l'utilisateur. Nous pensions à quelque chose comme ça: afin que nous puissions au moins définir la commande. Si un utilisateur dit «3 pommes et 2 bières», la réponse devrait être «J'ai ajouté 3 pommes et 2 bières». La réponse actuelle est 'J'ai ajouté des pommes, de la bière, 3, 2' Nous aimerions que l'ordre des entités dans la réponse soit le même que celui de l'entrée de l'utilisateur. Comment peut-on faire ça? –

+0

Voir ma réponse, il y a des informations de localisation dans les métadonnées. Vous pouvez l'utiliser dans le traitement. –