[SOLVED] Wrong intent when "éteins la lumière"


#1

Hello,

I have an issue with the way snips choses the right intent when I say “Éteins la lumière du salon” : snips choses TurnOffJeedom (with probability 1) instead of LightsTurnOffJeedom.
It considers “lumière” as a device_name. Obviously, there is no such value for the slot device_name.
Do you know what went wrong ?

Thanks,
Bonson


#2

I heard people talking about “Automatically Extensible” in the slot type to cause stuff like that - might be worth a try if it is currently enabled ^^
(neither french nor jeedom knowledge present ;>)


#3

Thanks. But that’s certainly something else : “automatically extensible” is already disabled with “device_name” :-/


#4

I am facing the same issue but with intent TurnOnJeedom whitch is used instead of lightsSetJeedom …

@valf could you help us on that ?


#5

Ok, so starting from scratch with the Official jeedom APP from @valf it’s working …
So I probably do something wrong in my assistant design …


#6

Same for me. It started working badly as soon as I forked the app. But I haven’t changed anything in the intents/slot values/training examples…


#7

That is no luck for me as I would exactly like to do what you don’t want. I would like to bypass the lightsetJeedom to keep the turnonjeedom only (where I’ll manage all the lights and other electrical devices). But as soon as I say “allume la veilleuse”, for example, it doesn’t find any slot while “Veilleuse” has been set in the “device-name” slot of a brand new intent.

I’ll try again from @valf scratch version and see if I get better result…


#8

Hello,
I have exactly the same problem. I forked all the intents and modified a lot the training phrases / devices / house_room (many badly/not tagged (percentages,etc…)).
The TurnOnJeedom is recognized instead of LightSetJeedom, and it’s a 100% match (Probability = 1) !
It’s even identifying “lumière” as a device (as @Bonson said) which should never happen, considering my settings / lists of devices.
Same problem with lightsTurnOffJeedom versusTurnOffJeedom intent matching.

I checked and rechecked :

  • all my device_name slots never mention the word “lumière”
  • “Automatically Extensible” option is NOT selected on any of my slots
  • “Matching Strictness” slider is set full right (max strictness I believe?)
  • the corresponding phrases tested exists exactly (multiple times) in the corresponding training samples (i.e “éteins la lumière dans le salon” in lightsTurnOffJeedom intent training sample and NOT in TurnOffJeedom training samples. The word lumière is not even mentioned in any example) same for TurnOn…/SetLight

When testing in the web console, it matches the wrong behaviour occuring in reality, so this is consistent :disappointed_relieved:
In the web console intent testing on the right side :

allume la lumière dans le salon

{
  "input": "allume la lumière dans le salon",
  "intent": {
    "intentName": "idalys:TurnOnJeedom",
    "probability": 1
  },
  "slots": [
    {
      "rawValue": "lumière",
      "value": {
        "kind": "Custom",
        "value": "lumière"
      },
      "range": {
        "start": 10,
        "end": 17
      },
      "entity": "device_name",
      "slotName": "device_name"
    },
    {
      "rawValue": "salon",
      "value": {
        "kind": "Custom",
        "value": "salon"
      },
      "range": {
        "start": 26,
        "end": 31
      },
      "entity": "house_room",
      "slotName": "house_room"
    }
  ]
}

Or

éteins la lumière dans le salon

`

{
 "input": "éteins la lumière dans le salon",
 "intent": {
   "intentName": "idalys:TurnOffJeedom",
   "probability": 1
 },
 "slots": [
   {
     "rawValue": "lumière",
     "value": {
       "kind": "Custom",
       "value": "lumière"
     },
     "range": {
       "start": 10,
       "end": 17
     },
     "entity": "device_name",
     "slotName": "device_name"
   },
   {
     "rawValue": "salon",
     "value": {
       "kind": "Custom",
       "value": "salon"
     },
     "range": {
       "start": 26,
       "end": 31
     },
     "entity": "house_room",
     "slotName": "house_room"
   }
 ]
}

But what really baffles me :sweat_smile:

eteins la lumière dans le salon

Just changing the accent “éteins” versus “eteins” changes everything !!! :scream:

{
  "input": "eteins la lumière dans le salon",
  "intent": {
    "intentName": "idalys:lightsTurnOffJeedom",
    "probability": 0.9090509
  },
  "slots": [
    {
      "rawValue": "salon",
      "value": {
        "kind": "Custom",
        "value": "salon"
      },
      "range": {
        "start": 26,
        "end": 31
      },
      "entity": "house_room",
      "slotName": "house_room"
    }
  ]
}

@valf Please advise/help

idalys


#9

Ok we are looking into it and will resolve this issue


#10

Great, thanks for the feedback !
So you managed to reproduce the issue on your side as well ?


#11

Great indeed ! Thanks for looking into it @valf :slight_smile:
For the moment, I am eluding the problem by re-directing to the correct intent by looking for specific words in the “query” captured (ex:“lumière” + TurnOffJeedom -> lightsTurnOffJeedom, etc…) in the callback scenario, basic but efficient as a band aid… :sweat_smile:


#12

Hello all,

The problem:

The problem is due to the intent EntityStateValueJeedom which is also using the slot type device_name. In this intent one of the utterance has the word “lumière” tagged as the slot object which is of slot type device_name.

:information_source: When you tag a word in an utterance that is not inside the slot’s slot_type it will automatically be added to the slot_type (for all intents of the current assistant)

So with “lumière” added as a slot value of device_name the intent TurnOffJeedom becomes very ambiguous with the intent LightsTurnOffJeedom.

The solution:

We will fix this issue in the coming weeks and meanwhile you can create a new slot type device_name_bis that would be dedicated to the intents: TurnOffJeedom / TurnOffJeedom.


Not good intent detected between app
#13

Thank you @robin !
Not much time to spend at the moment on snips, so I’ll wait for the fix.


#14

Hello,

The fixed version of the Jeedom App is now on the official Snips account.

Here is the link to the new assistant : https://console.snips.ai/store/fr/skill_mZl2D0xwbO8

@Bonson Thanks for reporting !


#15

Thanks @robin for the explanation (and the fix).
-> I now use specific slot_types when necessary on my intents to prevent unintentional addition and therefore ambiguity in intent recognition.