Search code examples
dialogwatson-conversationwatson-iot

Watson Conversation - Why is the ANYTHING ELSE node not chosen


I build the "anything else" node at the and of my dialog. When entering , just a dummy, weird text like "dsajhfkjhfajfk" then - all the time, it seems like Watson is by default choosing the semi last intend node... instead of going into the anything else node

SCREENSHOT OF WATSON CONVSERSATION - USING ANYTHING ELSE NODE


Solution

  • It's best to understand that the intents is Watsons view of the world.

    As it tries to answer a question, it assumes that your question relates to how it sees the world. It doesn't know that dsahfkjshasdk is meaningless, because you don't have an intent for it. So it tries to answer as best as possible with what it does know.

    In the earlier versions of Watson it would have a high and low confidence value. If the response was below the threshold, then it would hit the "anything else".

    In Conversation this check isn't done. So even if it finds an intent that is 0.01% confidence, it will still take it as a valid answer.

    To work around this, you can try checking confidence first. I have an example of how this is handled here.

    Summary:

    First create a node with a condition:

    enter image description here

    This is to prevent further nodes failing.

    After that you can create two nodes.

    enter image description here

    The last node should have a continue from which points to the first Intent check node (linking to the condition).

    If you nest those intent nodes under one of the other nodes, then it will fall through to the "anything else". Alternatively if you use entity checking, it will fall through is no matches.

    TL;DR: "Anything else" is currently not working as you would expect it to work. That may change in the future.