Reputation: 65
Since yesterday, the Conversation service sometimes doesn't answer a response. It recognizes intents and entities, but there is not text in the response. This is what I get when I use CURL:
{"input":{"text":"soporte"},"context":{"conversation_id":"4c700daf-6dd2-4308-be8
d-b76426278536","system":{"dialog_stack":["root"],"dialog_turn_counter":1,"dialo
g_request_counter":1}},"entities":[],"intents":[{"intent":"soporte","confidence"
:1}],"output":{"log_messages":[{"level":"warn","msg":"No dialog node matched for
the input at a root level!"},{"level":"warn","msg":"No dialog node condition ma
tched to true in the last dialog round - context.nodes_visited is empty. Falling
back to the root node in the next round."}],"text":[]}}
When I test the Conversation from the Web interface, it shows that it recognizes the intent, but doesn't give an anwser.
This happens with any intent or entity, in both models I currently have. I clarify that it is an intermittent behavior, sometimes it works fine (it works fine aprox. 1 out of 3 times)
Upvotes: 4
Views: 1217
Reputation: 477
This is still occurring with Conversation "version_date": "2017-04-21"
.
In my case,
- intent is correctly matched, whether Web or Slack
- Web UI sometimes
produces the matching response
- slack app always gets "No dialog node matched for the input at a root level!"
Additional Log message : "No dialog node condition matched to true in the last dialog round - context.nodes_visited is empty. Falling back to the root node in the next round."
Examples
one intent is #value_judgement. An example question in the node is "Should we commit ground troops in Syria?" Intent is correctly detected, and Web UI produces response dialog.
second intent is #fact_check, with example "Is it true that 78% or the earth's surface is covered with water?". Intent is detected in both app and Web UI. Neither receive the response dialog.
Upvotes: 2
Reputation: 9359
To be honest, this is hard to answer without seeing a sample conversation script you are calling. So this answer is generic.
First let's examine your JSON response.
In the response we can see this:
"intents":[{
"intent":"soporte",
"confidence":1
}
This tells you that it found the intent, but not that it took any action on that intent. The action is defined by your Dialog tree.
The main error message is this:
No dialog node matched for the input at a root level!
This means that no where in your top level of nodes did it find a condition that matches. In your case, you need at least one node with the condition of #soporte
to capture the intent.
You should also add an "Anything Else" node (normally done automatically) at the root. This way you can see when it hasn't matched something easier.
Here is an example tree:
Upvotes: 1