Unexpected intent recognition

Hi, I’m using latest rhasspy release with:

  • Italian language and Kaldi
  • fsticuffs for intent recognition
  • snowboy jarvis (0.5,0.5) for wake up
  • master/satellite setup

The Kaldi STT is really better than phocketsphninx but I have issues with intent recognition that make it unusable.
It seems that if it doens’t recognize a valid intent it chooses one randomly…

The major issues:

  1. sometimes if I tell “turn on (light){light}” it recognized “start cleaning” or some other intent randomly
  2. I have an intent to change tv channel and sometimes happens that it changes the tv channel but I never pronunced “jarvis” or “change tv channel to (channel){channel}”.

I’ve tried to increase jarvis sensibility to avoid false positive wakeups.
But I don’t know ho to resolve the random intent recognition issue.
Probably something is wrong in with my slots or sentences?

Example log. I tell only “jarvis” and it recognized an intent…

[DEBUG:2020-12-24 12:22:34,881] rhasspyserver_hermes: <- NluIntent(input=‘metti tv_salone 1’, intent=Intent(intent_name=‘TvChangeChannel’, confidence_score=1.0), site_id=‘satellite1’, id=None, slots=[Slot(entity=‘tv’, value={‘kind’: ‘Unknown’, ‘value’: ‘tv_salone’}, slot_name=‘tv’, raw_value=‘tivvu’, confidence=1.0, range=SlotRange(start=6, end=15, raw_start=6, raw_end=11)), Slot(entity=‘rhasspy/number’, value={‘kind’: ‘Number’, ‘value’: 1}, slot_name=‘channel’, raw_value=‘uno’, confidence=1.0, range=SlotRange(start=16, end=17, raw_start=12, raw_end=15))], session_id=‘satellite1-jarvis-49959f96-54f9-455d-8ebe-ba9ddc58e965’, custom_data=None, asr_tokens=[[AsrToken(value=‘metti’, confidence=1.0, range_start=0, range_end=5, time=None), AsrToken(value=‘tv_salone’, confidence=1.0, range_start=6, range_end=15, time=None), AsrToken(value=‘1’, confidence=1.0, range_start=16, range_end=17, time=None)]], asr_confidence=None, raw_input=‘metti tivvu uno’, wakeword_id=‘jarvis’, lang=None)
[WARNING:2020-12-24 12:22:30,233] rhasspyserver_hermes: Dialogue management is disabled. ASR will NOT be automatically enabled.
[DEBUG:2020-12-24 12:22:30,232] rhasspyserver_hermes: <- HotwordDetected(model_id=‘jarvis’, model_version=’’, model_type=‘personal’, current_sensitivity=0.5, site_id=‘satellite1’, session_id=None, send_audio_captured=None, lang=None)

Does no one have the same issue?

This is one of the drawbacks of a limited language model. The STT service can only recognize words it knows and will select the best matching ones (even against noise) and the NLU will do what it can with the result.

The « none » intent is a complex matter. I made tests with Rhasspy and Snips and both struggled with this issue.

Using STT word confidence may help by substituting low confidence words with a word to lower the NLU intent confidence.

1 Like

Is there a way to change the “confidence” in the settings?