Unmatched Training Plugin (1_collect_unmatched_training)¶
Zweck¶
Dieses Plugin sammelt automatisch unerkannte Spracheingaben und fügt diese hinzu als neue Varianten des Fuzzy-Map-Regex. Dadurch kann sich das System „selbst trainieren“ im Laufe der Zeit durch Lernen aus unübertroffenen Erkennungsergebnissen.
Wie es funktioniert¶
Die Catch-All-Regel „COLLECT_UNMATCHED“ wird ausgelöst, wenn keine andere Regel übereinstimmt.
„collect_unmatched.py“ wird über „on_match_exec“ mit dem passenden Text aufgerufen.
Der reguläre Ausdruck im aufrufenden „FUZZY_MAP_pre.py“ wird automatisch erweitert.
Nutzung¶
Fügen Sie diese Sammelregel am Ende jeder „FUZZY_MAP_pre.py“ hinzu, die Sie trainieren möchten:
from scripts.py.func.get_project_root import get_aura_project_root
from pathlib import Path
import os
SL5NET_AURA_PROJECT_ROOT = get_aura_project_root()
FUZZY_MAP_pre = [
# 1. Your rule to optimize (result first!)
('Blumen orchestrieren',
r'^(Blumen giesen|Blumen gessen|Blumen essen)$', 100,
{'command_flags': re.IGNORECASE}
),
#################################################
# 2. Activate this rule (place it after the rule you want to optimize)
(f'{str(__file__)}', r'^(.*)$', 10,
{'on_match_exec': [SL5NET_AURA_PROJECT_ROOT / 'config' / 'maps' / 'plugins' / '1_collect_unmatched_training' / 'collect_unmatched.py']}),
#################################################
]
Die Bezeichnung „f’{str(file)}“ sagt „collect_unmatched.py“ genau, welche „FUZZY_MAP_pre.py“ zum Aktualisieren – damit die Regel auf jedes Plugin übertragbar ist.
Deaktivieren des Plugins¶
Wenn Sie genügend Trainingsdaten gesammelt haben, deaktivieren Sie sie folgendermaßen:
Auskommentieren der Catch-All-Regel
Den Ordner mit einem ungültigen Namen umbenennen (z. B. ein Leerzeichen hinzufügen)
Entfernen des Plugin-Ordners aus dem Verzeichnis „maps“.
Dateistruktur¶
1_collect_unmatched_training/
├── collect_unmatched.py # Plugin logic, called by engine
└── de-DE/
└── FUZZY_MAP_pre.py # Example with catch-all rule
Notiz¶
Das Plugin ändert „FUZZY_MAP_pre.py“ zur Laufzeit. Übernehmen Sie die Aktualisierung Führen Sie regelmäßig eine Datei durch, um die gesammelten Trainingsdaten aufzubewahren.