Problem with optional words

Hello all,

I have a problem with optional words/parameters.

I would like to do this :
[ChangeLightState]
light_name = (la | le | l’) (lumière | ampoule | spot) (du | de | de la | des | dans l’| dans la | dans le)($piece){mapiece} [(en| de la couleur) ($color){macouleur}] [à (0…100){puissance} pourcent]
(allumer | éteindre){state} <light_name>

Color and Puissance (brightness) should be optional
So, this sentence should handle something like this (in english) :

  • Switch on the light in kitchen
  • Switch on the light in kitchen at 60 pourcent
  • Switch on the lignt in kitchen in red
  • Switch on the light in kitchen in red at 80 pourcents.

When i save this :
light_name = (la | le | l’) (lumière | ampoule | spot) (du | de | de la | des | dans l’| dans la | dans le)($piece){mapiece}

Training is done in 0,81 sec

When i save this :
[ChangeLightState]
light_name = (la | le | l’) (lumière | ampoule | spot) (du | de | de la | des | dans l’| dans la | dans le)($piece){mapiece} [(en| de la couleur) ($color){macouleur}]

Training is saved in 16 sec

But the complete sentence failed in time out after few minutes with :
DEBUG:DialogueManager:training_sentences -> training_intent
./run-venv.sh: line 28: 23169 Killed python3 app.py “$@”

Have you an idea how i can do what i would like to do ? :slight_smile:

Thank you !

Ced

Essaye ça…oui le training est un peu long!

[ChangeLightState]
(allumer | éteindre) {state} (la | le | l ) (lumière | ampoule | spot) (du | de | de la | des | dans l | dans la | dans le) ($piece) {mapiece}[(en | de la couleur)($couleur) {macouleur} ] [à (0…100) {puissance} pourcent]

RESULTAT==========

ChangeLightState

  • rouge macouleur
  • cuisine mapiece
  • 10 puissance
  • allumer state

Raw Intent JSON

“intent”:

“entities”:

0:

“end”: 7

“entity”: “state”

“raw_end”: 7

“raw_start”: 0

“raw_tokens”:

0: “allumer”

“raw_value”: “allumer”

“start”: 0

“tokens”:

0: “allumer”

“value”: “allumer”

1:

“end”: 29

“entity”: “mapiece”

“raw_end”: 29

“raw_start”: 22

“raw_tokens”:

0: “cuisine”

“raw_value”: “cuisine”

“start”: 22

“tokens”:

0: “cuisine”

“value”: “cuisine”

2:

“end”: 38

“entity”: “macouleur”

“raw_end”: 38

“raw_start”: 33

“raw_tokens”:

0: “rouge”

“raw_value”: “rouge”

“start”: 33

“tokens”:

0: “rouge”

“value”: “rouge”

3:

“end”: 43

“entity”: “puissance”

“raw_end”: 44

“raw_start”: 41

“raw_tokens”:

0: “dix”

“raw_value”: “dix”

“start”: 41

“tokens”:

0: 10

“value”: 10

“intent”:

“confidence”: 1

“name”: “ChangeLightState”

“raw_text”: “allumer la lumière du cuisine en rouge à dix pourcent”

“raw_tokens”:

0: “allumer”

1: “la”

2: “lumière”

3: “du”

4: “cuisine”

5: “en”

6: “rouge”

7: “à”

8: “dix”

9: “pourcent”

“recognize_seconds”: 0.8747328229997038

“siteId”: “default”

“slots”:

“macouleur”: “rouge”

“mapiece”: “cuisine”

“puissance”: 10

“state”: “allumer”

“speech_confidence”: 1

“text”: “allumer la lumière du cuisine en rouge à 10 pourcent”

“time_sec”: 0.9166858196258545

“tokens”:

0: “allumer”

1: “la”

2: “lumière”

3: “du”

4: “cuisine”

5: “en”

6: “rouge”

7: “à”

8: 10

9: “pourcent”

“transcribe_seconds”: 0

“wakeId”: “”

“wav_seconds”: 0