Does Memoization ignore slots set > max_history turns ago?

I want to confirm that if I have

policies:
  - name: MemoizationPolicy
    max_history: 3

and I have a slot set 4 turns ago, that the Memoization policy will ignore it?

no, slots are kept until there is a restart event.

Thx @amn41. So Memoization considers all activity in the past max_history turns PLUS all other slot values no matter when they were set? (Featurized and unfeaturized?)

And what does “exact conversation” (per docs) mean?

  1. The exact text entered by users, or
  2. The exact intent and entities, or
  3. The exact intent and slot type-relevant entities (e.g., different values for text slots would be considered exact, whereas different values for a categorical slot would not be).

you’re quite right that language isn’t very clear. By exact it means that the conversation would be featurized exactly the same way. So same intents, entities, slots (depending on how they are featurized)

OK, great. That makes sense. But what about featurized slots that are set before max_history turns ago? The comments in the code seem to imply that those are considered as well. Does that mean all featurized slots are considered, regardless when they’re set?

Does that mean all featurized slots are considered, regardless when they’re set?

yes

Hmmm, so I guess this argues for being tidy with slot values then - emptying them when they’re no longer needed. Otherwise, some old, irrelevant slot could mess up memoization.