BookTranslator
BookTranslator

OCR متن فراکتور: حفظ نسخه اصلی پیش از مدرن‌سازی آن

با استفاده از یک آزمایش کوچک و بازتولیدپذیر OCR فراکتور، خطاهای بازشناسی را پیش از جستجو یا ترجمه کتاب‌های قدیمی از استانداردسازی s کشیده (ſ) تفکیک کنید.

BookTranslator

BookTranslator Team

10 دقیقه مطالعه

برای OCR متون چاپی فراکتور (Fraktur)، مدلی را انتخاب کنید که از این خط پشتیبانی می‌کند، بخش کوتاهی از متن را با صفحه اصلی مقایسه و ارزیابی کنید، و تصمیم بگیرید که آیا متن رونوشت شما باید s کشیده یعنی ſرا حفظ کند یا آن را به sتغییر دهد. رونوشت بررسی‌شده و منطبق بر منبع را از هرگونه مدرن‌سازی یا ترجمه جدا نگه دارید. واژه‌ای که آشناتر به نظر می‌رسد لزوماً خوانش وفادارانه‌تری از نسخه چاپی نیست.

ما دو متن کوتاه و ساختگی آلمانی را با فونت فراکتور و یک فونت مدرن به عنوان نمونه کنترل آزمایش کردیم. حتی روی این تصاویر تمیز، مدل فراکتور در یک متن iſt را به ift و در متنی دیگر به if تغییر داد. دستاورد کاربردی این آزمایش رتبه‌بندی ابزارهای برتر نبود؛ بلکه اثبات این موضوع بود که بازشناسی حروف، انتخاب قواعد رونوشت‌برداری و مدرن‌سازی زبان، سه فرایند کاملاً مجزا هستند.

این راهنما مختص صفحات چاپی است و روندی برای دست‌نوشته‌های کورنت (Kurrent) یا زوترلین (Sütterlin)، نسخه‌های خطی آسیب‌دیده، یا کل یک مجموعه تاریخی تدوین نمی‌کند.

پیش از اجرای OCR مشخص کنید چه چیزی «صحیح» تلقی می‌شود

پیش از مقایسه ابزارها، یک دستورالعمل رونویسی در قالب یک جمله بنویسید؛ مثلاً: «املای متن اصلی و s کشیده حفظ شود؛ کلماتی که امکان راستی‌آزمایی آن‌ها نیست علامت‌گذاری شوند.» در غیر این صورت، ممکن است یک استانداردسازی عمدی را خطا در نظر بگیرید—یا متنی بازنویسی‌شده و نامطلوب را صرفاً به دلیل روان به نظر رسیدن بپذیرید.

پروژه OCR-D نمونه ملموسی از این تمایز ارائه می‌دهد. شیوه‌نامه سطح ۱ آن، s کشیده و s گرد را به‌صورت s; سطوح ۲ و ۳ این دو را از هم تفکیک می‌کنند. این‌ها قراردادهای رونویسی هستند، نه دستوری برای تبدیل همه املای قدیمی به معادل مدرن آن. برای اطلاعات بیشتر، دستورالعمل‌های رسمی قواعد حرف s در سطح ۱ و قواعد حرف s در سطوح ۲ و ۳.

برای یک پروژه مطالعه شخصی، این خروجی‌ها را از هم تفکیک کنید:

خروجینمونه‌ای از متن آموزشی تألیفی ماکاربرد آن
رونویسی منطبق بر منبعDie rothe Blume ſteht hier.تطبیق نویسه‌های بازشناخته‌شده با تصویر
نسخهٔ مشتق با استانداردسازی s کشیدهDie rothe Blume steht hier.جستجو یا خواندن بدون تمایز قائل شدن برای s کشیده
نسخهٔ مشتق نوسازی‌شدهDie rote Blume steht hier.یک نسخهٔ ویراستاری مجزا با تغییرات املایی

ردیف دوم فقط ſ را به sتبدیل می‌کند؛ این ردیف تمام قواعد سطح ۱ OCR-D را پیاده‌سازی نمی‌کند. ردیف سوم املای متن مبدأ را نیز تغییر می‌دهد. هیچ‌یک از این نسخه‌های مشتق نباید بدون ذکر موضوع، جایگزین رونویسی منطبق بر منبع شوند.

