MycroftAI / mycroft-core

Mycroft Core, the Mycroft Artificial Intelligence platform.
https://mycroft.ai
Apache License 2.0
6.53k stars 1.27k forks source link

Intent_failure is sent on the message bus even on a valid query and response #2490

Closed AIIX closed 4 years ago

AIIX commented 4 years ago

Intent_failure is being sent on the message bus even on a valid query and response. Branch: dev

2020-03-03 21:22:23.851 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "recognizer_loop:wakeword", "data": {"utterance": "hey mycroft", "session": "d4308ac6-0005-486f-a399-bec1ee9afe19"}, "context": {}}
2020-03-03 21:22:24.281 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "recognizer_loop:record_begin", "data": {}, "context": {}}
2020-03-03 21:22:24.320 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "mycroft.volume.duck", "data": {}, "context": {}}
2020-03-03 21:22:34.277 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "recognizer_loop:record_end", "data": {}, "context": {}}
2020-03-03 21:22:34.318 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "mycroft.volume.unduck", "data": {}, "context": {}}
2020-03-03 21:22:41.846 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "recognizer_loop:utterance", "data": {"utterances": ["how old is steve jobs"], "lang": "en-US", "session": "d4308ac6-0005-486f-a399-bec1ee9afe19"}, "context": {"client_name": "mycroft_listener", "ident": "1583232754.2725458-6062518786377171711"}}
2020-03-03 21:22:41.861 | DEBUG    | 24343 | 

// Intent failure even when the query was successful
mycroft.messagebus.service.event_handler:on_message:38 | {"type": "intent_failure", "data": {"utterance": "how old is steve jobs", "norm_utt": "how old is steve jobs", "lang": "en-US"}, "context": 

{"client_name": "mycroft_listener", "ident": "1583232754.2725458-6062518786377171711"}}
2020-03-03 21:22:41.868 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "mycroft.skill.handler.start", "data": {"handler": "fallback"}, "context": {"client_name": "mycroft_listener", "ident": "1583232754.2725458-6062518786377171711"}}
2020-03-03 21:22:41.873 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "skill-wikidata.aiix:how.old.is.person.intent", "data": {"person": "steve jobs", "utterance": "how old is steve jobs"}, "context": {"client_name": "mycroft_listener", "ident": "1583232754.2725458-6062518786377171711"}}
2020-03-03 21:22:41.876 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "active_skill_request", "data": {"skill_id": ""}, "context": {}}
2020-03-03 21:22:41.878 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "mycroft.skill.handler.complete", "data": {"handler": "fallback", "fallback_handler": "wrapper"}, "context": {"client_name": "mycroft_listener", "ident": "1583232754.2725458-6062518786377171711"}}
2020-03-03 21:22:41.883 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "mycroft.skill.handler.start", "data": {"name": "WikidataSkill.handle_wikidata_age_intent"}, "context": {"client_name": "mycroft_listener", "ident": "1583232754.2725458-6062518786377171711"}}
2020-03-03 21:22:45.490 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "speak", "data": {"utterance": "steve jobs is 65 years old", "expect_response": false}, "context": {"client_name": "mycroft_listener", "ident": "1583232754.2725458-6062518786377171711"}}
2020-03-03 21:22:45.492 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "gui.value.set", "data": {"personContext": "steve jobs", "answerData": "The age of steve jobs is 65", "imgLink": "https://upload.wikimedia.org/wikipedia/commons/f/f5/Steve_Jobs_Headshot_2010-CROP2.jpg", "__from": "skill-wikidata.aiix"}, "context": {}}
2020-03-03 21:22:45.493 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "gui.value.set", "data": {"personContext": "steve jobs", "answerData": "steve jobs is 65 years old", "imgLink": "https://upload.wikimedia.org/wikipedia/commons/f/f5/Steve_Jobs_Headshot_2010-CROP2.jpg", "__from": "skill-wikidata.aiix"}, "context": {}}
2020-03-03 21:22:45.494 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "gui.value.set", "data": {"personContext": "steve jobs", "answerData": "steve jobs is 65 years old", "imgLink": "https://upload.wikimedia.org/wikipedia/commons/f/f5/Steve_Jobs_Headshot_2010-CROP2.jpg", "__from": "skill-wikidata.aiix"}, "context": {}}
2020-03-03 21:22:45.495 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "gui.value.set", "data": {"personContext": "steve jobs", "answerData": "steve jobs is 65 years old", "imgLink": "https://upload.wikimedia.org/wikipedia/commons/f/f5/Steve_Jobs_Headshot_2010-CROP2.jpg", "__from": "skill-wikidata.aiix"}, "context": {}}
2020-03-03 21:22:45.496 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "gui.page.show", "data": {"page": ["file:///opt/mycroft/skills/skill-wikidata.aiix/ui/answer.qml"], "index": 0, "__from": "skill-wikidata.aiix", "__idle": 60}, "context": {}}
2020-03-03 21:22:45.497 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "mycroft.skill.handler.complete", "data": {"name": "WikidataSkill.handle_wikidata_age_intent"}, "context": {"client_name": "mycroft_listener", "ident": "1583232754.2725458-6062518786377171711"}}
2020-03-03 21:22:45.501 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "recognizer_loop:audio_output_start", "data": {}, "context": {}}
2020-03-03 21:22:45.507 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "enclosure.mouth.viseme_list", "data": {"start": 1583232765.5060668, "visemes": [["3", 0.0775], ["3", 0.155], ["0", 0.2325], ["5", 0.31], ["3", 0.4185], ["0", 0.527], ["4", 0.6355], ["3", 0.744], ["0", 0.899], ["3", 1.054], ["3", 1.426], ["0", 1.488], ["0", 1.55], ["2", 1.612], ["3", 1.674], ["2", 1.8187], ["3", 1.9634], ["3", 2.1081]]}, "context": {}}
2020-03-03 21:22:47.746 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "recognizer_loop:audio_output_end", "data": {}, "context": {}}
2020-03-03 21:22:47.748 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "enclosure.eyes.blink", "data": {"side": "b"}, "context": {}}

