mirror of
https://github.com/Jeuners/Logpy-AgentOne.git
synced 2026-09-09 15:02:33 +02:00
fix: bekannte Whisper-Halluzinationen filtern statt als Anliegen zu werten
"Untertitelung des ZDF, 2020" (Whisper-Trainingsdaten-Artefakt bei Stille/ sofortigem Auflegen) tauchte 5x identisch auf sehr kurzen Aufnahmen (1,7-4s) auf und wurde von der Kategorisierung als echtes Anliegen fehlinterpretiert. transcribe.py erkennt jetzt eine kleine Liste bekannter Whisper- Halluzinationsphrasen (ZDF/WDR/NDR/SWR-Untertitel-Boilerplate u.ae.) und leert den Text stattdessen. Dabei aufgefallen: categorize.kategorisiere() wirft bei leerem Transkript absichtlich einen Fehler - das griff bisher nie, weil Whisper nie leer zurueckkam. Ohne Fix waere jedes "Anrufer legt nach dem Signalton sofort auf" (normales, haeufiges Verhalten) jetzt als Kategorisierungs-Fehler nach telefon/fehler/ verschwunden statt auf dem Board zu erscheinen. process_call.verarbeite() faengt das jetzt ab und legt einen regulaeren "kein Anliegen hinterlassen"-Datensatz an (sonstiges/niedrig). Die 5 bereits gespeicherten ZDF-Fehleintraege in ablage/ wurden manuell nachkorrigiert (transkript/auswertung), Stapel-/Archiv-Status blieb unangetastet. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015vtvcyNkapuDh583643hNs
This commit is contained in:
parent
2e767f3737
commit
cc569d1ecb
2 changed files with 49 additions and 2 deletions
|
|
@ -28,7 +28,24 @@ def verarbeite(audio: str, anrufer_nummer: str | None = None,
|
|||
print(f" Text: {t.text[:160]}{'…' if len(t.text) > 160 else ''}")
|
||||
|
||||
print("▸ Kategorisiere …")
|
||||
auswertung = categorize.kategorisiere(t.text)
|
||||
if t.text.strip():
|
||||
auswertung = categorize.kategorisiere(t.text)
|
||||
else:
|
||||
# Kein Text erkannt: Anrufer hat nach dem Signalton nicht gesprochen
|
||||
# oder sofort aufgelegt (oder eine bekannte Whisper-Halluzination
|
||||
# wurde rausgefiltert, siehe transcribe._ist_bekannte_halluzination).
|
||||
# Das ist ein normaler, haeufiger Fall - kein Kategorisierungs-Fehler,
|
||||
# der die Aufnahme nach telefon/fehler/ verschwinden lassen sollte.
|
||||
print(" Kein Text erkannt - kein Anliegen hinterlassen.")
|
||||
auswertung = {
|
||||
"kategorie": "sonstiges", "dringlichkeit": "niedrig",
|
||||
"anrufer_name": None, "rueckrufnummer": None,
|
||||
"rueckruf_gewuenscht": False, "sprache": t.sprache or "de",
|
||||
"anliegen_kurz": "Kein Anliegen hinterlassen - Anrufer hat nach "
|
||||
"dem Signalton nicht gesprochen oder sofort "
|
||||
"aufgelegt.",
|
||||
"stichworte": [],
|
||||
}
|
||||
print(f" Kategorie: {auswertung['kategorie']} · Dringlichkeit: {auswertung['dringlichkeit']}")
|
||||
protokoll.schreibe(
|
||||
"notfall" if auswertung["dringlichkeit"] == "notfall" else "anruf",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue