RASA == Production system?

As I’m experimenting with RASA … something struck me … It very much resembles Production systems.

What is a production system ?

In general it is a system where all the processing happen via IF-THEN rules f.e.

IF wm.intent == greet THEN utter_greet

where work-memory is used to link the execution of the rules.

The rules compete for execution based on the condition and in some mechanism for resolving conflict f.e. scores

PS are very big in Symbolic AI.

Here is the RASA <=> ACT-R equivalents. (ACT-R is AI PS )

Working memory
  slots
  form-data

Procedural memory
  stories :  if condition then action

Declaratve memory
  intents
  faq-responses

Buffers (in/out)
  dont know the equivalent in RASA

Hi @sten. That is an interesting observation. There are some similarities to cognitive architectures.

Rasa is intended to enable developers to process and respond to information that is structured in the form of conversations.

Cognitive architectures are generally intended to be used as a computer simulation model of some cognitive task (e.g. having a conversation).

To that end, I think it makes sense that you see similarities to cognitive architectures because both are software that is attempting to do a cognitive task that is usually done in the human mind.

However, rather than manually writing out if-then production rules, Rasa uses machine learning to learn from training data to determine intent, extract entities, and select the next best action.

1 Like

yeah … the IF-THEN rules match 90% Stories (except that stories take context into account in PS you do this via Working-memory) . Also normally it have a score attached to every rule which is updated in a similar manner to Reinforcement learning Q-value.

AFAIK you do similar thing during interactive training