3

We are implementing Watson technology for an assistant to help certain users.

The dialogues are somewhat complex, and sometimes it is necessary to do jump answers that relate with certain questions, the downside of this is that it may be that the user can ask the question once more, in case it was not clear and that is where the problem arises.

When wanting to enter the node where it is subsequently entered and said node made a jump, I mark the following error

"Did not match the condition of the target node nor any of the conditions of its subsequent siblings."

Can someone tell me with clarity why that happens?

Reference image

petronaMX
  • 31
  • 7

2 Answers2

1

"Did not match the condition of the target node nor any of the conditions of its subsequent siblings."

This error occurs if no final node is matched. If your last node was in a branch where the parent is a node, then it will fall back to root to find the answer. You get an endless loop which will stop after 50 iterations.

Like this example, if the user types in "error" it jumps to the branch, doesn't find a match, returns to root to find where to stop and loops:

enter image description here

If the branch is in a folder, then it continues on past the folder to find the match.

To fix the issue, you need to add a final node in the branch that will capture anything_else like so.

enter image description here

The other option is to use a folder node. It will it allow it to fall through back to the tree where it entered, and your final node should capture it.

enter image description here

Simon O'Doherty
  • 9,259
  • 3
  • 26
  • 54
  • Thank you very much for your answer, in this case I do have dialogs where I apply what you say, but for the case where I make the jumps the problem is that, if the node where I have the jump makes the jump, the assistant does not allow me to return to that node or node where I made that jump. I enclose an image as reference in the question so that you observe it. – petronaMX Jun 22 '18 at 15:50
  • Jumps are one way. If you want to return look at Slots handlers or the Digressions feature. – Simon O'Doherty Jun 22 '18 at 15:51
  • So if I make a jump, can I not go through the nodes again, both for the one that triggered the jump or for the destination node? Not that I want the node to return after the jump, but that if the user puts the question back to either of the two nodes, either the one that includes the jump or to the destination node, it can respond without problems. – petronaMX Jun 22 '18 at 15:57
  • You can go through a node again in a single call a maximum of 49 times. You could also use the 'anything_else' node to jump back to a static point. – Simon O'Doherty Jun 22 '18 at 16:07
  • apparently there is something wrong, I made checks and apparently in one of the consultations caused that error to enter again after a jump. I share the link of the workspace to see if you can see it. Conservation would be something like this: "cliente > no puedo capturar un telefono> si > no > si > correo" after that if the user puts the same "no puedo capturar un telefono" o "error en telefono" then the error occurs. link: https://drive.google.com/open?id=12JycW7Fr4ISfbzWAJ646vnY7y2PuEsKL – petronaMX Jun 22 '18 at 19:11
0

After so many tests, I finally found the error. This was because I was leaving some variables of context with values, and when I returned to the nodes, I no longer validated them again. What I did was that at the end of the answer I set the variables to null so that when I was processing them again in the nodes, they had to validate them again.

Greetings and many thanks.

petronaMX
  • 31
  • 7