به‌ویژه، حرف f را به‌صورت سراسری با sجایگزین نکنید. خروجی OCR ناموفق ما حاوی iftاست، اما یک f واقعی نیز می‌تواند در متن اصلی وجود داشته باشد. کلمه را با مقایسه با تصویر اصلاح کنید، نه بر اساس یک قاعدهٔ جایگزینی کلی.

آنچه در آزمایش هشت‌مرحله‌ای ما رخ داد

در ۱۱ سپتامبر ۲۰۲۶، دو قطعه متن آموزشی سه‌خطی و اصیل را با فونت‌های UnifrakturMaguntia و Noto Sansپیاده‌سازی کردیم. هر تصویر با دو مدل مشخص Tesseract بازشناسی شد: مدل خط فراکتور tessdata_best و مدل انگلیسی آن. پیکربندی انگلیسی صرفاً برای مقایسه است، نه معیاری برای آلمانی امروزی.

هر هشت فراخوانی از Tesseract 5.5.3، حالت LSTM (--oem 1)، یک بلوک متنی واحد (--psm 6) و رزولوشن ۳۰۰ dpi استفاده کردند. ما تنظیمات را تغییر ندادیم، هیچ نتیجه‌ای را کنار نگذاشتیم و بازشناسی را درون آزمایش اولیه تکرار نکردیم. بازآزمایی بسته‌بندی‌شده در ۱۲ سپتامبر روی همان هشت تصویر، بایت‌های خروجی ذخیره‌شده را دقیقاً بازتولید کرد.

تصاویر به‌صورت واقعی با Apple CoreText و با فعال بودن لیگچرها شکل‌دهی شدند، نه اینکه صرفاً جعبه‌های نویسه‌ایِ شکل‌نیافته رسم شوند. در آن‌ها از متن ۶۴ پیکسلی روی یک بوم سفید ۲۲۰۰ × ۴۶۰ استفاده شده است. تصاویر، بررسی‌های تعداد گلیف‌ها، مجوزهای فونت، هش‌های مدل و خروجی‌های خام در دستورالعمل‌های بسته آزمایش.

متن آموزشی سه‌خطی اصلی رندرشده با UnifrakturMaguntia، شامل s بلند و یک سطر از ارجاعات کتاب، صفحه و شماره.

یک مدل تخصصی هم به تصحیح نیاز داشت

نخستین سطر مبدأ این بود:

Das Waſſer iſt klar.

روی تصویر با فونت فراکتور، مدل فراکتور این خروجی را بازگرداند:

Das Waſſer ift klar.

بخش عمده سطر بدون تغییر ماند، اما ſ در iſt تبدیل به fشد. در قطعه‌متن دوم، Das Thal iſt weit. تبدیل به Das Thal if weit.شد: فرایند بازشناسی یک نویسه را تغییر داد و دیگری را حذف کرد. اینکه خروجی شبیه به آلمانی معتبر و موجه به نظر برسد، جایگزین بررسی متن اصلی نمی‌شود.

در نمونه کنترل با فونت مدرن، خطای متفاوتی رخ داد. مدل فراکتور کلمات قطعه‌متن نخست را حفظ کرد، اما دو نقطه ویرگول در Buch 12; Seite 27; Nummer 105. را به دونقطه تبدیل کرد. بررسی صرفِ s بلند باعث نادیده‌ماندن این تغییرات در نشانه‌های نگارشی می‌شد.

متن هدف امتیاز را تغییر می‌دهد

ما هر خروجی خام را با دو هدف که پیش از بازشناسی تعیین شده بودند مقایسه و ارزیابی کردیم: متن دقیق مبدأ، و متن مبدأ با فقط ſ → s. هر دو مقایسه یونیکد را به NFC نرمال‌سازی کرده و فاصله‌ها را فشرده می‌کنند؛ بزرگی و کوچکی حروف و نشانه‌های نگارشی در آن‌ها حفظ می‌شود. ما خروجی خام را پیش از امتیازدهی یکدست یا تغییر شکل نمی‌دهیم.

اعداد زیر فاصله ویرایشی نویسه‌ها (درج‌ها، حذف‌ها و جایگزینی‌ها) هستند، نه درصد دقت.

