BookTranslator
BookTranslator

फ़्रैक्टुर टेक्स्ट का OCR: आधुनिकीकरण से पहले मूल स्वरूप को सुरक्षित रखें

पुरानी किताब को खोजने या अनुवाद करने से पहले, पहचान संबंधी त्रुटियों और long-s के सामान्यीकरण में अंतर करने के लिए एक छोटा, पुनरुत्पादक Fraktur OCR प्रयोग करें।

BookTranslator

BookTranslator Team

11 मिनट का पठन

मुद्रित Fraktur का OCR करने के लिए, ऐसा मॉडल चुनें जो इस लिपि का समर्थन करता हो, पृष्ठ के साथ एक छोटे अंश का परीक्षण करें, और तय करें कि आपके प्रतिलेख में long s, ſ, रहना चाहिए या इसे सामान्यीकृत करके sकर दिया जाना चाहिए। जाँचे गए मूल प्रतिलेख को किसी भी आधुनिकीकरण या अनुवाद से अलग रखें। अधिक जाना-पहचाना दिखने वाला शब्द मुद्रण का अधिक सटीक पठन हो, यह ज़रूरी नहीं है।

हमने Fraktur फ़ॉन्ट और एक आधुनिक-फ़ॉन्ट नियंत्रण में दो छोटे, कृत्रिम जर्मन अनुच्छेदों का परीक्षण किया। इन साफ़ छवियों पर भी, Fraktur मॉडल ने एक अनुच्छेद में iſt को बदलकर ift और दूसरे में if कर दिया। उपयोगी परिणाम किसी सर्वश्रेष्ठ टूल की रैंकिंग नहीं थी: यह एक प्रदर्शन था कि अक्षरों को पहचानना, एक प्रतिलेखन नियम चुनना और भाषा का आधुनिकीकरण करना तीन अलग-अलग काम हैं.

यह मार्गदर्शिका मुद्रित पृष्ठों के लिए है। यह हस्तलिखित Kurrent या Sütterlin, क्षतिग्रस्त पांडुलिपियों या संपूर्ण ऐतिहासिक संग्रह के लिए कोई वर्कफ़्लो स्थापित नहीं करती है।

OCR चलाने से पहले तय करें कि क्या सही माना जाएगा

टूल्स की तुलना करने से पहले एक वाक्य की प्रतिलेखन नीति लिखें। उदाहरण के लिए: "मूल वर्तनी और long s को बनाए रखें; जिन शब्दों को मैं सत्यापित नहीं कर सकता उन्हें चिह्नित करें।" अन्यथा, आप किसी जानबूझकर किए गए सामान्यीकरण को त्रुटि मानकर दंडित कर सकते हैं—या किसी अवांछित पुनर्लेखन को केवल इसलिए स्वीकार कर सकते हैं क्योंकि वह धाराप्रवाह दिखता है।

OCR-D इस भेद का एक ठोस उदाहरण प्रदान करता है। इसके लेवल 1 दिशानिर्देश long s और round s को s; लेवल 2 और 3 में अंतर करते हैं। ये प्रतिलेखन परंपराएं हैं, न कि हर पुरानी वर्तनी को उसके आधुनिक समकक्ष में बदलने का निर्देश। आधिकारिक लेवल 1 s नियम और लेवल 2/3 s नियम देखें।.

व्यक्तिगत पठन परियोजना के लिए, इन परिणामों को अलग रखें:

आउटपुटहमारे द्वारा रचित शिक्षण पाठ से उदाहरणइसका क्या उपयोग है
मूल-आधारित प्रतिलेखDie rothe Blume ſteht hier.छवि के आधार पर पहचाने गए अक्षरों की जांच करना
लॉन्ग-s-सामान्यीकृत व्युत्पन्न रूपDie rothe Blume steht hier.लॉन्ग-s के अंतर के बिना खोजना या पढ़ना
आधुनिक रूप में बदला गया व्युत्पन्नDie rote Blume steht hier.वर्तनी परिवर्तनों के साथ एक अलग संपादकीय संस्करण

दूसरी पंक्ति केवल ſ को sमें बदलती है; यह सभी OCR-D लेवल 1 नियमों को लागू नहीं करती है। तीसरी पंक्ति मूल वर्तनी को भी बदलती है। किसी भी व्युत्पन्न रूप को चुपचाप मूल-आधारित प्रतिलेख की जगह नहीं लेनी चाहिए।

विशेष रूप से, अक्षर f को व्यापक रूप से sसे न बदलें। हमारे असफल OCR आउटपुट में iftशामिल है, लेकिन मूल स्रोत में वास्तविक f भी आ सकता है। शब्द को किसी सामान्य प्रतिस्थापन नियम के बजाय छवि से मिलाकर ठीक करें।

