إسماعيل بن علا

English-to-Arabic Translator

ترجمة آلية بمحوّل Transformer

معالجة اللغات الطبيعية · أكتوبر 2026 · مكتمل

محوّل Transformer من نوع مشفِّر-مفكِّك مكتوب من الصفر يتعلم الترجمة من الإنجليزية إلى العربية انطلاقًا من أي مدونة متوازية.

التقنياتPyTorchCustom TransformersHugging Face TokenizersBeam searchHugging Face DatasetssacreBLEUpytest

English-to-Arabic Translator — نظرة عامة

نظرة عامة

الترجمة الآلية هي المهمة التي صُمِّم المحوّل (Transformer) من أجلها، لذلك كتبت نموذج المشفِّر-المفكِّك (encoder-decoder) من ورقة Attention Is All You Need بلغة PyTorch خالصة، في نحو 150 سطرًا للنموذج نفسه، وبنيت حوله كل ما يحتاجه نظام ترجمة: إعداد البيانات، والمقطِّع (tokenizer)، والتدريب، وفك التشفير، والتقييم. زوج الإنجليزية إلى العربية هو الافتراضي، لكن رموز اللغات ليست سوى لواحق للملفات.

يستخدم النموذج كتلًا متبقية من نوع pre-norm، ومفردات BPE مشتركة مع تضمينات دخل وخرج مربوطة (tied embeddings)، وانتباهًا مدمجًا بالجداء النقطي المقيس مع أقنعة الحشو للمصدر وأقنعة سببية للهدف. يُدرَّب المقطِّع على البيانات ويتعامل مع أي نظام كتابة، لذلك تبقى العربية في ترتيبها الطبيعي دون أي حيل لعكسها. يتضمن التدريب تنعيم التسميات، وجدول إحماء، ودفعات مجمّعة بحسب الطول، وتراكم التدرّجات، والاستئناف، ونقاط حفظ مكتفية بذاتها؛ وفك التشفير جشع على دفعات أو بحث شعاعي (beam search) مع عقوبة طول؛ ويعرض التقييم BLEU وchrF بواسطة sacreBLEU، إضافة إلى حساب متوسط نقاط الحفظ.

تحققت من خط المعالجة من البداية إلى النهاية على مجموعة بيانات تجريبية مدمجة: 2,000 زوج اصطناعي من معجم إنجليزي من 16 كلمة مترجم كلمة بكلمة إلى العربية. نموذج بـ 0.95 M معلمة مدرَّب لـ 1,500 خطوة على المعالج المركزي يبلغ BLEU 98.4 وchrF 99.0 على 100 زوج غير مرئي. هذا يثبت أن الشيفرة تعمل؛ ولا يقول شيئًا عن جودة الترجمة الحقيقية، التي تتطلب مدونة مثل OPUS-100 ووحدة معالجة رسومية.

السؤال

هل يستطيع محوّل Transformer مضغوط ومقروء، مع خط المعالجة الكامل حوله (تنظيف البيانات، والمقطِّع، والتدريب، وفك التشفير، والتقييم)، الانتقال من النص المتوازي الخام إلى الترجمات من دون أي صندوق أسود؟

أهم الميزات

كيف يعمل

  1. الإعداد

    تُنظَّف الجمل (مرشّحات للطول ولنسبة الأطوال وللتكرار)، وتُخلط، وتُقسَّم، وتُستخدم لتدريب مفردات BPE واحدة للغتين.

  2. التضمين

    تمر معرّفات الرموز عبر جدول تضمين واحد يتشاركه المشفِّر والمفكِّك وإسقاط الخرج، مقيس بالجذر التربيعي للعرض ومضاف إلى المواضع الجيبية.

  3. التشفير وفك التشفير

    تبني طبقات المشفِّر من نوع pre-norm ذاكرة للمصدر؛ وتستخدم طبقات المفكِّك انتباهًا ذاتيًا سببيًا على ما وُلِّد من الهدف حتى الآن وانتباهًا متقاطعًا على تلك الذاكرة.

  4. التدريب

    إنتروبيا متقاطعة مع تنعيم التسميات على رمز الهدف التالي، وAdam مع جدول Noam، ودفعات مجمّعة بحسب الطول حتى ميزانية رموز، وحفظ أفضل خسارة تحقق في best.pt.

  5. الترجمة والتقييم

    فك تشفير جشع للسرعة أو بحث شعاعي مع عقوبة طول للجودة؛ ويقيّم en2ar-evaluate تقسيم الاختبار بـ BLEU على مستوى المدونة وchrF.

أمثلة

المدخل

en2ar-translate --checkpoint checkpoints/toy/best.pt --text "three red bird" --text "blue cat" --text "seven green dog one"

المخرج

ثلاثة أحمر طائر أزرق قطة سبعة أخضر كلب واحد

الخرج الفعلي للنموذج التجريبي. المهمة التجريبية كلمة بكلمة، لذلك فالخرج هو الترجمة الحرفية المتوقعة.

المدخل

en2ar-train --data-dir data/toy --preset small --max-steps 1500 --warmup-steps 200 --eval-every 500 --tokens-per-batch 1000 --device cpu && en2ar-evaluate --checkpoint checkpoints/toy/best.pt --beam-size 1

المخرج

val loss 0.092 (perplexity 1.10) at step 1000; test BLEU 98.4, chrF 99.0 greedy; BLEU 95.1, chrF 95.9 with beam size 4

التشغيل التجريبي من ملف README: 0.95 M معلمة، ومفردات من 155 رمزًا، و40 دقيقة على معالج مركزي مشغول. البحث الشعاعي هنا أدنى قليلًا من الجشع لأن عقوبة الطول مضبوطة للجمل الحقيقية.

التقنيات المستخدمة

ما تعلمته

الحدود

الكلمات المفتاحية

الترجمة الآلية · الترجمة الآلية العصبية · NMT · من الإنجليزية إلى العربية · معالجة اللغة العربية · Transformer · مشفِّر-مفكِّك · الانتباه · من الصفر · BPE · byte-pair encoding · البحث الشعاعي · تنعيم التسميات · BLEU · chrF · sacreBLEU · OPUS-100 · PyTorch · تسلسل إلى تسلسل