Neue Standardregel p2t (GLM/Cloud wird nicht mehr benutzt):
- pix2text liest zuerst; übernommen wird immer seine Lesart, wenn Qwen sie
bestätigt oder – nur bei Uneinigkeit gefragt – Gemma. Qwen = Gemma gegen
pix2text geht an einen Menschen. Schlusspunkt muss bestätigt sein; Bild-Veto
und Pandoc auf pix2texts Lesart. Alte Regel als consensus_rule=vlm3 wählbar.
- pix2text auf der GPU (onnxruntime-gpu, FORMULA_P2T_DEVICE=auto/cpu/cuda:N)
- Ausgabe bereinigt: post_process aus pix2tex, Fettschreibweisen \boldmath/\bf
-> \boldsymbol/\mathbf; an 400 Lesarten gleiches gesetztes Bild
- Normalform: \mathop, \begin{array}[t]
- calibrate: --engines, Regel-Tabelle, --reuse; wahre Formeln aus dem alt-Text
bereinigt (aligned, \mathop{}\!, upgreek)
- tools/zeittest.py, tools/regeltest.py (--reuse, --exclude)
Messung: Göllmann Band 1 (2 x 150) 86 % / 85 % automatisch, 0 falsch
(bisher 78 % / 70 %); Band 2, zwei Stichproben zu 50: 78 % und 86 %, 0 falsch.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4.3 KiB
4.3 KiB
Changelog
0.3.0 – 2026-10-09
Neue Standardregel p2t: pix2text liest zuerst, Qwen bestätigt, Gemma nur bei Uneinigkeit; GLM (Cloud)
wird nicht mehr benutzt.
- pix2text (Formel-OCR MFR 1.5, ONNX) als Engine
p2t, im Prozess, auf der GPU mitonnxruntime-gpu(FORMULA_P2T_DEVICE:auto,cpu,cuda:N). Allein am häufigsten richtig (Göllmann Band 1: 90 % / 85 %) und am schnellsten (0,1 s/Formel auf der GPU, Qwen 0,7 s, Gemma 1,8 s). - Regel: übernommen wird immer pix2texts Lesart (trifft den Fettdruck am besten), wenn Qwen sie
bestätigt oder – nur bei Uneinigkeit gefragt – Gemma. Qwen und Gemma gemeinsam gegen pix2text gehen
an einen Menschen (so kamen an Band 1 die gemeinsamen Fehler der beiden Bildmodelle durch). Der
Schlusspunkt muss bestätigt sein. Bild-Veto und Pandoc wie bisher, geprüft auf pix2texts Lesart.
Die alte Regel bleibt als
"consensus_rule": "vlm3"inworkspace.jsonwählbar. - pix2text-Ausgabe bereinigt: Leerzeichen mit
post_processaus pix2tex (installiert mit--no-deps), Fettschreibweisen\mathrm{\boldmath~ x ~}/\mathrm{\bf~ r o t}→\boldsymbol{x}/\mathbf{rot}. An 400 Lesarten geprüft: gleiches gesetztes Bild. - Normalform:
\operatorname{l i m}=\lim,\ddot{u}in Text = ü,^{\prime}=', abschließendes\\vor\end,\begin{array}[t],\mathop{…}. - calibrate: beliebig viele Engines (
--engines), Regel-Tabelle,--reuserechnet aus einem früheren Bericht ohne Modellabfragen; wahre Formeln aus dem alt-Text werden bereinigt (einzeiligesaligned,\mathop{}\!\mathrm{d}, upgreek). - Werkzeuge:
tools/zeittest.py(Zeit und Trefferquote je Tool),tools/regeltest.py(Standardregel an Formeln mit bekanntem TeX, Seite zum Mitbeurteilen;--reuse,--exclude). - Messung: Göllmann Band 1 (2 × 150) 86 % / 85 % automatisch, 0 falsch (bisher 78 % / 70 %); Band 2, zwei frische Stichproben zu 50: 78 % und 86 % automatisch, 0 falsch.
0.2.0 – 2026-10-07
Entscheider ist jetzt der Konsens dreier Bildmodelle statt eines Pixelvergleichs.
- Annahmeregel: jedes Zeichen richtig und an der richtigen Stelle; Abstände, Längen, Schriftgröße, kursiv/aufrecht und Fettdruck egal.
- Konsens: Qwen3-VL-30B-A3B (lokal) = Gemma-4-26B-A4B (lokal) = GLM-4.6V (OpenRouter, andere Modellfamilie); Pandoc muss die Formel umsetzen; grobes Bild-Veto (elastischer Vergleich, Ähnlichkeit ≥ 0,65). Bei 2:1 entscheidet ein Mensch.
consensus.py: Normalform auf Baumbasis (Abstände,\left/\right, freistehende Klammern,\vec/\overrightarrow,\frac/\dfrac,\iff/\Leftrightarrow, Matrix-Umgebungen, TeX-Umlaute,\atop/\substack, kursiv/aufrecht, fett/normal) und Render-Gleichheit als Rückfallebene.- Engines: zweite lokale Engine
local2; Token-Wahrscheinlichkeiten aus Logprobs; Nachdenken abgeschaltet (Gemma ~10× schneller, GLM besser und ~25× billiger); Antworten auf 800 Tokens begrenzt; Prompt fragt ausdrücklich nach Fettdruck; Prompt-Version und Nachdenk-Einstellung im Cache-Schlüssel. run: in Paketen zu 50 mit Statuszeile; beide lokalen Modelle parallel; GLM nur für Einige; geprüft wird nur die übernommene Lesart; Prüfergebnisse mit Verfahrensversion.- Bildvergleich: elastische Ausrichtung (DTW über Spalten und Zeilen, Dehnen kostet proportional zur
Tinte); layouttreue Prüfvarianten und rauschnormierter Kontrast im Pixel-Modus (
decide=pixel). - apply: deutsches Dezimalkomma
3{,}6. - Behoben: Gleichungsnummern wurden aus alten, verworfenen Lesarten übernommen (erfundene „(3.7)“); sie kommen jetzt nur aus der übernommenen Lesart. Gleichzeitige Speicherungen zweier Engines sind abgesichert. Verify stürzte bei Formeln ohne aktuelle Lesart ab.
- Werkzeuge:
calibrate --consensus,tools/vergleich.py(50er-Stichprobe mit Bildern),tools/konsens_bericht.py; Ausgaben invergleich/(nicht versioniert). - Messung (2 × 150 Formeln mit bekanntem TeX): 63–68 % automatisch, 0 falsch. Gehrke-Brückenkurs: 942 von 1505 automatisch (63 %), 62 von 62 geprüften korrekt.
0.1.0 – 2026-10-07
Erste Fassung: scan, recognize (ein Vision-Modell), verify mit Pixelvergleich und Kontrasttest gegen Verwechslungsvarianten, Review-Galerie, apply/revert, calibrate. Sicher (0 Falsch-Annahmen), aber an echten Büchern nur 1–2 % automatisch.