docs: README und Bedienungsanleitung auf den Stand nach der Testdaten-Umstellung
- Beispiele schreiben nicht mehr nach testdaten/ (jetzt nur für lokale echte Reden), das glossar_vorschlag-Beispiel läuft auch im frischen Klon. - Bedienungsanleitung: Ausprobieren mit der Beispielrede (gemessen: 2:32 Minuten mit qwen3:32b), Beispielglossar, Namensregel des Prompts. - README: Namensregel im Ablauf, Testbeschreibung mit Beispielrede, übersprungenen Rede-Tests, Handarbeitsschutz, Wortformen, Bereichshinweis. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
93fb99eda2
commit
3be1ff8058
2 changed files with 51 additions and 26 deletions
|
|
@ -149,6 +149,16 @@ Mit eigenem Dateinamen:
|
|||
# → lahnstein.korrigiert.txt, lahnstein.txt (Rohtext), lahnstein.aenderungen.html
|
||||
```
|
||||
|
||||
**Ausprobieren ohne YouTube:** Im Ordner `tests/daten/` liegt eine frei erfundene
|
||||
Beispielrede (Festrede zum Jubiläum der Gemeinde „Auental“) mit typischen Hörfehlern
|
||||
und einem passenden Glossar. Ein Lauf dauert etwa zwei bis drei Minuten und zeigt alle
|
||||
Ergebnisse, auch den Änderungsbericht:
|
||||
|
||||
```bash
|
||||
./abschrift_korrigieren.py -i tests/daten/beispiel.de.txt -g tests/daten/beispiel.glossar.txt -o beispiel.korrigiert.txt
|
||||
# → beispiel.korrigiert.txt, beispiel.aenderungen.html
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. Der Arbeitsablauf im Überblick
|
||||
|
|
@ -213,10 +223,10 @@ versteht `abschrift_korrigieren.py`.
|
|||
Soll die Original-Untertiteldatei (`.vtt`, mit Zeitstempeln) erhalten bleiben:
|
||||
|
||||
```bash
|
||||
./yt_untertitel.py -u 'https://www.youtube.com/watch?v=rm6lADgf6GQ' -n Lahnstein -d testdaten
|
||||
# → testdaten/Lahnstein.de-orig.vtt
|
||||
./vtt2txt.py -i testdaten/Lahnstein.de-orig.vtt
|
||||
# → testdaten/Lahnstein.de-orig.txt
|
||||
./yt_untertitel.py -u 'https://www.youtube.com/watch?v=rm6lADgf6GQ' -n Lahnstein -d untertitel
|
||||
# → untertitel/Lahnstein.de-orig.vtt
|
||||
./vtt2txt.py -i untertitel/Lahnstein.de-orig.vtt
|
||||
# → untertitel/Lahnstein.de-orig.txt
|
||||
```
|
||||
|
||||
Achtung: `yt_untertitel.py` nimmt ohne `-l` Deutsch (`de`), nicht die
|
||||
|
|
@ -295,7 +305,9 @@ Namen und Hörfehler) plus eines **je Beitrag**:
|
|||
Das gemeinsame Glossar zuerst angeben, damit seine Ersetzungen zuerst greifen.
|
||||
Im Programmordner liegen Beispiele: `krone-schmalz.glossar.txt` (gemeinsam),
|
||||
`ramstein.glossar.txt`, `magdeburg.glossar.txt`, `lahnstein.glossar.txt`
|
||||
(je eine Rede) und `iamfabian.glossar.txt` (Kanal über KI-Coding-Tools).
|
||||
(je eine Rede) und `iamfabian.glossar.txt` (Kanal über KI-Coding-Tools). Ein kleines,
|
||||
leicht nachvollziehbares Glossar zur Beispielrede steht in
|
||||
`tests/daten/beispiel.glossar.txt`.
|
||||
|
||||
### 6.3 Entwurf vom Modell: `glossar_vorschlag.py`
|
||||
|
||||
|
|
@ -365,7 +377,9 @@ Statt `-i rede.txt` geht auch `-i rede.de.vtt` (Untertiteldatei) oder
|
|||
4. **Korrektur:** Der Text wird in Abschnitte von etwa 1200 Wörtern geteilt, immer
|
||||
am Satzende, und Abschnitt für Abschnitt korrigiert. Abkürzungen wie „z. B.“,
|
||||
„Dr.“, „bzw.“ und Ordnungszahlen wie „2. Weltkrieg“ gelten dabei nicht als
|
||||
Satzende.
|
||||
Satzende. Das Modell ist angewiesen, nichts zu ergänzen, auch keine Vornamen oder
|
||||
Titel aus dem Glossar: Steht dort „Alexander Dobrindt“, bleibt ein gesagtes
|
||||
„Dobrindt“ trotzdem „Dobrindt“.
|
||||
5. **Wortzahl-Prüfung:** Weicht die Wortzahl eines Abschnitts um mehr als 5 % ab,
|
||||
warnt das Programm (das Modell könnte etwas ausgelassen oder ergänzt haben).
|
||||
6. **Absätze:** Das Modell nennt die Sätze, mit denen ein neuer Absatz beginnt; der
|
||||
|
|
|
|||
51
README.md
51
README.md
|
|
@ -58,9 +58,9 @@ Oder in zwei Schritten, um den Rohtext vorher anzusehen:
|
|||
Dasselbe in Einzelschritten, wenn die VTT-Datei erhalten bleiben soll:
|
||||
|
||||
```bash
|
||||
./yt_untertitel.py -u 'https://www.youtube.com/watch?v=rm6lADgf6GQ' -n Lahnstein -d testdaten
|
||||
./vtt2txt.py -i testdaten/Lahnstein.de-orig.vtt
|
||||
./abschrift_korrigieren.py -i testdaten/Lahnstein.de-orig.txt
|
||||
./yt_untertitel.py -u 'https://www.youtube.com/watch?v=rm6lADgf6GQ' -n Lahnstein -d untertitel
|
||||
./vtt2txt.py -i untertitel/Lahnstein.de-orig.vtt
|
||||
./abschrift_korrigieren.py -i untertitel/Lahnstein.de-orig.txt
|
||||
```
|
||||
|
||||
Der Schritt über `vtt2txt.py` ist optional: `abschrift_korrigieren.py` nimmt auch die
|
||||
|
|
@ -76,7 +76,7 @@ Zwischenschritt im temporären Verzeichnis. Die Spurwahl ist dieselbe wie bei
|
|||
```bash
|
||||
./extract_text.py -u 'https://www.youtube.com/watch?v=0LmCveTM788'
|
||||
# → John_Mearsheimer_Offensive_Realism_Episode_1_Origins_of_the_War_In_Ukraine_2026-07-30.txt
|
||||
./extract_text.py -u URL -l de -o testdaten/rede.txt # Sprache und Ziel
|
||||
./extract_text.py -u URL -l de -o texte/rede.txt # Sprache und Ziel
|
||||
./extract_text.py -u URL -f -o rede.txt # lesbarer Fließtext
|
||||
./extract_text.py -u URL -z 0:03:17-0:05:25 # nur ein Ausschnitt
|
||||
./extract_text.py -u URL -z 00:05-00:06 00:10-00:12 00:25 # mehrere Bereiche
|
||||
|
|
@ -131,7 +131,7 @@ Region gefunden: `-l en` findet manuelle Untertitel `en-US`.
|
|||
|
||||
```bash
|
||||
./yt_untertitel.py -u URL # → <Kanal>_<Titel>_<Datum>.de-orig.vtt
|
||||
./yt_untertitel.py -u URL -n Lahnstein -d testdaten # → testdaten/Lahnstein.de-orig.vtt
|
||||
./yt_untertitel.py -u URL -n Lahnstein -d untertitel # → untertitel/Lahnstein.de-orig.vtt
|
||||
```
|
||||
|
||||
| Option | Bedeutung |
|
||||
|
|
@ -274,7 +274,9 @@ Blöcken korrigiert.
|
|||
3. **Korrektur:** Der Text wird in Abschnitte von ca. 1200 Wörtern geteilt (immer
|
||||
am Satzende; Abkürzungen wie „z. B.“, „Dr.“, „bzw.“ und Ordnungszahlen wie
|
||||
„2. Weltkrieg“ zählen nicht als Satzende) und abschnittsweise vom Modell
|
||||
korrigiert. Fortschritt wird live angezeigt.
|
||||
korrigiert. Fortschritt wird live angezeigt. Der Prompt verbietet Ergänzungen,
|
||||
ausdrücklich auch Vornamen, Titel oder Namensteile aus dem Glossar, die nicht
|
||||
gesagt wurden (sonst wurde aus „Dobrindt“ gern „Alexander Dobrindt“).
|
||||
4. **Wortzahl-Prüfung:** Weicht die Wortzahl eines Abschnitts um mehr als 5 % ab,
|
||||
gibt es eine Warnung (mögliche Auslassungen oder Ergänzungen).
|
||||
5. **Absätze:** Das Modell nennt nur Satznummern, an denen ein Absatz beginnt; der
|
||||
|
|
@ -396,9 +398,9 @@ erneut vorgeschlagen. Zeit-Überschriften von Ausschnitten
|
|||
Roh- und korrigiertem Text entfernt; das Modell bekommt sie nicht zu sehen.
|
||||
|
||||
```bash
|
||||
./glossar_vorschlag.py -i testdaten/Lahnstein.de-orig.txt \
|
||||
-k testdaten/Lahnstein.de-orig.korrigiert.txt -g krone-schmalz.glossar.txt
|
||||
# → testdaten/Lahnstein.de-orig.glossar.entwurf.txt
|
||||
./glossar_vorschlag.py -i rede.txt -k rede.korrigiert.txt -g krone-schmalz.glossar.txt
|
||||
# → rede.glossar.entwurf.txt
|
||||
./glossar_vorschlag.py -i tests/daten/beispiel.de.txt # an der Beispielrede ausprobieren
|
||||
```
|
||||
|
||||
| Option | Bedeutung |
|
||||
|
|
@ -446,27 +448,36 @@ Rede dauert mit `qwen3:32b` vollständig auf einer RTX 3090 etwa 6–8 Minuten.
|
|||
python3 -m pytest
|
||||
```
|
||||
|
||||
Die Tests (325, ohne die lokalen Reden 318) brauchen weder Ollama noch Netz: Modellaufrufe und `yt-dlp` werden
|
||||
durch Fakes ersetzt. `tests/test_abschrift_korrigieren.py` prüft Abschnittsbildung,
|
||||
Satzgrenzen (Abkürzungen und Ordnungszahlen sind kein Satzende), Glossar (inkl.
|
||||
„jede Ersetzung im Glossar einer Rede trifft diese Rede, jede im gemeinsamen Glossar
|
||||
trifft mindestens eine“), Streaming-Auswertung, Absatzgliederung (Text bleibt
|
||||
unverändert, 3–10 Sätze), Verbinden kurzer Absätze (Modell wird nur gefragt, wenn
|
||||
beide Nachbarn passen), Zwischenspeicher/Fortsetzen, Zeitauswahl, Sprachen und die
|
||||
Die Tests brauchen weder Ollama noch Netz: Modellaufrufe und `yt-dlp` werden durch
|
||||
Fakes ersetzt. Als Text dient die erfundene Beispielrede in `tests/daten/` (siehe
|
||||
[Testdaten](#testdaten)). In einem frischen Klon laufen 318 Tests, 7 werden
|
||||
übersprungen; sie prüfen die Glossare der echten Reden und laufen nur, wenn diese
|
||||
lokal in `testdaten/` liegen (dann 325).
|
||||
|
||||
`tests/test_abschrift_korrigieren.py` prüft Abschnittsbildung, Satzgrenzen
|
||||
(Abkürzungen und Ordnungszahlen sind kein Satzende), Glossar (jede Ersetzung des
|
||||
Beispielglossars trifft die Beispielrede; lokal zusätzlich: jede Ersetzung im
|
||||
Glossar einer Rede trifft diese Rede, jede im gemeinsamen Glossar mindestens eine),
|
||||
Prompts (keine Namensteile ergänzen), Streaming-Auswertung, Absatzgliederung (Text
|
||||
bleibt unverändert, 3–10 Sätze), Verbinden kurzer Absätze (Modell wird nur gefragt,
|
||||
wenn beide Nachbarn passen), Zwischenspeicher/Fortsetzen, Schutz von Handarbeit
|
||||
(`.neu.korrigiert.txt`, `--ueberschreiben`), Zeitauswahl, Sprachen 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), die Liste „Zu prüfen“ (Gründe, Ausnahmen, Glossar,
|
||||
fehlende Wortliste) und den HTML-Bericht (vollständiger Text, Absätze, Escaping).
|
||||
und „z. B.“ zählen nicht), die Liste „Zu prüfen“ (Gründe, Wortformen, Füllwörter je
|
||||
Sprache, Glossar-Schreibweisen, fehlende Wortliste) und den HTML-Bericht
|
||||
(vollständiger Text, Absätze, Escaping, Reihenfolge).
|
||||
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
|
||||
Fehlerfälle (ohne Netz, `yt-dlp` wird durch Fakes ersetzt).
|
||||
`tests/test_vtt2txt.py` prüft die VTT-Umwandlung: die Beispiel-`.vtt` (und lokal
|
||||
jede Rede in `testdaten/`) ergibt genau die zugehörige `.txt`, echte Wiederholungen bleiben erhalten, auch bei
|
||||
Untertiteln ohne rollendes Fenster, dazu Zeitauswahl, Muster, Ausgabeverzeichnis und
|
||||
jede Rede in `testdaten/`) ergibt genau die zugehörige `.txt`, echte Wiederholungen
|
||||
bleiben erhalten, auch bei Untertiteln ohne rollendes Fenster, dazu Zeitauswahl
|
||||
(mit Hinweis bei Bereichen über das Ende hinaus), Muster, Ausgabeverzeichnis und
|
||||
Fehlerfälle.
|
||||
|
||||
## Zwischenstände
|
||||
|
|
|
|||
Loading…
Reference in a new issue