Rasa Core does not work for simple scenario

I am playing with Rasa Core and don’t make it to create something useful. I hope the community can tell me whats wrong with my attempt.

Source

I attached the training data and an image of the visualized graph. Not so sophisticated, right?

stories.md (211 Bytes) domain.yml (312 Bytes) nlu_data.md (257 Bytes)

Background

Imaging somebody start the chat with a chatbot with the word “an apple”. Without a context the bot can’t deal with the word. It answers with a Fallback. The user continues the dialog and at some point the bot asks “What do you want?”. The user replies “an apple”. The bot has now the context to understand this utterance.

Rasa NLU has no context, like other NLU frameworks (e.g. Dialogflow). The proposed solution is to use Rasa CORE. That’s what I tried, but Rasa CORE does not stick to my plan.

Test cases

Note: Rasa NLU always matched right! Core doesen’t stick to the plan.

Test 1

  • I want an apple
  • utter_HungryForApple ✓

Test 2

  • Apple
  • utter_Fallback ✓

Test 3

  • Hungry
  • utter_Hungry
  • I want an apple
  • utter_HungryForApple ✓

Test 4

  • Hungry
  • utter_Hungry
  • Apple
  • action_listen XXX → utter_HungryApple

Question

This is a super simple dialog, but I am not able to build it using Rasa CORE. Is it my understanding of the technology or is Rasa CORE just not yet there to build a chatbot? I’m curious for your answers.

1 Like

I noticed, apple is an intent however it seems like an entity that should be featurized as a slot in order for your dialog prediction to hold some context. A conversation is driven by meaningful information that makes the difference. Intents by itself are usually vague, like an intent is to eat but depending on what the user wants to eat, you drive the conversation.

Thanks for the reply. You are completely right about the use of entities. I am aware of that.

The purpose of this example is to bring context into a dialog. An intent can have a different meaning depending in which context it appears. For that reason I made this very simple example. Think about apple as a normal intent (nothing like an entity). Any idea?

Btw using entities doesen’t work as imagined as well: Rasa Core - How to write reliable stories