BookTranslator
BookTranslator

OCR pentru text Fraktur: păstrează originalul înainte de modernizare

Folosește un experiment OCR Fraktur mic și reproductibil pentru a distinge erorile de recunoaștere de normalizarea caracterului s lung, înainte de a căuta sau traduce o carte veche.

BookTranslator

BookTranslator Team

10 min de citit

Pentru a efectua OCR pe text tipărit în Fraktur, alege un model compatibil cu acest stil, testează un pasaj scurt comparându-l cu pagina și decide dacă transcrierea ta ar trebui să păstreze caracterul s lung, ſ, sau să îl normalizeze la s. Păstrează transcrierea verificată a sursei separat de orice modernizare sau traducere. Un cuvânt cu un aspect mai familiar nu reprezintă neapărat o redare mai fidelă a textului tipărit.

Am testat două pasaje scurte, sintetice, în limba germană, folosind un font Fraktur și o variantă de control cu font modern. Chiar și pe aceste imagini clare, modelul Fraktur a schimbat iſt în ift într-un pasaj și în if în altul. Rezultatul util nu a fost un clasament al instrumentelor câștigătoare: a fost o demonstrație a faptului că recunoașterea caracterelor, alegerea unei convenții de transcriere și modernizarea limbii sunt trei sarcini diferite.

Acest ghid se adresează paginilor tipărite. Nu propune un flux de lucru pentru scrisul de mână Kurrent sau Sütterlin, manuscrise deteriorate sau colecții istorice complete.

Decide ce consideri corect înainte de a rula OCR-ul

Formulează o politică de transcriere într-o singură propoziție înainte de a compara instrumentele. De exemplu: „Păstrează ortografia sursei și caracterul s lung; marchează cuvintele pe care nu le pot verifica.” În caz contrar, riști să penalizezi o normalizare intenționată considerând-o eroare — sau să accepți o rescriere nedorită doar pentru că pare cursivă.

OCR-D oferă un exemplu concret pentru această distincție. Ghidul său pentru Nivelul 1 reprezintă atât s lung, cât și s rotund prin s; Nivelurile 2 și 3 le disting. Acestea sunt convenții de transcriere, nu o recomandare de a transforma fiecare grafie veche în echivalentul ei modern. Consultă regulile oficiale: Reguli pentru s de Nivelul 1 și Reguli pentru s de Nivelul 2/3.

Pentru un proiect personal de lectură, păstrează aceste rezultate separat:

RezultatExemplu din textul nostru didactic redactatLa ce folosește
Transcriere fidelă surseiDie rothe Blume ſteht hier.Verificarea caracterelor recunoscute în raport cu imaginea
Derivat cu s lung normalizatDie rothe Blume steht hier.Căutarea sau citirea fără distincția de s lung
Derivat modernizatDie rote Blume steht hier.O versiune editorială separată, cu modificări de ortografie

Al doilea rând schimbă doar ſ în s; acesta nu implementează toate regulile OCR-D Nivel 1. Al treilea rând modifică și ortografia sursei. Niciunul dintre derivate nu ar trebui să înlocuiască discret transcrierea fidelă sursei.

În special, nu înlocuiți la nivel global litera f cu s. Rezultatul OCR eronat conține ift, dar un f autentic poate apărea și el în sursă. Corectați cuvântul comparându-l cu imaginea, nu aplicând o regulă de substituție oarbă.

Ce s-a întâmplat în experimentul nostru cu opt rulări

Pe 11 septembrie 2026, am redat două pasaje didactice originale de trei rânduri în UnifrakturMaguntia și Noto Sans. Fiecare imagine a fost recunoscută cu două modele Tesseract fixe: modelul pentru scrierea Fraktur tessdata_best și modelul său pentru limba engleză. Configurația pentru engleză servește drept contrast, nu ca referință pentru germana modernă.

Toate cele opt apeluri au utilizat Tesseract 5.5.3, modul LSTM (--oem 1), un singur bloc de text (--psm 6) și 300 dpi. Nu am modificat setările, nu am exclus rezultate și nu am reîncercat recunoașterea în cadrul experimentului original. O reluare din 12 septembrie a împachetării acelorași opt imagini a reprodus octet cu octet rezultatele salvate.

