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

  1. Die Catch-All-Regel „COLLECT_UNMATCHED“ wird ausgelöst, wenn keine andere Regel übereinstimmt.

  2. „collect_unmatched.py“ wird über „on_match_exec“ mit dem passenden Text aufgerufen.

  3. 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.