قطعه‌متنفونت رندرشدهمدل OCRویرایش‌ها نسبت به منبع دقیقویرایش‌ها نسبت به متن مقصد با استانداردسازی صرفاً s کشیده
s کشیده و اعدادفراکتورفراکتور16
s کشیده و اعدادفراکتورانگلیسی88
s کشیده و اعدادنوتو سنسفراکتور28
s کشیده و اعدادنوتو سنسانگلیسی77
املا با ظاهر کهن و تاریخیفراکتورفراکتور24
املا با ظاهر کهن و تاریخیفراکتورانگلیسی77
املا با ظاهر کهن و تاریخینوتو سنسفراکتور03
املا با ظاهر تاریخیNoto Sansانگلیسی44

وجود صفر در یک سطر به معنای تطابق دقیق برای آن یک ورودی کوتاه است، اما هیچ چیز درباره صفحه بعدی یک کتاب واقعی نمی‌گوید. در مقابل، مدلی که به درستی ſ را حفظ می‌کند، در مقایسه با هدفی که نیازمند sاست، تفاوت‌های بیشتری ثبت می‌کند. این تفاوت‌ها بیانگر عدم تطابق رویکرد است، نه لزوماً خطای تشخیص.

می‌توانید همه خروجی‌ها و امتیازهای اصلی، متون مبدأ ثابت و خط‌مشی امتیازدهی، یا اسکریپت اعتبارسنجیرا بررسی کنید. این بسته هشدارهای SHA-256 را ثبت می‌کند تا بتوان مدل، تصویر و خروجی را با هر نتیجه تطبیق داد.

آنچه این آزمایش نمی‌تواند به شما بگوید

این‌ها دو قطعه متن ساختگی، تمیز و با فونت بزرگ هستند، نه اسکن‌هایی از یک نسخه قدیمی. ما جوهر کم‌رنگ، حروف ریز، حاشیه‌های عطف، ستون‌ها، کاغذ آسیب‌دیده، دست‌خط، یا رونوشت‌های مستقل انسانی را آزمایش نکردیم. همچنین مدل آلمانی امروزی، ابزارهای تجاری OCR، یا خروجی OCR یا ترجمه BookTranslator را نیز ارزیابی نکردیم.

این نمونه‌ها را به عنوان دلیلی برای بررسی دقیق متون خود در نظر بگیرید، نه برآوردی از نرخ خطای کل کتاب. ما هیچ‌گاه بر اساس این جدول، یک سرویس OCR را برای یک مجموعه تاریخی انتخاب نمی‌کنیم.

یک آزمون محدود روی صفحاتی که واقعاً نیاز دارید اجرا کنید

اگر از Tesseract به صورت محلی استفاده می‌کنید، قبل از مقایسه خروجی‌ها، نسخه موتور و فایل دقیق مدل را ثبت کنید. نام مدل به‌تنهایی فایل دانلودشده را مشخص نمی‌کند. سند اصالت ما منابع عمومی مشخص‌شده مدل و فونت را پیوند می‌دهد؛ فایل‌های حجیم مدل همراه با این مقاله ارائه نشده‌اند.

برای تصویر نمونه تک‌بلوکیما، با ذخیره محلی مدل خط فرکتور با عنوان 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 توضیح داده شده است. این فرض با تصویر سه‌خطی ما همخوانی دارد، اما به این معنا نیست که باید برای پردازش همه صفحات چندستونی کتاب از PSM 6 استفاده کنید.

برای کتاب خودتان، کار را با بخشی شروع کنید که می‌توانید با اطمینان آن را بازنویسی کنید، به همراه یک صفحه دشوارتر که نمونه‌ای واقعی از محتوای مدنظرتان باشد. متنی را انتخاب کنید که شامل یک نام یا اصطلاح ناآشنا، یک عدد و انواع مختلف قلم باشد. اگر در کتاب خطوط یا زبان‌های متفاوتی به کار رفته است، به جای آنکه فرض کنید یک پاراگراف خوانای فراکتور برای کل سند کافی است، از راهنمای OCR فایل‌های PDF چندزبانه استفاده کنید.