Imaginile au fost randate autentic cu Apple CoreText și ligaturi activate, fără a fi desenate ca blocuri de caractere neconturate. Acestea folosesc text de 64 de pixeli pe o pânză albă de 2200 × 460. Imaginile, verificările numărului de glife, licențele fonturilor, hash-urile modelelor și rezultatele brute sunt disponibile în instrucțiunile pachetului experimental.

Fragment didactic original pe trei rânduri, randat în UnifrakturMaguntia, incluzând s lung și un rând de referințe la cărți, pagini și numere.

Chiar și un model specializat a necesitat corecții

Primul rând sursă a fost:

Das Waſſer iſt klar.

Pe imaginea cu font Fraktur, modelul Fraktur a returnat:

Das Waſſer ift klar.

Cea mai mare parte a rândului a fost recunoscută corect, dar ſ din iſt a devenit f. În al doilea fragment, Das Thal iſt weit. a devenit Das Thal if weit.: recunoașterea a modificat un caracter și a omis un altul. Faptul că rezultatul pare o germană plauzibilă la lectură nu înlocuiește verificarea textului original.

A existat o altă eroare în textul de control cu font modern. Modelul Fraktur a păstrat cuvintele din primul fragment, dar a transformat cele două punct și virgulă din Buch 12; Seite 27; Nummer 105. în două puncte. O verificare limitată doar la s lung ar fi omis aceste modificări de punctuație.

Ținta modifică scorul

Am evaluat fiecare rezultat brut în raport cu două ținte stabilite înainte de recunoaștere: textul sursă exact și textul sursă în care doar ſ → s. Ambele comparații normalizează caracterele Unicode la NFC și restrâng spațiile albe; acestea păstrează majusculele și punctuația. Nu convertim literele mari în mici în rezultatul brut înainte de evaluare.

Numerele de mai jos reprezintă distanțe de editare la nivel de caracter — inserții, ștergeri și substituiri — nu un procentaj de acuratețe.

FragmentFont randatModel OCRModificări față de sursa exactăModificări față de ținta normalizată doar pentru s lung
S lung și cifreFrakturFraktur16
S lung și cifreFrakturEngleză88
S lung și cifreNoto SansFraktur28
S lung și cifreNoto SansEngleză77
Ortografie cu aspect istoricFrakturFraktur24
Ortografie cu aspect istoricFrakturEngleză77
Ortografie cu aspect istoricNoto SansFraktur03
Ortografie cu aspect istoricNoto SansEngleză44

Valoarea zero dintr-un rând reprezintă o potrivire exactă pentru acel text scurt de intrare. Ea nu spune nimic despre pagina următoare a unei cărți reale. Dimpotrivă, un model care păstrează corect ſ primește diferențe suplimentare atunci când este comparat cu o țintă care impune s. Acele diferențe descriu o neconcordanță de reguli, nu neapărat o recunoaștere greșită a caracterelor.

Examinați toate rezultatele și scorurile originale, textele sursă fixe și politica de evaluaresau scriptul de verificare. Pachetul înregistrează hash-uri SHA-256, astfel încât modelul, imaginea și rezultatul să poată fi corelate cu fiecare scor.

Ce nu vă poate spune acest experiment

Acestea sunt două pasaje sintetice, clare, cu font mare — nu scanări dintr-o ediție veche. Nu am testat cerneală ștearsă, caractere mărunte, margini interioare, coloane, hârtie deteriorată, scris de mână sau transcrieri umane independente. De asemenea, nu am testat un model de germană modernă, instrumente OCR comerciale sau rezultatele OCR ori de traducere oferite de BookTranslator.

Priviți exemplele ca pe niște motive pentru a vă inspecta propriul material, nu ca pe o estimare a ratei de eroare pentru o carte întreagă. Noi nu am alege un serviciu OCR pentru o colecție istorică pe baza acestui tabel.

Rulați un test delimitat pe paginile de care aveți efectiv nevoie

Dacă folosiți Tesseract local, notați versiunea motorului și fișierul exact al modelului înainte de a compara rezultatele. Numele modelului singur nu identifică fișierul descărcat. Fișa noastră de proveniență trimite către sursele publice fixate ale modelelor și fonturilor; fișierele mari de modele nu sunt incluse în pachetul articolului.

