We’ve been struggling with failing stories for a while now and we couldn’t get our heads around WHY they weren’t working. We were adamant that we set everything up correctly. Turns out, we didn’t. And it was all an NLU issue.
So let’s say we have the following story:
Then, in your NLU file you’ve got the following data:
That’ll be all right?
Thing is, since the story doesn’t specify that the slot “time” is set in this use case, the story won’t work correctly. The pipeline will work as follows:
step 1: NLU recognizes intent and entity in the user message step 2: slot “time” is set to XX:XX step 3: rasa core Memoization steps in, doesn’t recognize this exact story step 4: Keras tries to identify which action to take and can either succeed (yay!) or fail (most likely)
the solution is to account for this in the story:
You can always make a custom slot that handles out of scope timeframes in this particular case of course.