I have implemented use cases in Watson Conversation where the entity names and values were defined within the Conversation's Dialog web tool and could be used as common values between all users. However, I am looking at implementing use cases where the entity values are not known in advance, such as person's name or a dollar amount and therefore entity values need to be defined dynamically for each user when Watson conversation is initiated from the API.
How would I go about implementing a scenario which can handle the example below - 1. "Make a payment of $50 to John Doe" - where John Doe is one of the payees registered in the user's account and the amount of $50 is to be extracted as the payment amount.
"Add Jane Doe as a new payee" - where we don't know in advance what name the user is going to use to register a new payee (similar to adding a new phone contact)
The type of entities that you are interested in are called System Entities. We will be adding these over time. In the near future, you can expect to see support for currency values, such as "$50". Names are another one we are investigating, but I don't know if/when that will be added.
In cases like this I have seen AlchemyLanguage used as a filter to pick out entities such as names. Call AlchemyLanguage on the text before you pass it to the Conversation service to pick out entities and keywords that conversation would not be able to do.
It is also possible to use regex inside conversation, which might help with text in a particular pattern.
My use-case is slightly more complicated than just names. My object names are user defined names which could contain special characters like '-', '.', etc.
How should I use them in the dialog?
For example, "I would like to turn-off 1stFloor-Ac-1234 AC", where the AC is uniquely identified by the name 1stFloor-Ac-1234.
FInd date range in sentence 2 Answers