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.
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