हमारे आठ-कॉल वाले प्रयोग में क्या हुआ

11 सितंबर, 2026 को, हमने दो मूल, तीन-पंक्ति वाले शिक्षण अंशों को UnifrakturMaguntia और Noto Sansमें रेंडर किया। प्रत्येक छवि को दो निश्चित Tesseract मॉडलों के साथ पहचाना गया: tessdata_best Fraktur स्क्रिप्ट मॉडल और इसका अंग्रेजी मॉडल। अंग्रेजी कॉन्फ़िगरेशन एक तुलनात्मक रूप है, न कि कोई आधुनिक जर्मन बेसलाइन।

सभी आठ कॉलों में Tesseract 5.5.3, LSTM मोड (--oem 1), एक सिंगल टेक्स्ट ब्लॉक (--psm 6), और 300 dpi का उपयोग किया गया। हमने मूल प्रयोग में सेटिंग्स नहीं बदलीं, परिणामों को बाहर नहीं किया, या पहचान का पुन: प्रयास नहीं किया। 12 सितंबर को उन्हीं आठ छवियों के पैकेजिंग रीप्ले ने सहेजे गए आउटपुट बाइट्स को हुबहू रीप्रोड्यूस किया।

छवियों को Apple CoreText और लिगैचर सक्षम करके वास्तविक रूप से आकार दिया गया था, न कि बिना आकार वाले कैरेक्टर बॉक्स के रूप में बनाया गया था। वे 2200 × 460 सफेद कैनवास पर 64-पिक्सेल टेक्स्ट का उपयोग करती हैं। छवियां, ग्लिफ़-काउंट जांच, फ़ॉन्ट लाइसेंस, मॉडल हैश और रॉ आउटपुट प्रयोग पैकेज निर्देशों.

UnifrakturMaguntia में रेंडर किया गया मूल तीन-पंक्ति का शिक्षण गद्यांश, जिसमें लंबा s और पुस्तक, पृष्ठ और संख्या संदर्भों की एक पंक्ति शामिल है।

एक विशेष मॉडल को भी सुधार की आवश्यकता थी

पहली स्रोत पंक्ति यह थी:

Das Waſſer iſt klar.

Fraktur-फ़ॉन्ट छवि पर, Fraktur मॉडल ने यह आउटपुट दिया:

Das Waſſer ift klar.

अधिकांश पंक्ति सही रही, लेकिन ſ में iſt बदलकर fहो गया। दूसरे गद्यांश में, Das Thal iſt weit. बदलकर Das Thal if weit.हो गया: पहचान ने एक वर्ण को बदल दिया और दूसरे को छोड़ दिया। आउटपुट को स्वाभाविक जर्मन मानकर पढ़ना मूल पाठ की जांच करने का विकल्प नहीं है।

आधुनिक-फ़ॉन्ट नियंत्रण में एक अलग विफलता देखी गई। Fraktur मॉडल ने पहले गद्यांश के शब्दों को तो बरकरार रखा, लेकिन Buch 12; Seite 27; Nummer 105. के दो अर्धविरामों (semicolons) को कोलन में बदल दिया। केवल लंबे s की जांच करने पर विराम चिह्नों के ये परिवर्तन छूट जाते।

लक्ष्य स्कोर को बदल देता है

हमने पहचान से पहले तय किए गए दो लक्ष्यों के विरुद्ध प्रत्येक रॉ आउटपुट का स्कोर निकाला: सटीक स्रोत टेक्स्ट, और केवल ſ → sवाला स्रोत। दोनों तुलनाएं यूनिकोड को NFC में सामान्यीकृत करती हैं और रिक्त स्थान (whitespace) को समेटती हैं; वे केस और विराम चिह्नों को बनाए रखती हैं। हम स्कोर करने से पहले रॉ आउटपुट को फोल्ड नहीं करते हैं।

नीचे दी गई संख्याएं वर्ण-संपादन दूरी (character-edit distances)—इंसर्शन, विलोपन और प्रतिस्थापन—हैं, सटीकता प्रतिशत नहीं।

गद्यांशरेंडर किया गया फ़ॉन्टOCR मॉडलमूल स्रोत के मुकाबले संपादनकेवल लंबे 's' के सामान्यीकृत लक्ष्य के मुकाबले संपादन
लंबा s और संख्याएँFrakturFraktur16
लंबा s और संख्याएँFrakturअंग्रेज़ी88
लंबा s और संख्याएँNoto SansFraktur28
लंबा s और संख्याएँNoto Sansअंग्रेज़ी77
ऐतिहासिक जैसी वर्तनीFrakturFraktur24
ऐतिहासिक जैसी वर्तनीFrakturअंग्रेज़ी77
ऐतिहासिक जैसी वर्तनीNoto SansFraktur03
ऐतिहासिक जैसी वर्तनीNoto Sansअंग्रेज़ी44

