비교할 수 없는 교육 플러그인(1_collect_unmatched_training)

목적

이 플러그인은 인식되지 않은 음성 입력을 자동으로 수집하여 추가합니다. 퍼지 맵 정규식의 새로운 변형입니다. 이를 통해 시스템은 “자체 훈련”을 할 수 있습니다. 시간이 지남에 따라 비교할 수 없는 인식 결과를 통해 학습합니다.

작동 방식

  1. COLLECT_UNMATCHED 포괄 규칙은 일치하는 다른 규칙이 없을 때 실행됩니다.

  2. collect_unmatched.py는 일치하는 텍스트와 함께 on_match_exec를 통해 호출됩니다.

  3. 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를 수정합니다. 업데이트된 커밋 수집된 훈련 데이터를 보존하기 위해 정기적으로 파일을 제출하세요.