BookTranslator
BookTranslator

Fraktur Metinlerine OCR Uygulama: Modernleştirmeden Önce Orijinali Koruyun

Eski bir kitabı aramadan veya çevirmeden önce, tanıma hatalarını uzun s normalizasyonundan ayırt etmek için küçük ve tekrarlanabilir bir Fraktur OCR deneyinden yararlanın.

BookTranslator

BookTranslator Team

9 dk okuma

Basılı Fraktur metinlerine OCR uygulamak için bu yazı tipini destekleyen bir model seçin, kısa bir pasajı sayfayla karşılaştırarak test edin ve transkriptinizin uzun s harfini ſkoruması mı yoksa bunu solarak normalleştirmesi mi gerektiğine karar verin. Doğrulanmış kaynak transkripti her türlü modernleştirmeden veya çeviriden ayrı tutun. Göze daha tanıdık gelen bir kelime, baskının aslına her zaman daha sadık bir okuma yapıldığı anlamına gelmez.

Fraktur yazı tipiyle ve modern yazı tipi kontrolüyle hazırlanmış iki kısa, yapay Almanca pasajı test ettik. Bu net görüntülerde bile Fraktur modeli bir pasajda iſt ifadesini ift olarak, diğerinde ise if olarak değiştirdi. Buradaki asıl faydalı sonuç kazanan bir araç sıralaması çıkarmak değil, karakterleri tanımanın, bir transkripsiyon kuralı seçmenin ve dili modernleştirmenin üç ayrı iş olduğunu.

Bu kılavuz basılı sayfalar içindir. El yazısı Kurrent veya Sütterlin metinleri, hasarlı el yazmaları veya kapsamlı bir tarihi koleksiyon için bir iş akışı sunmaz.

OCR çalıştırmadan önce neyin doğru kabul edileceğine karar verin

Araçları karşılaştırmadan önce tek cümlelik bir transkripsiyon ilkesi belirleyin. Örneğin: “Kaynak yazımı ve uzun s harfini koru; doğrulayamadığım kelimeleri işaretle.” Aksi takdirde, kasıtlı bir normalizasyonu hata sanarak cezalandırabilir veya akıcı göründüğü için istenmeyen bir yeniden yazımı doğru kabul edebilirsiniz.

OCR-D bu ayrım için somut bir örnek sunar. OCR-D'nin Seviye 1 yönergeleri uzun s ve yuvarlak s harflerini s; Seviye 2 ve 3 ise bunları birbirinden ayırır. Bunlar birer transkripsiyon kuralıdır; her eski yazımı modern karşılığına dönüştürme talimatı değildir. Resmi Seviye 1 s kuralları ve Seviye 2/3 s kuralları.

Kişisel bir okuma projesinde bu çıktıları birbirinden ayrı tutun:

ÇıktıHazırladığımız öğretici metinden örnekNe için kullanılır
Kaynak odaklı transkriptDie rothe Blume ſteht hier.Tanınan karakterleri görsele göre kontrol etme
Uzun s normalleştirilmiş türevDie rothe Blume steht hier.Uzun s ayrımı olmaksızın arama yapma veya okuma
Modernleştirilmiş türevDie rote Blume steht hier.İmla değişiklikleri içeren ayrı bir editoryal sürüm

İkinci satır yalnızca ſ harfini sile değiştirir; OCR-D Düzey 1 kurallarının tamamını uygulamaz. Üçüncü satır ise kaynak imlayı da değiştirir. Hiçbir türev, kaynak odaklı transkriptin yerini sessizce almamalıdır.

Özellikle, genel bir kural olarak f harfini sile değiştirmeyin. Hatalı OCR çıktımız iftiçeriyor olsa da, kaynakta gerçek bir f harfi de bulunabilir. Sözcüğü toptancı bir değiştirme kuralına göre değil, görsele bakarak düzeltin.

Sekiz çağrılık deneyimizde neler oldu?

11 Eylül 2026'da, özgün ve üçer satırdan oluşan iki öğretici pasajı UnifrakturMaguntia ve Noto Sansile oluşturduk. Her görsel iki sabit Tesseract modeliyle tanındı: tessdata_best Fraktur yazı modeli ve İngilizce modeli. İngilizce yapılandırma bir karşıtlık sunmak içindir, modern bir Almanca referansı değildir .

Sekiz çağrının tümünde Tesseract 5.5.3, LSTM modu (--oem 1), tek bir metin bloğu (--psm 6) ve 300 dpi kullanıldı. Orijinal deney kapsamında ayarları değiştirmedik, hiçbir sonucu hariç tutmadık veya tanımayı yeniden denemedik. Aynı sekiz görselin 12 Eylül'de yapılan paketleme tekrarı, kaydedilen çıktı baytlarını birebir yeniden üretti.