एक पंक्ति में शून्य का अर्थ उस एक छोटे इनपुट के लिए सटीक मिलान है। यह किसी वास्तविक पुस्तक के अगले पृष्ठ के बारे में कुछ नहीं बताता। इसके विपरीत, एक ऐसा मॉडल जो सही ढंग से ſ को बनाए रखता है, उसे उस लक्ष्य से तुलना करने पर अतिरिक्त अंतर प्राप्त होते हैं जिसके लिए sकी आवश्यकता होती है। वे अंतर नीतिगत बेमेल (पॉलिसी मिसमैच) को दर्शाते हैं, न कि अनिवार्य रूप से गलत पहचान को।

जाँचें: सभी मूल आउटपुट और स्कोर, निश्चित स्रोत पाठ और स्कोरिंग नीति, या सत्यापन स्क्रिप्ट। यह पैकेज SHA-256 हैश रिकॉर्ड करता है ताकि मॉडल, छवि और आउटपुट का प्रत्येक परिणाम से मिलान किया जा सके।

यह प्रयोग आपको क्या नहीं बता सकता

ये दो साफ़, बड़े फॉन्ट वाले, कृत्रिम (सिंथेटिक) गद्यांश हैं—किसी पुराने संस्करण के स्कैन नहीं। हमने फीकी स्याही, छोटे अक्षरों, गटर (इनर मार्जिन), कॉलम, क्षतिग्रस्त कागज़, हस्तलिपि या स्वतंत्र मानवीय ट्रांसक्रिप्शन का परीक्षण नहीं किया। हमने किसी आधुनिक जर्मन मॉडल, व्यावसायिक OCR टूल या BookTranslator के OCR अथवा अनुवाद आउटपुट का भी परीक्षण नहीं किया।

इन उदाहरणों को अपनी स्वयं की सामग्री की जाँच करने के कारणों के रूप में देखें, न कि पूरी पुस्तक की त्रुटि दरों के अनुमान के रूप में। हम इस तालिका के आधार पर किसी ऐतिहासिक संग्रह के लिए OCR सेवा का चयन नहीं करेंगे।

उन पृष्ठों पर एक सीमित परीक्षण चलाएं जिनकी आपको वास्तव में आवश्यकता है

यदि आप Tesseract का स्थानीय रूप से उपयोग करते हैं, तो आउटपुट की तुलना करने से पहले इंजन संस्करण और सटीक मॉडल फ़ाइल रिकॉर्ड करें। केवल एक मॉडल नाम से डाउनलोड की गई फ़ाइल की पहचान नहीं होती। हमारा उत्पत्ति रिकॉर्ड (provenance record) पिन किए गए सार्वजनिक मॉडल और फॉन्ट स्रोतों को लिंक करता है; बड़ी मॉडल फ़ाइलें इस लेख के साथ बंडल नहीं की गई हैं।

हमारी एकल-ब्लॉक नमूना छविके लिए, फ़्रैक्टर (Fraktur) लिपि मॉडल को स्थानीय रूप से models/Fraktur.traineddataके रूप में सहेजे जाने के साथ, कमांड यह था:

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

Tesseract का कमांड-लाइन दस्तावेज़ीकरण LSTM मोड और PSM 6 के एकल-समान-ब्लॉक (single-uniform-block) की धारणा को समझाता है। वह धारणा हमारी तीन-पंक्तियों वाली छवि पर बिल्कुल सटीक बैठती है। यह PSM 6 के साथ हर बहु-कॉलम वाले पुस्तक पृष्ठ को प्रोसेस करने की सिफ़ारिश नहीं है।

अपनी पुस्तक के लिए, एक ऐसे गद्यांश से शुरुआत करें जिसे आप विश्वास के साथ ट्रांसक्राइब कर सकें, और साथ ही एक ऐसा कठिन पृष्ठ चुनें जो आपकी आवश्यक सामग्री का प्रतिनिधित्व करता हो। इसमें कोई नाम या अपरिचित शब्द, कोई संख्या और बदलता हुआ टाइपफ़ेस शामिल करें। यदि किसी पुस्तक में लिपियां या भाषाएं बदलती रहती हैं, तो यह मान लेने के बजाय कि एक साफ़ Fraktur पैराग्राफ़ पूरे दस्तावेज़ को कवर करता है, अलग से दी गई मिश्रित-भाषा PDF OCR गाइड का उपयोग करें।

मूल स्कैन को बिना बदलाव के सुरक्षित रखें। रॉ OCR को सुधारों से अलग सहेजें, और प्रत्येक जाँचे गए गद्यांश के लिए पृष्ठ या छवि पहचानकर्ता (आइडेंटिफ़ायर) को रिकॉर्ड करें। यदि आउटपुट पढ़ने योग्य नहीं है, तो काम को सैकड़ों पृष्ठों तक विस्तारित करने से पहले पृष्ठ छवि और सेगमेंटेशन की दोबारा समीक्षा करें।