فایل اسکن‌شده را بدون تغییر نگه دارید. خروجی خام OCR را جدا از اصلاحات ذخیره کنید و شناسه صفحه یا تصویر مربوط به هر بخش بررسی‌شده را ثبت نمایید. اگر خروجی ناخواناست، پیش از تعمیم کار به صدها صفحه، تصویر صفحه و نحوه بخش‌بندی آن را دوباره بررسی کنید.

متن را بدون حدس زدن کلمات مفقود اصلاح کنید

از یک جدول ثبت اصلاحات ساده با چهار ستون استفاده کنید: موقعیت منبع، خروجی خام OCR، متن بررسی‌شده و دلیل تغییر. ستون دلیل باید تفاوت میان خطای آشکار نویسه و تغییرات ویرایشی را مشخص کند.

مشاهدهاقدام مفیداقدامی که باید از آن پرهیز کرد
تصویر به وضوح نشان می‌دهد iſt؛ اما OCR می‌گوید iftاصلاح این مورد بر اساس تصویرجایگزینی تمام موارد f در کل سند
OCR شکل rotheرا حفظ کرده است، اما برای خوانایی بهتر به rote نیاز داریدحفظ شکل اصلی متن و ایجاد یک نسخه امروزی‌شده و برچسب‌گذاری‌شدهمحاسبه امروزی‌سازی به عنوان تصحیح خطای OCR
یک عدد یا علامت نگارشی تفاوت داردبررسی آن نقطه حتی در صورتی که جمله پیرامون آن کاملاً روان باشدتنها اشکال نامعمول حروف را بررسی کنید
تصویر واقعاً ناخواناستموارد نامشخص را در رونوشت کاری خود علامت‌گذاری کرده و ارجاع تصویر را حفظ کنیدیک واژهٔ محتملِ تولیدشده را به عنوان سند بازیابی‌شده بپذیرید

اگر در یک PDF دانلودشده متن از پیش قابل انتخاب است، پیش از شروع دوباره، متن کپی‌شده را با تصویر مقایسه کنید. بخش عیب‌یابی کپی‌پیست PDF توضیح می‌دهد که چرا یک صفحهٔ قابل‌مشاهده ممکن است درست به نظر برسد اما متن پنهان یا نگاشت‌شدهٔ آن اشتباه باشد. این مشکلی متفاوت از انتخاب مدل بازشناسی فراکتور است.

اگر هدف نهایی صرفاً جستجو، بررسی نقل‌قول‌ها یا خواندن متن آلمانی بوده است، پس از تولید یک متن مبدأ قابل‌اطمینان کار را متوقف کنید. ترجمه گامی الزامی برای پاک‌سازی متن نیست.

تنها زمانی ترجمه کنید که زبان همچنان مانع باشد

برای خوانندگانی که به زبان دیگری نیاز دارند، متن مبدأ بررسی‌شده همان نقطه‌ای است که ترجمه در آن مفید واقع می‌شود. اسکن، رونوشت بازبینی‌شده و ترجمه را متمایز از هم نگه دارید تا بتوانید تشخیص دهید که یک عبارت مورد مناقشه از خطای بازشناسی ناشی شده یا اشتباه ترجمه. راهنمای گردش کار ترجمه PDF اسکن‌شده مراحل کلی این انتقال را ارائه می‌دهد.

اگر مترجم PDF در BookTranslatorرا انتخاب می‌کنید، پیش از اتکا به کل نتیجه، بخش مشخصی از سند خود را ارزیابی کنید. آزمایش ما پردازش خط تاریخی فراکتور توسط BookTranslator را تأیید نمی‌کند . حالت OCR این ابزار یک سند تمیز را بازسازی می‌کند و ممکن است چیدمان صفحه، فونت‌ها و اندازهٔ قلم اصلی را تغییر دهد؛ بنابراین خروجی آن را نسخهٔ فاکسیمیله (عین سند) ندانید و فرض نکنید ارجاعات صفحات اصلی بدون تغییر باقی می‌مانند.

ترتیب عملی کار ساده است: قرائت متن مبدأ را تثبیت کنید، هرگونه یکدست‌سازی را مشخص نمایید، و سپس در صورت نیاز ترجمه کنید. روانی متن باید در انتهای این فرایند قرار گیرد—نه اینکه در همان ابتدا جایگزین شواهد و سندیت شود.

مطالب مرتبط