I’m havint trouble implementing forms about names. I know names are pretty difficult but this is about the rules behind forms.
I have a rule that activates starring_form when it meets the intent “FindMovies” and one that instead calls an action. I want the rules to differentiate what to do based on what slot it was set after the intent, but apparently it doesn’t manage. Following is the screenshot, hope I explained decently.
Is this a bug in RASA or am I doing something wrong?
The problem is that your story is consistent with one of your rules, but inconsistent with the other rules. But apart from the conflict between stories and rules, I find your two rules for the
FindMovies intent ambiguous and, thus, problematic. What happens if the slot
discern_starring_or_director is set to
starring and the slot
genre is simultaneously set to
horror? Which of the two actions (
action_offer) should be executed? If the two slots cannot simultaneously get a value, you might solve your problem (not completely sure, though) by adding
slot_was_set: - genre: null to your first rule and do the equivalent for your story and your second rule.
But I had the feeling the best would be to rethink the way you try to solve your problem.
I’m actually still not sure where exactly is the conflict, but I agree on the the ambiguity. I’ve split FindMovies into two intents, one that expects a form after and one that doesn’t and it works much better for other aspects as well (i.e. name and entity recognition).