10d0a6ba94
Nested Cargo-Workspace unter experiments/ als Pfad-Dependency auf ../server. Reproduziert die Production-Pipeline 1:1 durch direkte Wiederverwendung der Server-Module (transcribe::whisper, analyze::llm, gazetteer, ffmpeg-Remux) — kein eigenes HTTP-Re-Implementieren, kein Drift-Risiko zur Live-Pipeline. Drei bin-Targets: - run_full_case: volle Pipeline (ffmpeg → whisper → pre-gazetteer → llm → post-gazetteer), n Runs einer Variante - run_llm_only: schneller LLM-Iterations-Pfad auf existierenden, gazetteer-bereinigten Transkripten — spart Whisper-Calls - diff_runs: qualitativer Vergleich zwischen zwei Run-Verzeichnissen Repo-Hygiene: case_*/ (Patientendaten, Symlinks zu tmpdata) und _data/ (Run-Outputs) sind komplett gitignored. Nur Code und fall-übergreifende Prompt-Hypothesen (prompts/) werden versioniert. Erste Prompt-Varianten zur Treue-Klausel und Konflikt-Auflösung: prompts/llm/v1_treue.txt, v2_treue.txt.
30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
# Whisper Hotwords — handle with extreme care
|
|
|
|
Whisper-Hotwords bias'en das ASR-Modell aggressiv. Ein Hotword, das in
|
|
einem konkreten Fall hilft, kann in einem unverwandten Diktat dazu
|
|
führen, dass das Modell den Begriff aus phonetischer Ähnlichkeit
|
|
**halluziniert** (orthopädischer Befund schreibt plötzlich
|
|
„Holosystolikum").
|
|
|
|
## Bevorzugter Korrekturpfad
|
|
|
|
`server/vocab/*.txt` (Gazetteer, edit-distance ≤ 2 mit Dict-Veto).
|
|
Strukturell halluzinationsfrei, weil Korrekturen nur greifen, wenn
|
|
Whisper bereits ein Token erzeugt hat, das phonetisch nah am
|
|
Vocabulary-Eintrag liegt.
|
|
|
|
## Wenn überhaupt Hotwords
|
|
|
|
- Nur generische Termini aus einem breiten Fall-Korpus
|
|
- Nicht aus einem einzelnen Test-Fall heraus optimiert (Curve-Fitting)
|
|
- Vor Aktivierung: Negativ-Kontrolle gegen Diktate aus mehreren
|
|
Fachbereichen — sucht das Modell nach Halluzinationen, die nur durch
|
|
den Hotword-Bias entstehen?
|
|
|
|
## Datei-Konvention
|
|
|
|
Hotword-Files in diesem Verzeichnis enthalten **ausschließlich
|
|
whitespace-separierte Termini** (kein Markdown, keine Kommentare),
|
|
weil der gesamte File-Inhalt 1:1 als `hotwords`-Form-Field an die
|
|
Whisper-API gesendet wird.
|