Try to provide steps that we can use to replicate the Issue

forslund commented 4 years ago

intent_failure is sent when the intent service can't determine the intent using adapt or high confidence padatious match. The intent_failure is picked up by the fallback system so this is valid for the "how old is steve jobs" which is handled in the fallback-query skill.

If the fallback also fails it will emit complete_intent_failure

AIIX commented 4 years ago

intent_failure is sent when the intent service can't determine the intent using adapt or high confidence padatious match. The intent_failure is picked up by the fallback system so this is valid for the "how old is steve jobs" which is handled in the fallback-query skill.

If the fallback also fails it will emit complete_intent_failure

The skill that is handling the response is the wikidata skill in the above request not the fallback-query.

From debug above:

2020-03-03 21:22:41.883 | DEBUG    | 24343 | mycroft.messagebus.service.event_handler:on_message:38 | {"type": "mycroft.skill.handler.start", "data": {"name": "WikidataSkill.handle_wikidata_age_intent"}, "context": {"client_name": "mycroft_listener", "ident": "1583232754.2725458-6062518786377171711"}}

It also seems that complete_intent_failure is not sent most of the times on failed query after falling back to fallback-unknown skill. Test: "Hey mycroft, mouse" or (any random single english word)

forslund commented 4 years ago

Complete intent failure is mainly sent when no skill at all not even fallback unknown able to catch the response. it will trigger the "please wait while I finish booting up" dialog

Seems like the wiki-data skill uses padatious intents and it's likely it doesn't get the high confidence score needed for direct matching so it's handled by the fallback system.

forslund commented 4 years ago

I'm closing this issue now, feel free to reopen if I'm mistaken.