0
votes

We are working on a Watson Conversation project for a retail company and want to enable users of the company's app to add products to their shopping list via speech.

We would like for the user to add multiple items to the basket. Our example user input: "I would like to add 2 apples and 1 crate of beer" This would return the response: "Of course, we have added apples, crate, Beer, 2, 1 to your list. " However, our desired response is: "Of course, we have added 2 apples and 1 crate of beer to your list".

We have tried by extracting user input (input.text) but that grabs the whole sentence and not our desired entities. We have also tried in our desired response however the ordering of entities is not the same as the ordering the user inputted. This gives us the output we mentioned in the example above.

Attached is a screen shot of our example input (in Dutch): "I would like to add 2 apples and 1 crate of beer" is "Ik wil graag 2 appels en 1 krat bier toevoegen" The intent is "add to basket" - "#toevoegen_aan_boodschappenlijst"

Question: How do we grab the entities from our user input, and respond with them in the right order and have them aligned with the quantities "sys-number"? We have a "Quantities" entity (@Kwantiteit) too with the values being in Dutch such as "krat" - "crate" and we would like to combine this so that the required user input is added to the shopping basket in the right order.

Watson Conversation, add to basket:

enter image description here

1

1 Answers

1
votes

In general, it is possible to assign the numbers to the related items. The metadata for each entity has location information about its occurrence in the input string. That way items near by can be related.

The processing can be done with embedded expressions using the Spring Expression Language (SpEL). Those are the expressions embedded via <? ?>. Some extended samples can be found in my "conversation variables" repository on GitHub. Another option is to perform the processing in the application that is driving the integration of STT and Conversation.