लापता शब्द का मनगढ़ंत अनुमान लगाए बिना प्रतिलेख (ट्रांसक्रिप्ट) में सुधार करें

चार कॉलम वाले एक छोटे सुधार लॉग का उपयोग करें: स्रोत स्थान, रॉ OCR, जाँची गई रीडिंग, और कारण। कारण में एक स्पष्ट वर्ण त्रुटि (character error) और एक संपादकीय रूपांतरण (editorial transformation) के बीच का अंतर साफ़ होना चाहिए।

निरीक्षणउपयोगी कदमबचने योग्य कदम
छवि में स्पष्ट रूप से iſtदिखाई दे रहा है; OCR इसे iftछवि से मिलान करके केवल इस प्रविष्टि को ठीक करेंदस्तावेज़ में मौजूद प्रत्येक f को बदल देना
OCR में rotheसुरक्षित है, लेकिन पढ़ने के लिए आप rote चाहते हैंमूल रूप को बनाए रखें और एक लेबल युक्त आधुनिकीकृत प्रतिलिपि बनाएंआधुनिकीकरण को OCR सुधार के रूप में गिनना
कोई संख्या या विराम चिह्न भिन्न हैउस स्थान की जाँच करें, भले ही आसपास का वाक्य बिल्कुल स्वाभाविक लग रहा होकेवल असामान्य अक्षरों के आकारों की समीक्षा करें
छवि वास्तव में अस्पष्ट और अपठनीय हैअपने कार्यशील प्रतिलेख में अनिश्चितता को चिह्नित करें और छवि संदर्भ को बनाए रखेंकिसी संभावित जनरेट किए गए शब्द को पुनर्प्राप्त साक्ष्य के रूप में स्वीकार करें

यदि डाउनलोड किए गए PDF में टेक्स्ट पहले से चुना जा सकता है, तो नए सिरे से शुरुआत करने से पहले उसके पेस्ट किए गए टेक्स्ट की तुलना छवि से करें। PDF कॉपी-पेस्ट विश्लेषण यह स्पष्ट करता है कि कोई दृश्य पृष्ठ सही दिखने पर भी उसका छिपा हुआ या मैप किया गया टेक्स्ट गलत क्यों हो सकता है। यह समस्या Fraktur पहचान मॉडल चुनने से बिल्कुल अलग है।

यदि आपका काम केवल खोजना, उद्धरण जाँचना या जर्मन पढ़ना ही था, तो विश्वसनीय स्रोत टेक्स्ट तैयार करने के बाद रुक जाएँ। अनुवाद कोई अनिवार्य सुधार चरण नहीं है।

अनुवाद तभी करें जब भाषा अब भी एक बाधा बनी हुई हो

उन पाठकों के लिए जिन्हें किसी अन्य भाषा की आवश्यकता है, जाँचा-परखा गया स्रोत टेक्स्ट वह चरण है जहाँ अनुवाद उपयोगी साबित होता है। स्कैन, जाँचे गए प्रतिलेख और अनुवाद को अलग-अलग और स्पष्ट रखें ताकि आप यह पहचान सकें कि किसी विवादास्पद अंश की जड़ पहचान की त्रुटि थी या अनुवाद की। स्कैन किए गए PDF अनुवाद की कार्यप्रणाली इस प्रक्रिया को आगे बढ़ाने का एक व्यापक ढाँचा प्रदान करती है।

यदि आप BookTranslator के PDF Translatorको चुनते हैं, तो पूरे परिणाम पर निर्भर रहने से पहले अपने दस्तावेज़ के एक प्रतिनिधि हिस्से का मूल्यांकन अवश्य करें। हमारा प्रयोग BookTranslator द्वारा ऐतिहासिक Fraktur के प्रबंधन की पुष्टि नहीं करता है। इसका OCR Mode एक साफ़-सुथरा दस्तावेज़ फिर से तैयार करता है और मूल पृष्ठ लेआउट, फ़ॉन्ट तथा फ़ॉन्ट आकारों को बदल सकता है; उस आउटपुट को प्रतिकृति (फ़ैसिमिली) न मानें या यह न समझें कि मूल पृष्ठ संदर्भ अपरिवर्तित रहेंगे।

व्यावहारिक क्रम सीधा और सरल है: पहले स्रोत पाठ निर्धारित करें, किसी भी मानकीकरण को चिह्नित करें, और फिर आवश्यकता पड़ने पर अनुवाद करें। प्रवाह इस प्रक्रिया के अंत में आना चाहिए—शुरुआत में साक्ष्य के स्थान पर नहीं।

संबंधित लेख