بث مباشر 18.11 · الدفعة 318 نوفمبر، 19:00 بتوقيت موسكو — ورشة عملية مجانية لوكلاء الذكاء الاصطناعي · الدفعة 3 تبدأ 23.11ورشة 18 نوفمبر ←الدفعة 3 (23.11)
إصدارتحليل · على الرادارHabr AI→ المصدر

Tesseract المُحسَّن يقرأ النص المانسي: انخفاض أخطاء الحروف من 18.5% إلى 0.85%

قام معهد يوغرا للبحوث في تقنيات المعلومات بإعادة تدريب Tesseract 5 على اللغة المانسية. فقد كان النموذج الروسي الأساسي يخلط بين الحروف ذات المكرون ويخطئ في 18.5% من الرموز. وبدلًا من التوسيم اليدوي للمسوحات الضوئية، ولّد الفريق 1.3 مليون سطر اصطناعي، فانخفضت الأخطاء إلى 0.85%. النموذج متاح على Hugging Face.

معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
Tesseract المُحسَّن يقرأ النص المانسي: انخفاض أخطاء الحروف من 18.5% إلى 0.85%
المصدر: Habr AI. كولاج: Hamidun News.
استمع للمقال
بطاقة الحقائق والأرقام
المعيارالتفاصيل
المصدر الأصليHabr AI ↗
رئيس التحرير
حقيقة رئيسية #1توحيد Unicode وفق NFC يزيل تعدد رموز الحرف الواحد
حقيقة رئيسية #21.3 مليون زوج اصطناعي من عشرات الخطوط بدلًا من المسوحات الضوئية
حقيقة رئيسية #3التعلّم بالنقل من rus.traineddata عبر tesstrain

تخيّل أن عليك رقمنة آلاف الصفحات بلغة لا يتوفر لها نظام OCR جاهز ولا مسوحات ضوئية موسومة. هذا بالضبط ما واجهه باحثو معهد يوغرا للبحوث في تقنيات المعلومات عند بناء مدونة للغة المانسية. وجاء حلّهم عمليًا على نحو مفاجئ، ومع ذلك شديد الفاعلية: انخفضت نسبة الرموز الخاطئة من 18.5% إلى 0.85%، أي نحو 20 مرة تقريبًا.

أين كانت المشكلة

تقوم الكتابة المانسية على الأبجدية السيريلية، لكنها تتضمن حروف علة طويلة بعلامة المكرون (а̄، о̄، ӯ، э̄، ы̄) وحرف ӈ. ونموذج Tesseract الروسي القياسي لا يعرف هذه الرموز. فهو يفقد الخط فوق الحرف أو يحوّله إلى رموز عشوائية. وفي المانسية يغيّر طول حرف العلة معنى الكلمة، ولذلك فإن فقدان المكرون يعني فقدان المعلومة.

في مثال السطر «Хӯл тэ̄нутыг ва̄рнэ ма̄гыс» أخرج النموذج الروسي «Хул тэнутыг варнэ магьгсь»: اختفت المكرونات وتحوّل الحرف «ы» إلى «ьг». أما النموذج المُحسَّن فقرأ السطر كاملًا دون خطأ واحد.

وثمة مشكلة ثانية أقل وضوحًا. فالحرف نفسه يمكن كتابته في Unicode بأكثر من طريقة: إما رمزًا جاهزًا واحدًا، أو «у» متبوعًا بمكرون مركّب. وهما متطابقان بالنسبة للإنسان، لكنهما متسلسلتان مختلفتان بالنسبة للنموذج ولمقارنة السلاسل النصية. يكفي فتح وحدة تحكم Python: سيكون طول حرفين «ӯ» متطابقين بصريًا 1 و2، وستعيد المقارنة False.

كيف جُمعت البيانات دون مسوحات ضوئية

لا توجد مسوحات ضوئية مانسية بالحجم المطلوب، وكان توسيمها يدويًا سيستغرق سنوات. لذلك ولّد الفريق البيانات بنفسه: يأخذ نصًا مانسيًا حقيقيًا، ويرسمه على صورة بخطوط مختلفة، فتكون الإجابة الصحيحة معروفة مسبقًا.

يتكون خط المعالجة من أربع خطوات:

  • تُوحَّد جميع النصوص وفق صيغة Unicode NFC، بحيث يكون لكل حرف تمثيل واحد فقط.
  • تُعرض الأسطر بعشرات الخطوط، منها FreeSerif وDejaVu Sans وArial وTimes New Roman، بأحجام 12 و14 و24 و26 نقطة وبثلاثة أنماط.
  • يُحاط كل رمز بإطار. والحساب التلقائي المعتمد على مقاييس الخط يخطئ في علامات التشكيل، لذلك أدخل المؤلفون ثلاثة قواميس تصحيح: للرموز المفردة، ولحجم الخط، وللخط المحدد. وقد جرى اختيار القيم تجريبيًا.
  • يُقطَّع النص الطويل بالدالة split_by_width كي لا يتجاوز أي رمز حافة الصورة.

وكانت المحصلة 1.3 مليون زوج من «صورة .tif + ملف .gt.txt يحوي الإجابة الصحيحة».

كيف أُعيد تدريب Tesseract

الجزء الثالث من الوصفة هو التعلّم بالنقل. ففي داخل Tesseract 5 تعمل شبكة CRNN: يلتقط الجزء الالتفافي الخطوط والسمات، وتقرأ LSTM السمات من اليسار إلى اليمين، وتعفي دالة الخسارة CTC من التوسيم اليدوي لحدود الحروف. واتُّخذ ملف rus.traineddata من tessdata_best نقطة انطلاق. والأبجدية المانسية تكاد تطابق الروسية، ولذلك يحتاج النموذج أساسًا إلى تعلّم الحروف الجديدة.

