Unmatched トレーニング プラグイン (1_collect_unmatched_training)¶
## 目的
このプラグインは、認識されない音声入力を自動的に収集し、追加します。 ファジーマップ正規表現の新しいバリアントとして。これにより、システムが「自己訓練」できるようになります。 比類のない認識結果から学習することで、時間をかけて学習します。
仕組み¶
他のルールが一致しない場合、
COLLECT_UNMATCHEDキャッチオール ルールが起動します。collect_unmatched.pyは、一致したテキストを使用してon_match_exec経由で呼び出されます。呼び出し元の
FUZZY_MAP_pre.py内の正規表現は自動的に拡張されます。
## 使用法
このキャッチオール ルールをトレーニングしたい FUZZY_MAP_pre.py の最後に追加します。
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']}),
#################################################
]
ラベル f'{str(__file__)}' は、collect_unmatched.pyに正確にそれを伝えます。FUZZY_MAP_pre.py` を更新してください。そのため、ルールはどのプラグインにも移植可能です。
プラグインを無効にする¶
十分なトレーニング データを収集したら、次のいずれかの方法で無効にします。
キャッチオール ルールをコメントアウトする
フォルダの名前を無効な名前に変更する(スペースを追加するなど)
mapsディレクトリからプラグイン フォルダーを削除する
ファイル構造¶
1_collect_unmatched_training/
├── collect_unmatched.py # Plugin logic, called by engine
└── de-DE/
└── FUZZY_MAP_pre.py # Example with catch-all rule
## 注記
プラグインは実行時に FUZZY_MAP_pre.py を変更します。更新されたものをコミットする
定期的にファイルを作成して、収集したトレーニング データを保存します。