Pentru imaginea noastră demonstrativă cu un singur bloc de text, cu modelul de scriere Fraktur salvat local ca models/Fraktur.traineddata, comanda a fost:

tesseract samples/long-s-fraktur.png stdout --tessdata-dir ./models -l Fraktur --oem 1 --psm 6 --dpi 300

Documentația pentru linia de comandă a Tesseract explică modul LSTM și ipoteza blocului uniform unic din PSM 6. Această ipoteză se potrivește imaginii noastre de trei rânduri. Nu reprezintă o recomandare de a procesa fiecare pagină de carte cu mai multe coloane folosind PSM 6.

Pentru propria carte, începeți cu un pasaj pe care îl puteți transcrie cu încredere și cu o pagină mai dificilă, reprezentativă pentru materialul de care aveți nevoie. Includeți un nume sau un termen necunoscut, un număr și orice schimbare de font. Dacă o carte alternează scrieri sau limbi, consultați ghidul dedicat pentru OCR pe PDF-uri în limbi mixte , în loc să presupuneți că un singur paragraf clar în Fraktur este reprezentativ pentru întregul document.

Păstrați scanarea neschimbată. Salvați textul OCR brut separat de corecturi și notați identificatorul paginii sau al imaginii pentru fiecare pasaj verificat. Dacă rezultatul este ilizibil, reanalizați imaginea paginii și segmentarea înainte de a extinde procesul la sute de pagini.

Corectați transcrierea fără a inventa cuvântul lipsă

Folosiți un mic jurnal de corecturi cu patru coloane: locația sursă, textul OCR brut, varianta verificată și motivul. Motivul ar trebui să distingă o eroare vizibilă de caracter de o intervenție editorială.

ObservațieAcțiune utilăAcțiune de evitat
Imaginea arată clar iſt; OCR indică iftCorectați această apariție comparând cu imagineaSă înlocuiți fiecare f din document
OCR păstrează rothe, dar doriți rote pentru lecturăPăstrați forma sursă și creați o versiune modernizată etichetată corespunzătorSă considerați modernizarea drept o corectură OCR
O cifră sau un semn de punctuație diferăVerificați acea zonă chiar dacă propoziția din jur are un flux naturalVerificarea exclusivă a formelor neobișnuite de litere
Imaginea este într-adevăr ilizibilăMarcați incertitudinea în transcrierea de lucru și păstrați trimiterea la imagineAcceptarea unui cuvânt plauzibil generat ca dovadă recuperată

Dacă textul poate fi deja selectat într-un PDF descărcat, comparați textul lipit cu imaginea înainte de a o lua de la capăt. Articolul despre diagnosticarea problemelor de copiere și lipire din PDF explică de ce o pagină vizibilă poate părea corectă, deși textul său ascuns sau mapat este greșit. Aceasta este o problemă diferită de alegerea unui model de recunoaștere pentru Fraktur.

Opriți-vă după ce ați obținut un text sursă de încredere, dacă tot ceea ce urmăreați era căutarea, verificarea citatelor sau simpla lectură în limba germană. Traducerea nu este un pas obligatoriu de curățare.

Traduceți doar atunci când limba rămâne singurul obstacol

Pentru cititorii care au nevoie de o altă limbă, textul sursă verificat este punctul în care traducerea devine utilă. Păstrați scanarea, transcrierea revizuită și traducerea clar delimitate, astfel încât să puteți stabili dacă un pasaj contestat provine din recunoașterea textului sau din traducere. Ghidul despre fluxul de lucru pentru traducerea PDF-urilor scanate oferă o perspectivă mai largă asupra acestei etape.

Dacă alegeți traducătorul de PDF-uri de la BookTranslator, evaluați o secțiune reprezentativă din propriul document înainte de a vă baza pe rezultatul complet. Experimentul nostru nu certifică modul în care BookTranslator gestionează textele istorice în Fraktur. Modul său OCR reconstruiește un document curat și poate modifica așezarea originală în pagină, fonturile și dimensiunile acestora; nu tratați rezultatul drept un facsimil și nu presupuneți că trimiterile originale la pagini rămân neschimbate.

Ordinea practică este simplă: stabiliți lectura textului sursă, etichetați orice normalizare, iar apoi traduceți dacă este necesar. Fluența își are locul la finalul acestui proces — nu în locul dovezilor textuale de la început.

Articole asociate