وتستخرج الأداة tesstrain بنفسها جزء LSTM مع أوزانه، وتجمع القائمة الكاملة للرموز من بيانات التدريب، وتوسّع طبقة الإخراج لتناسب الأبجدية المدمجة. وتبيّن أن المعامل الحاسم هو عدد التكرارات: إن كانت قليلة لم تُستوعب الحروف الجديدة، وإن كانت كثيرة أفرط النموذج في التكيّف مع البيانات الاصطناعية. وقد ساعد الإيقاف المبكر اعتمادًا على مجموعة التحقق.

النتيجة بالمقاييس: انخفض CER من 18.5% إلى 0.85%، وانخفض WER من 42.1% إلى 1%. ولا يبقى على الإنسان سوى مراجعة النتيجة بدلًا من إعادة إدخال النص.

القيود والخلاصة العملية

يقرأ النموذج بثقة النص المطبعي النظيف بحجم 12–26 نقطة. وأداؤه أسوأ مع الخطوط الصغيرة جدًا أو الكبيرة جدًا، ومع الحروف اللاتينية، ومع الإصدارات القديمة ذات الطباعة الباهتة. ويخطط المؤلفون لإضافة مسوحات أرشيفية حقيقية إلى التدريب. ولنلاحظ أيضًا أن التقييم جرى في الظروف الاصطناعية نفسها، لذا يرجَّح أن تكون الأرقام على الكتب الحقيقية أسوأ.

والمفيد للممارسين هو الوصفة نفسها. إذا كنت تعمل مع لغة أو مجال تقل فيه البيانات الموسومة:

  • ابدأ بتوحيد Unicode، فهي خطوة رخيصة وغالبًا ما يُستهان بها.
  • ولّد بيانات اصطناعية من نصوص حقيقية مع تنوّع في الخطوط.
  • أعد تدريب نموذج جاهز بدلًا من التدريب من الصفر.

ويرى المؤلفون أن النهج نفسه يناسب لغات الخانتي والنينيتس وغيرها من اللغات السيريلية ذات علامات التشكيل. ونموذج mns.traineddata متاح على Hugging Face (URIIT/mns-tesseract): يكفي وضع الملف في مجلد tessdata وتحديد اللغة mns. ويمكن تجربته أيضًا في المتصفح على بوابة الإثنوغرافيا (Etnoportal).

القصة

أسئلة وأجوبة حول الخبر

ما أبرز التفاصيل حول أين كانت المشكلة؟

تقوم الكتابة المانسية على الأبجدية السيريلية، لكنها تتضمن حروف علة طويلة بعلامة المكرون (а̄، о̄، ӯ، э̄، ы̄) وحرف ӈ. ونموذج Tesseract الروسي القياسي لا يعرف هذه الرموز. فهو يفقد الخط فوق الحرف أو يحوّله إلى رموز عشوائية. وفي المانسية يغيّر طول حرف العلة معنى الكلمة، ولذلك فإن فقدان المكرون يعني فقدان المعلومة. في مثال السطر «Хӯл тэ̄нутыг ва̄рнэ ма̄гыс» أخرج النموذج الروسي «Хул тэнутыг варнэ магьгсь»: اختفت المكرونات وتحوّل الحرف «ы» إلى «ьг». أما النموذج المُحسَّن فقرأ السطر كاملًا دون خطأ واحد.

ما أبرز التفاصيل حول كيف جُمعت البيانات دون مسوحات ضوئية؟

لا توجد مسوحات ضوئية مانسية بالحجم المطلوب، وكان توسيمها يدويًا سيستغرق سنوات. لذلك ولّد الفريق البيانات بنفسه: يأخذ نصًا مانسيًا حقيقيًا، ويرسمه على صورة بخطوط مختلفة، فتكون الإجابة الصحيحة معروفة مسبقًا. يتكون خط المعالجة من أربع خطوات: تُوحَّد جميع النصوص وفق صيغة Unicode NFC، بحيث يكون لكل حرف تمثيل واحد فقط. تُعرض الأسطر بعشرات الخطوط، منها FreeSerif وDejaVu Sans وArial وTimes New Roman، بأحجام 12 و14 و24 و26 نقطة وبثلاثة أنماط. يُحاط كل رمز بإطار.

ما أبرز التفاصيل حول كيف أُعيد تدريب Tesseract؟

الجزء الثالث من الوصفة هو التعلّم بالنقل. ففي داخل Tesseract 5 تعمل شبكة CRNN: يلتقط الجزء الالتفافي الخطوط والسمات، وتقرأ LSTM السمات من اليسار إلى اليمين، وتعفي دالة الخسارة CTC من التوسيم اليدوي لحدود الحروف. واتُّخذ ملف rus.traineddata من tessdata_best نقطة انطلاق. والأبجدية المانسية تكاد تطابق الروسية، ولذلك يحتاج النموذج أساسًا إلى تعلّم الحروف الجديدة. وتستخرج الأداة tesstrain بنفسها جزء LSTM مع أوزانه، وتجمع القائمة الكاملة للرموز من بيانات التدريب، وتوسّع طبقة الإخراج لتناسب الأبجدية المدمجة.

ZK
جمال حميدون — مدير المنتجات في Alpina Digital ومدير منتج AlpinaGPT. يبني منتجات الذكاء الاصطناعي منذ 2019. بدأ Hamidun News كمشروع شخصي ثم أصبح مُجمِّعًا إنتاجيًا بأكثر من 6000 قارئ.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
ما رأيك؟
جارٍ تحميل التعليقات…