Görseller, şekillendirilmemiş karakter kutuları olarak çizilmek yerine Apple CoreText ve ligatürler etkinleştirilerek gerçek anlamda şekillendirildi. 2200 × 460 boyutundaki beyaz bir tuval üzerinde 64 piksellik metin kullanıldı. Görseller, glif sayısı kontrolleri, yazı tipi lisansları, model karmaları (hash) ve ham çıktılar deney paketi talimatları.

UnifrakturMaguntia ile işlenmiş, uzun s harfi ile kitap, sayfa ve sayı referanslarından oluşan bir satır içeren üç satırlık orijinal öğretim pasajı.

Özelleştirilmiş bir modelin bile düzeltilmeye ihtiyacı vardı

İlk kaynak satırı şuydu:

Das Waſſer iſt klar.

Fraktur yazı tipiyle hazırlanan görselde, Fraktur modeli şu sonucu verdi:

Das Waſſer ift klar.

Satırın büyük kısmı doğru aktarıldı, ancak ſ kelimesindeki iſt harfi foldu. İkinci pasajda ise Das Thal iſt weit. kelimesi Das Thal if weit.hâline geldi: tanıma işlemi bir karakteri değiştirdi ve diğerini düşürdü. Çıktıyı kulağa makul gelen bir Almanca olarak okumak, orijinali kontrol etmenin yerini tutmaz.

Modern yazı tipi kontrolünde farklı bir hata yaşandı. Fraktur modeli ilk pasajdaki sözcükleri korudu, ancak Buch 12; Seite 27; Nummer 105. içindeki iki noktalı virgülü iki nokta üst üsteye dönüştürdü. Yalnızca uzun s harfini kontrol etmek bu noktalama değişikliklerinin gözden kaçmasına neden olurdu.

Hedef, puanı değiştirir

Her ham çıktıyı, tanıma işleminden önce belirlenen iki hedefe göre puanladık: birebir kaynak metin ve yalnızca ſ → s. Her iki karşılaştırma da Unicode'u NFC olarak normalleştirir ve boşlukları daraltır; büyük/küçük harf durumunu ve noktalamayı korur. Ham çıktıyı puanlamadan önce harf büyüklüklerini eşitlemiyoruz (folding yapmıyoruz).

Aşağıdaki sayılar bir doğruluk yüzdesi değil, karakter düzenleme mesafeleridir (eklemeler, silmeler ve değiştirmeler).

PasajOluşturulan yazı tipiOCR modeliBirebir kaynağa göre yapılan düzenlemelerYalnızca uzun s için normalleştirilmiş hedefe göre yapılan düzenlemeler
Uzun s ve sayılarFrakturFraktur16
Uzun s ve sayılarFrakturİngilizce88
Uzun s ve sayılarNoto SansFraktur28
Uzun s ve sayılarNoto Sansİngilizce77
Tarihsel görünümlü yazımFrakturFraktur24
Tarihsel görünümlü yazımFrakturİngilizce77
Tarihsel görünümlü yazımNoto SansFraktur03
Tarihsel görünümlü yazımNoto Sansİngilizce44

Bir satırdaki sıfır, yalnızca o kısa girdi için tam bir eşleşme anlamına gelir. Gerçek bir kitabın sonraki sayfası hakkında hiçbir şey söylemez. Tersine, ſ biçimini doğru şekilde koruyan bir model, sgerektiren bir hedefle karşılaştırıldığında fazladan farklılıklar alır. Bu farklılıklar yanlış tanımayı değil, bir kural/ilke uyumsuzluğunu gösterir.

Şunları inceleyebilirsiniz: tüm orijinal çıktılar ve puanlar, sabit kaynak metinler ve puanlama politikasıveya doğrulama betiği. Paket, modelin, görselin ve çıktının her bir sonuçla eşleştirilebilmesi için SHA-256 karmalarını (hash) kaydeder.

Bu deneyin size söyleyemeyeceği şeyler

Bunlar eski bir baskının taramaları değil; temiz, büyük yazı tipine sahip iki yapay pasajdır. Soluk mürekkep, küçük yazı tipleri, cilt payları, sütunlar, hasarlı kâğıt, el yazısı veya bağımsız insan transkripsiyonları test edilmemiştir. Ayrıca modern bir Almanca modelini, ticari OCR araçlarını veya BookTranslator'ın OCR ya da çeviri çıktılarını da test etmedik.

Bu örnekleri, kitabın tamamındaki hata oranlarına dair bir tahmin olarak değil, kendi materyalinizi incelemeniz için birer gerekçe olarak değerlendirin. Bu tabloya dayanarak tarihi bir koleksiyon için herhangi bir OCR servisi seçmezdik.

Gerçekten ihtiyaç duyduğunuz sayfalar üzerinde sınırlandırılmış bir test yapın

Tesseract'ı yerel olarak kullanıyorsanız çıktıları karşılaştırmadan önce motor sürümünü ve tam model dosyasını kaydedin. Yalnızca model adı, indirilen dosyayı tanımlamaya yetmez. Bizim kaynak ve köken kaydımız sabitlenmiş herkese açık model ve yazı tipi kaynaklarına bağlantı verir; büyük model dosyaları makaleyle birlikte paketlenmemiştir.

