Search code examples
ibm-cloudwatson-assistant

Watson Assistant detecting wrong entity


I am developing a skill that includes a branch for making a health service appointment. After recognising the intent, it lands on a node that attempts to fill slots for entities @service_type, @practitioner_type, and @appointment_type. However, when I trigger it with a request for a "medical appointment", it assigns the value "medical" to an entity called @associate_type (which is used in an entirely different intent) and leaves the slot for @service_type empty.

The crazy thing is that the training examples for @associate_type do not even include the word "medical", whereas those for @service_type include it 3 times. The only connection I can see between the two is that @associate_type contains a value called "doctor" (with synonyms that include "physician").

Is it possible that my entity definitions are interacting with Watson's underlying conversation model to create this ambiguity?


Solution

  • Solution: Remove annotations (from other entities / intents) that clash with the target entity.