Synonym doesn't work

Hi all,

I don’t understand why synonyms don’t work.

In my domain.yml file :

synonyms:
  - synonym: parent_room
    examples: |
      - chambre parentale
      - chambre des parents
      - chambre principale
      - chambre parental
      - chambre parents

In my config.yaml I’m using default value except for EntitySynonymMapper (I did some tests..):

language: fr

pipeline:
# See https://rasa.com/docs/rasa/tuning-your-model for more information.
  - name: WhitespaceTokenizer
  - name: RegexFeaturizer
  - name: LexicalSyntacticFeaturizer
  - name: CountVectorsFeaturizer
  - name: CountVectorsFeaturizer
    analyzer: char_wb
    min_ngram: 1
    max_ngram: 4
  - name: DIETClassifier
    epochs: 100
    constrain_similarities: true
  - name: EntitySynonymMapper
    case_sensitive: false
    minimum_similarity: 0.8
  - name: ResponseSelector
    epochs: 100
    constrain_similarities: true
  - name: FallbackClassifier
    threshold: 0.3
    ambiguity_threshold: 0.1

# Configuration for Rasa Core.
# https://rasa.com/docs/rasa/core/policies/
policies: null

I created examples with all values of my synonyms:

- intent: get_room_temperature
  examples: |
    - "Donne moi la température de la [chambre parentale](room)"
    - "Quelle est la température dans la [chambre des parents](room)?"
    - "Quelle est la température dans la [chambre parentale](room)?"
    - "Quelle est la température de la [chambre parentale](room)?"

Unfortunately, at the end here what I have for the following test:

Your input ->  Quelle est la temperature de la chambre des parents?
Your input ->  quelle est la temperature de la chambre parental?
Your input ->  quelle est la temperature de la chambre parentale?
Your input ->  quelle est la temperature de la chambre parent?
room from slot: chambre des parents
entities [{'entity': 'room', 'start': 32, 'end': 51, 'confidence_entity': 0.9993231296539307, 'value': 'chambre des parents', 'extractor': 'DIETClassifier', 'processors': ['EntitySynonymMapper']}]

room from slot: chambre parental
entities [{'entity': 'room', 'start': 32, 'end': 48, 'confidence_entity': 0.9994913339614868, 'value': 'chambre parental', 'extractor': 'DIETClassifier'}]

room from slot: chambre parentale
entities [{'entity': 'room', 'start': 32, 'end': 49, 'confidence_entity': 0.9996161460876465, 'value': 'chambre parentale', 'extractor': 'DIETClassifier', 'processors': ['EntitySynonymMapper']}]

room from slot: chambre parent
entities [{'entity': 'room', 'start': 32, 'end': 46, 'confidence_entity': 0.9961864352226257, 'value': 'chambre parent', 'extractor': 'DIETClassifier'}]

It’s like I have 3 different rooms.

I also defined a lookup:

- lookup: room
  examples: |
    - chambre des parents
    - chambre parental
    - chambre parentale
    - chambre parents

Does anyone have any ideas?

Rasa Version      :         3.6.21
Minimum Compatible Version: 3.6.21
Rasa SDK Version  :         3.6.2
Python Version    :         3.10.16
Operating System  :         Linux-6.8.0-54-generic-x86_64-with-glibc2.39

In case you need my action code:

class ActionGetRoomTemperature(Action):
    def name(self) -> str:
        return "action_get_room_temperature"

    def run(
        self,
        dispatcher: CollectingDispatcher,
        tracker: Tracker,
        _: Dict[Text, Any],
    ):
        room = None
        entities = tracker.latest_message.get("entities", [])
        if entities:
            room = tracker.get_slot("room")

        print("room from slot:", room)
        print("entities", entities)

I wanted to avoid creating a python function that normalizes the name… from what I understand, the synonyms are there for that..

Thanks for your help.

I found my problem after a break… I put synonyms in the wrong file, now it works…

My problem is therefore resolved, however I remain open to suggestions if there are things that can be improved.