Mycroft-core: "Sagen" löst immer Sprechfertigkeit aus

Erstellt am 2. Aug. 2016  ·  4Kommentare  ·  Quelle: MycroftAI/mycroft-core

"Hey Mycroft, was sagt Wikipedia über Abraham Lincoln"

Mycroft antwortet: "Über Abraham Lincoln"

Bug - complex

Alle 4 Kommentare

Ich würde dies als Problem mit adapt ansehen. Stattdessen sollte es wahrscheinlich eine Konfidenz jeder Übereinstimmung basierend auf der Länge der Regex zurückgeben, sodass what does wikepedia say immer say überschreiben würde.

Genau; Letztes Jahr habe ich versucht, ein Mycroft-ähnliches Intent-Parsing-System (auch in Python) für eine relativ kleine Anzahl von Operationen zu erstellen und diese Gewichtung aus dem gleichen Grund zu den Match-Konfidenzen hinzugefügt.
Es funktionierte gut, obwohl ich die Übereinstimmungen auch danach gewichtete, wie nah sie am Anfang des Satzes waren (oder tatsächlich basierend darauf, wo der nächste Satz ungeparster Wörter von den empfangenen Wörtern begann). Jede Fertigkeit würde ihre Phrase behandeln und alle übrig gebliebenen Wörter am Ende zurückgeben, um sie bei Bedarf erneut zu analysieren, insbesondere wenn sie beispielsweise Teil einer Unterklausel waren, die durch getrennt wurde. „und“ oder „dann“.

Hinweis: Ich habe versucht, jedem "Fähigkeits"-Wortsatz "klingt wie" Wortlisten hinzuzufügen, die das TTS manchmal als Alternative zurückgibt, um die Übereinstimmungsraten zu verbessern, dann eine beste Übereinstimmung durchzuführen und die Konfidenz entsprechend anteilig zu bewerten, aber es wurde trotz des begrenzten Funktionsumfangs zu schwierig, um alle anerkannten Versionen zu berücksichtigen, die als Freizeitprojekt zurückgegeben wurden.

Adapt liefert Parse-Ergebnisse in der Reihenfolge der "größten Abdeckung der Äußerung", was nicht unbedingt der Reihenfolge der höchsten Konfidenz entspricht. Bei der Berechnung der Konfidenz werden Regexes basierend auf ihrer Ungenauigkeit niedriger gewichtet, und alle Übereinstimmungen (Regex- oder Entitätsliteral) weisen eine Konfidenz basierend auf dem Prozentsatz der dargestellten Äußerung auf. Die neueste Version von Adapt (v0.3.0) wird optional die Vertrauenswürdigkeit der einzelnen Tags innerhalb eines Analyseergebnisses offenlegen.

{u'ArticleTitle': u'say about foobar', 'intent_type': u'WikipediaIntent', 'confidence': 0.375, 'target': None, u'WikipediaKeyword': u'wikipedia'}

Wenn ich dies in einem Debugger durchgehe, kann ich sehen, dass das 4. oder 5. Parse-Ergebnis, das von adapt erhalten wird, tatsächlich eine höhere Konfidenz hat als die Sprechabsicht und die Wikipedia-Absicht auslöst. Das Analyseergebnis ist Müll (Abfrage: sagen wir über Abraham Lincoln), aber Adapt ist nicht sehr gut darin, Freitextsuchanfragen aus natürlichsprachlichem Text zu parsen. Regexes sind hier zwar ein notwendiges Übel, aber sie wurden ziemlich stark missbraucht, und je mehr Fähigkeiten sie verwenden, desto höher ist die Wahrscheinlichkeit von Kollisionen wie dieser.

Zumindest bei mir wurde dieser Fehler behoben von https://github.com/MycroftAI/mycroft-core/commit/4d6defd126c0a0b091718f8e15f8b033a84f9aa1

Dieser Fehler scheint behoben zu sein.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen