RasaHQ / rasa

💬 Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants
https://rasa.com/docs/rasa/
Apache License 2.0
18.76k stars 4.62k forks source link

Slot reverts to initial value when SlotSet event is forgotten by AugmentedMemoizationPolicy #9471

Closed JEM-Mosig closed 3 years ago

JEM-Mosig commented 3 years ago

Rasa Open Source version

2.6.2

Rasa SDK version

No response

Rasa X version

No response

Python version

Other

What operating system are you using?

Other

What happened?

The AugmentedMemoizationPolicy seems to modify a state: Before calling the delorean, the value of a slot is (0.0, 0.0, 0.0, 1.0, 0.0, 0.0). After calling the delorean, the value of a slot is (1.0, 0.0, 0.0, 0.0, 0.0, 0.0).

A similar bug was seen before and it might be fixed in the current version. Customer is checking if its fixed with 2.7.1. Discussion: https://rasa-hq.slack.com/archives/C021ZTVSY77/p1629720593324400

Command / Request

No response

Relevant log output

No response

koernerfelicia commented 3 years ago

Shukri confirmed they're seeing the issue with 2.7.1 as well

koernerfelicia commented 3 years ago

This actually isn't a matter of sorting. It seems that the "SlotSet" event is forgotten by the policy, and the slot returns to its initial state.

slots:
   thing:
    type: rasa.shared.core.slots.CategoricalSlot
    initial_value: abc
    auto_fill: true
    influence_conversation: true
    values:
    - abc
    - def
    - ghi

Before calling the delorean, the value of a slot is "ghi" (0.0, 0.0, 1.0). After calling the delorean, the value of a slot is "abc" (1.0, 0.0, 0.0).

See tests demonstrating this here

koernerfelicia commented 3 years ago

@hsm207 am I good to close this as not a bug? You're planning on clarifying this in the docs, right?

hsm207 commented 3 years ago

@koernerfelicia yes, we can close this and i will clarify in the docs