feat: Änderungsbericht listet eigenmächtige Modelländerungen „Zu prüfen“
Verglichen wird der Text nach den Glossar-Ersetzungen mit dem Ergebnis des Modells. Gemeldet werden ersetzte gültige Wörter (Systemwortliste /usr/share/dict/ngerman bzw. american-english), stark veränderte, eingefügte und gestrichene Wörter; Hörfehler-Korrekturen, reine Zusammen-/Getrennt- schreibung, Füllwörter und Glossarwörter nicht. Eigener Abschnitt im HTML-Bericht, Rahmen im Text, Liste in der Konsole. aenderungen.py versteht dafür -g und -l. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5a59baef88
commit
82ce30ca72
1 changed files with 389 additions and 14 deletions
39
README.md
39
README.md
|
|
@ -25,6 +25,9 @@ Die Werkzeuge sind einzeln oder hintereinander nutzbar:
|
|||
(`ollama pull qwen3:32b`)
|
||||
`abschrift_korrigieren.py` und `glossar_vorschlag.py` prüfen beides vor dem Start und
|
||||
brechen sonst mit einem Hinweis ab (`sudo systemctl start ollama` bzw. `ollama pull …`)
|
||||
- für den Änderungsbericht eine Wortliste: `/usr/share/dict/ngerman` (Paket `wngerman`),
|
||||
für englische Beiträge `/usr/share/dict/american-english` (Paket `wamerican`).
|
||||
Fehlt sie, gibt es einen Hinweis und die Prüfung „gültiges Wort ersetzt“ entfällt
|
||||
|
||||
Für gute Geschwindigkeit muss das Modell komplett in den Grafikspeicher passen.
|
||||
Mit `OLLAMA_NUM_PARALLEL=1` braucht `qwen3:32b` bei 16k Kontext rund 24 GB
|
||||
|
|
@ -272,19 +275,43 @@ Jeder Lauf von `abschrift_korrigieren.py` schreibt neben die Ausgabe
|
|||
`<Name>.aenderungen.html` (aus `rede.korrigiert.txt` wird `rede.aenderungen.html`)
|
||||
und zeigt die häufigsten Änderungen in der Konsole. Der Bericht enthält:
|
||||
|
||||
- **Zu prüfen:** eigenmächtige Änderungen des Modells, die den Sinn ändern können,
|
||||
mit Grund und Zusammenhang (siehe unten),
|
||||
- alle Änderungen nach Häufigkeit (`gedeiliche → gedeihliche`, `∅ → ist` für Einfügungen),
|
||||
- den korrigierten Text mit seinen Absätzen: ersetzte Wörter gelb mit dem Original
|
||||
dahinter, Einfügungen grün, Streichungen rot durchgestrichen, `[prüfen: …]` orange.
|
||||
dahinter, Einfügungen grün, Streichungen rot durchgestrichen, `[prüfen: …]` orange,
|
||||
Stellen „zu prüfen“ rot umrahmt (gestrichene als ⚠, Grund beim Darüberfahren).
|
||||
|
||||
Nicht markiert werden Groß-/Kleinschreibung, Satzzeichen (auch eingefügte
|
||||
Gedankenstriche) und Schreibweisen wie „z.B.“ → „z. B.“. So bleiben die Wortänderungen
|
||||
übrig, die man prüfen sollte, gerade eigenmächtige wie „gedeiliche“ → „geregelte“.
|
||||
|
||||
Für vorhandene Dateien gibt es das eigene Skript:
|
||||
### Zu prüfen
|
||||
|
||||
Verglichen wird hier der Text, den das Modell bekommen hat (nach den festen
|
||||
Ersetzungen des Glossars), mit seinem Ergebnis. Gemeldet werden:
|
||||
|
||||
| Grund | Beispiel |
|
||||
|---|---|
|
||||
| gültiges Wort ersetzt | „Professor“ → „Professorin“, „unterschreiben“ → „unterscheiden“ (das alte Wort steht in der Wortliste, war also kein Hörfehler) |
|
||||
| stark verändert | „CT1“ → „ZDF“ (Ähnlichkeit unter 60 %) |
|
||||
| eingefügt | „∅“ → „ist“ |
|
||||
| gestrichen | „Sicherungskonzepte geht“ → „∅“ (Füllwörter wie „äh“ nicht) |
|
||||
|
||||
Nicht gemeldet werden Hörfehler-Korrekturen, die ähnlich bleiben
|
||||
(„Gradwanderung“ → „Gratwanderung“), reine Zusammen-, Getrennt- und
|
||||
Bindestrich-Schreibung („Clan Kriminalität“ → „Clankriminalität“) und neue Wörter,
|
||||
die im Glossar stehen. Die Liste erscheint auch in der Konsole. Kleine
|
||||
Grammatik-Korrekturen wie „das“ → „dass“ tauchen ebenfalls auf; ein Blick genügt.
|
||||
|
||||
Für vorhandene Dateien gibt es das eigene Skript. Mit denselben Glossaren wie bei
|
||||
der Korrektur gelten deren Ersetzungen und Begriffe nicht als verdächtig:
|
||||
|
||||
```bash
|
||||
./aenderungen.py -a rede.txt -b rede.korrigiert.txt # → rede.aenderungen.html
|
||||
./aenderungen.py -a rede.de.vtt -b rede.korrigiert.txt -o bericht.html
|
||||
./aenderungen.py -a rede.txt -b rede.korrigiert.txt -g krone-schmalz.glossar.txt -g rede.glossar.txt
|
||||
./aenderungen.py -a talk.txt -b talk.korrigiert.txt -l en # englische Wortliste
|
||||
```
|
||||
|
||||
## Glossar
|
||||
|
|
@ -386,7 +413,9 @@ unverändert, 3–10 Sätze), Zwischenspeicher/Fortsetzen und die Kommandozeile.
|
|||
`tests/test_glossar_vorschlag.py` prüft Filter (nur Funde im Text, keine bekannten),
|
||||
Ausgabeformat (gültiges Glossar, Unsicheres auskommentiert) und Zwischenspeicher.
|
||||
`tests/test_aenderungen.py` prüft den Wortvergleich (Satzzeichen, Groß-/Kleinschreibung
|
||||
und „z. B.“ zählen nicht) und den HTML-Bericht (vollständiger Text, Absätze, Escaping).
|
||||
und „z. B.“ zählen nicht), die Liste „Zu prüfen“ (Gründe, Ausnahmen, Glossar,
|
||||
fehlende Wortliste) und den HTML-Bericht (vollständiger Text, Absätze, Escaping).
|
||||
Die Tests nutzen eine kleine eigene Wortliste statt der des Systems.
|
||||
`tests/test_extract_text.py` prüft den Gesamtablauf URL → Text, Sprachwahl
|
||||
(Original-Audio, manuell vor automatisch) und Fehlerfälle.
|
||||
`tests/test_yt_untertitel.py` prüft Spurauswahl, Aufruf von `yt-dlp` und
|
||||
|
|
@ -418,7 +447,9 @@ Oben in `abschrift_korrigieren.py`:
|
|||
|
||||
- Das Modell ändert gelegentlich Wörter eigenmächtig, auch sinnverändernd
|
||||
(Magdeburg-Rede ohne Glossar: „Professor“ → „Professorin“, „gedeiliche“ →
|
||||
„geregelte“ statt „gedeihliche“). Stichproben lohnen sich; gefundene Fälle
|
||||
„geregelte“ statt „gedeihliche“). Die Liste „Zu prüfen“ im Bericht findet die
|
||||
meisten solcher Fälle, aber nicht alle: Ein falsch erkanntes Wort, das das Modell
|
||||
durch ein ähnliches, aber falsches ersetzt, fällt nicht auf. Gefundene Fälle
|
||||
gehören ins Glossar.
|
||||
- `qwen3:32b` ohne Denkmodus erkennt Hörfehler ohne Glossar nur teilweise und
|
||||
setzt kaum `[prüfen: …]`-Marken. Bekannte Fehler gehören deshalb ins Glossar.
|
||||
|
|
|
|||
Loading…
Reference in a new issue