Fraktur yazı modeli yerel olarak tek blokluk örnek görselimizşeklinde kaydedildiğinde, models/Fraktur.traineddataiçin kullanılan komut şuydu:

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

Tesseract'ın komut satırı belgeleri , LSTM modunu ve PSM 6'nın tek bir tekdüze blok varsayımını açıklar. Bu varsayım üç satırlık görselimize uygundur. Çok sütunlu her kitap sayfasını PSM 6 ile işleme yönelik bir öneri değildir.

Kendi kitabınız için, güvenle yazıya dökebileceğiniz bir pasajla ve üzerinde çalışacağınız materyali temsil eden daha zorlu bir sayfayla başlayın. Bir isim veya alışılmadık bir terim, bir sayı ve değişen yazı tipleri ekleyin. Kitap farklı alfabeler veya diller arasında geçiş yapıyorsa, tek bir temiz Fraktur paragrafının tüm belgeyi kapsadığını varsaymak yerine ayrı karma dilli PDF OCR kılavuzunu kullanın.

Taramayı değiştirmeden saklayın. Ham OCR çıktısını düzeltmelerden ayrı kaydedin ve kontrol edilen her pasaj için sayfa veya görsel tanımlayıcısını not edin. Çıktı okunamaz durumdaysa, işi yüzlerce sayfaya genişletmeden önce sayfa görselini ve bölümlemeyi tekrar gözden geçirin.

Eksik kelimeyi uydurmadan metni düzeltin

Dört sütunlu küçük bir düzeltme günlüğü kullanın: kaynak konumu, ham OCR, doğrulanmış okuma ve gerekçe. Gerekçe, görünür bir karakter hatasını editoryal bir dönüştürmeden ayırt etmelidir.

GözlemYararlı eylemKaçınılması gereken eylem
Görselde açıkça iſtgörünüyor; OCR ise iftBu örneği görsele bakarak düzeltinBelgedeki her f ifadesini değiştirin
OCR rothebiçimini koruyor, ancak okuma için rote istiyorsunuzKaynak biçimi koruyun ve etiketlenmiş, modernize edilmiş bir türev oluşturunModernizasyonu bir OCR düzeltmesi olarak saymak
Bir sayı veya noktalama işareti farklıÇevreleyen cümle akıcı olsa bile o konumu kontrol edinYalnızca olağan dışı harf biçimlerini inceleyin
Görüntü gerçekten okunamıyorÇalışma transkriptinizde belirsizliği işaretleyin ve görsel referansını saklayınAkla yatkın üretilmiş bir kelimeyi kurtarılmış kanıt olarak kabul edin

İndirilen bir PDF'de metin zaten seçilebiliyorsa, sıfırdan başlamadan önce yapıştırılan metni görüntüyle karşılaştırın. PDF kopyala-yapıştır teşhisi , görünür bir sayfanın doğru görünürken gizli veya eşlenmiş metninin neden hatalı olabileceğini açıklar. Bu, bir Fraktur tanıma modeli seçmekten farklı bir sorundur.

Arama yapmak, alıntıları kontrol etmek veya Almanca okumak asıl amacınızsa, güvenilir bir kaynak metin elde ettikten sonra işlemi sonlandırın. Çeviri, zorunlu bir temizleme adımı değildir.

Yalnızca dil hâlâ bir engel oluşturuyorsa çeviri yapın

Başka bir dile ihtiyaç duyan okuyucular için çevirinin faydalı hâle geldiği aşama, kontrol edilmiş kaynak metindir. Tartışmalı bir pasajın metin tanımadan mı yoksa çeviriden mi kaynaklandığını ayırt edebilmek için taramayı, gözden geçirilmiş transkripti ve çeviriyi birbirinden ayrı tutun. Taranmış PDF çeviri iş akışı , bu devir sürecine dair daha kapsamlı bir çerçeve sunar.

Eğer BookTranslator'ın PDF Çevirmeniaracını tercih ederseniz, sonucun tamamına güvenmeden önce kendi belgenizin temsili bir bölümünü değerlendirin. Deneyimiz, BookTranslator'ın tarihi Fraktur yazılarını işleme yeteneğini doğrulamaz . Aracın OCR Modu, temiz bir belgeyi baştan oluşturur ve orijinal sayfa düzenini, yazı tiplerini ve boyutlarını değiştirebilir; bu çıktıyı bir tıpkıbasım (faksimile) olarak görmeyin veya orijinal sayfa referanslarının birebir korunduğunu varsaymayın.

Pratik sıra oldukça basittir: kaynak metnin doğru okunuşunu kesinleştirin, yapılan normalleştirmeleri etiketleyin ve gerekirse çevirin. Akıcılık, en baştaki kanıtların yerine değil, ancak bu sürecin en sonuna aittir.

İlgili Yazılar