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
|
|
@ -12,7 +12,9 @@ import time
|
|||
import urllib.error
|
||||
import urllib.request
|
||||
|
||||
from aenderungen import REVIEW_MARK, print_summary, report_path, write_report
|
||||
from aenderungen import (
|
||||
REVIEW_MARK, glossary_words, print_summary, report_path, write_report,
|
||||
)
|
||||
from extract_text import fetch_text
|
||||
from vtt2txt import (
|
||||
add_time_options, join_segments, range_argv, resolve_time_ranges, split_segments,
|
||||
|
|
@ -616,6 +618,9 @@ def main():
|
|||
).split("\n")
|
||||
segments = [(header, body) for (header, _), body in zip(segments, bodies)]
|
||||
|
||||
# What the model gets; only its own changes against this count as suspect
|
||||
model_text = join_segments(segments)
|
||||
|
||||
blocks = [(header, split_chunks(body)) for header, body in segments]
|
||||
total = sum(len(chunks) for _, chunks in blocks)
|
||||
|
||||
|
|
@ -672,7 +677,10 @@ def main():
|
|||
|
||||
if not args.kein_bericht:
|
||||
report = report_path(target)
|
||||
comparison = write_report(raw_text, text, report, target.name)
|
||||
comparison = write_report(
|
||||
raw_text, text, report, target.name, model_input=model_text,
|
||||
known=glossary_words(terms, replacements), lang=lang,
|
||||
)
|
||||
print_summary(comparison)
|
||||
print(f"Bericht: {report}")
|
||||
|
||||
|
|
@ -680,6 +688,8 @@ def main():
|
|||
print(f"\n{len(warnings)} Abschnitt(e) mit auffälliger Wortzahl:")
|
||||
for message in warnings:
|
||||
print(f"- {message}")
|
||||
if not args.kein_bericht and comparison.suspects:
|
||||
print(f"\n{len(comparison.suspects)} Stelle(n) zu prüfen, siehe {report}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
|||
Loading…
Reference in a new issue