I am using IBM Watson Conversation to build a chatbot. I am just wondering what is the difference between adding different synonyms to entity values rather than creating new values? Is it just a way to keep things organized?
The value is the value of the entity, and the synonyms are the synonyms of that value.
For example, when you create one Entity @devices
, and you add the Value Samsung S7
, you can add the synonyms: S7 by Samsung
, S7 Samsung
, etc.
And when you access the entity value like: @devices
, you'll get the real VALUE name (Samsung S7
), and not the synonyms.
But you can access the synonyms value with the .literal
property to get the exact text that was recognized as the detected entity, for example:
One good idea to use the synonyms is if you want one specific value from the user and the user types with different forms. For example, I did one entity with @Positions
, and I added a lot of values like:
Because, in my case, I want to save the real value from my entity.
I wanna save: Support Analyst, Windows Analyst and Linux Analyst, because they are the real value from the @positions
in my Company.
If the user types Support Technican, the entity @positions
will be detected and the value Support Analyst
will be available inside the @Positions
entity, for example.
Reference: Watson Converstation Service Documentation here.