الترجمة الآلية1993متقدم14 دقيقة قراءة
رياضيات الترجمة الآلية الإحصائية: تقدير المعاملات
The Mathematics of Statistical Machine Translation: Parameter Estimation
Brown, P. F. · Della Pietra, S. A. · Della Pietra, V. J. · Mercer, R. L. — Computational Linguistics
المشكلة
قبل عام 1990، اعتمدت على قواعد مكتوبة يدوياً — لُغويون يُرمِّزون القواعد النحوية وربط المفردات لكل زوج لغوي بأنفسهم. هذه الأنظمة كانت هشّة ومكلفة، وتفشل عند أي جملة لم يتوقعها مصمموها. في الوقت نفسه، كان البرلمان الكندي يُنتج ملايين الجمل المتوازية بالفرنسية والإنجليزية (مدونة هانسارد)، لكن لم يكن لدى أحدٍ إطار رياضي مُحكَم لاستخلاص معرفة ترجمية من تلك البيانات الخام تلقائياً.
الإسهام
خمسة نماذج إحصائية توليدية (نماذج IBM من 1 إلى 5) لعملية الترجمة، كلٌّ منها يبني على سابقه. 1 يتعلم فقط أي كلمة تُترجَم إلى أي كلمة أخرى (ترجمة مفرداتية). النموذج 2 يُضيف تفضيلات موضع الكلمة (). النموذج 3 يُقدِّم مفهوم — كلمة واحدة قد تُنتج صفراً أو كلمة أو عدة كلمات. النموذج 4 يُنمذج إعادة ترتيب على مستوى العبارات. النموذج 5 يُصلح التسريبات . جميعها تُدرَّب بخوارزمية تعظيم التوقع على نصوص متوازية دون أي تعليق توضيحي بشري. الورقة أيضاً أضفت الطابع الرسمي على تفكيك : argmax_e P(e) × P(f|e)، فاصلةً بين نموذج اللغة ونموذج الترجمة.
الأثر
أسّست هذه الورقة الترجمة الآلية الإحصائية. إطار القناة المشوَّشة ونماذج المحاذاة التي قدّمتها هيمنا على ميدان الترجمة الآلية لعقدين كاملين. خوارزميات محاذاة الكلمات أصبحت بنية تحتية: أداة GIZA++ التي تُنفِّذ هذه النماذج لا تزال مستخدمة حتى اليوم في تجهيز بيانات . أسلوب التدريب القائم على تعظيم التوقع أثّر في كل نموذج غير مُوجَّه تقريباً ظهر لاحقاً في معالجة اللغة الطبيعية. من سلالة هذه الورقة: الترجمة الإحصائية المبنية على العبارات، ومقياس BLEU للتقييم، وترميز أزواج البايت (BPE)، وصولاً إلى البنى العصبية القائمة على المرمِّز وفاكّ الترميز التي حلّت محلها — وكلٌّ منها يقف على الأسس الرياضية التي أُرسيت هنا.
تخيّل أنك محقق يتنصّت على مكالمة هاتفية — لكن المشتبه به يتكلم بالفرنسية، والخط مليء بالتشويش. أنت لا تسمع ما يدور في ذهنه بالإنجليزية، بل تسمع فقط ما وصلك مشوَّهاً بالفرنسية. لكي تفهم ما قاله فعلاً، تحتاج أداتين: قاموس فرنسي-إنجليزي يُخبرك أيّ الكلمات تقابل أيّها، وحسّ لغوي إنجليزي يُخبرك هل «القطة جلست على السجادة» أكثر منطقية من «سجادة جلست القطة على»؟
هذا بالضبط ما تبنيه الورقة. «القاموس» يقابل ما يُسمّى نموذج الترجمة P(f|e) — وهو يُعبِّر عن احتمال أن تظهر جملة إنجليزية معيّنة بهذه الصورة الفرنسية بعد مرورها عبر القناة المشوَّشة. أمّا «الحسّ اللغوي» فيقابل P(e). المحقق يبحث عن الجملة الإنجليزية التي تُرضي الطرفين: أكثر جملة تبدو طبيعية بالإنجليزية وتُفسِّر في الوقت ذاته ما سمعه بالفرنسية.
الفكرة المحورية: الترجمة بوصفها فك تشفير قناة مشوَّشة
في عام 1949 كتب وارن ويفر مذكرة بصيرة طرح فيها فكرة جريئة: ماذا لو نظرنا إلى الترجمة بوصفها مسألة فكّ شيفرة؟ النص الفرنسي ليس سوى نص إنجليزي «شُفِّر» بالفرنسية، وإن كنّا نعرف كيف نكسر الشيفرات فربما نستطيع ترجمة اللغات بالأسلوب نفسه.
ما فعله براون وزملاؤه أنهم حوّلوا هذا التشبيه إلى إطار رياضي صارم مستوحى من نظرية المعلومات عند كلود شانون. الفكرة الأساسية هي ما يُعرف بـنموذج القناة المشوَّشة: تخيّل أن المتحدث يُفكِّر بالإنجليزية — هذا هو المصدر — ثم تمرّ أفكاره عبر «قناة» تُشوِّهها وتُخرجها بالفرنسية، والمطلوب من المترجم أن يستعيد الإنجليزية الأصلية من هذه الإشارة المشوَّشة.
من الناحية الرياضية، نبحث عن الجملة الإنجليزية ê التي تُعظِّم الاحتمال اللاحق بمعلومية الجملة الفرنسية المُلاحَظة f. وبتطبيق مبرهنة بايز ينشطر هذا الاحتمال إلى جزأين مستقلين يمكن بناء كلٍّ منهما وتدريبه على حدة.
أناقة هذا التفكيك تكمن في أنه يفصل بين مهارتين مختلفتين كلياً. نموذج اللغة P(e) لا يعرف شيئاً عن الفرنسية — وظيفته الوحيدة أن يحكم على طبيعية الإنجليزية، وقد تعلّم ذلك من كمّيات ضخمة من النصوص الإنجليزية. في المقابل، نموذج الترجمة P(f|e) لا يعرف قواعد الإنجليزية أصلاً — كل ما يفعله هو وصف كيف تتحوّل الكلمات الإنجليزية إلى كلمات فرنسية. كلٌّ منهما يُحسَّن باستقلال عن الآخر، لكنهما معاً يُنتجان الترجمة.
تخيّل الأمر كأنك استعنت بمستشارَيْن: الأول مُحرِّر إنجليزي يُرتِّب الجمل المرشحة حسب طلاقتها، والثاني مُحلِّل شيفرات ثنائي اللغة يُسجِّل لكل جملة إنجليزية مرشحة درجةً تعكس احتمال أنها هي التي أنتجت الفرنسية المسموعة. أفضل ترجمة هي التي تُرضي الاثنين.
المتغير الخفي: محاذاة الكلمات
لكي نحسب P(f|e)، نحتاج أن نعرف أيّ كلمة إنجليزية أنتجت أيّ كلمة فرنسية. هذه الروابط بين الكلمات هي ما نسمّيه المحاذاة. مثلاً في الزوج "the house" → "la maison"، كلمة "the" ترتبط بـ "la" وكلمة "house" ترتبط بـ "maison".
المشكلة أن هذه المحاذاة لا يُخبرنا بها أحد — إنها . لم يجلس إنسان ليرسم أسهماً يدوية بين ملايين أزواج الجمل في هانسارد. إذن على النموذج أن يتعلّم احتمالات الترجمة ويكتشف المحاذاة في الوقت نفسه. وهنا تظهر مشكلة «الدجاجة والبيضة»: لو كنّا نعرف المحاذاة لعددنا أزواج الكلمات وحسبنا الاحتمالات مباشرةً، ولو كنّا نعرف الاحتمالات لاخترنا أفضل محاذاة. لكننا لا نملك أياً منهما.
الحلّ يأتي من خوارزمية تعظيم التوقع (EM): نبدأ بتخمين المحاذاة بناءً على الاحتمالات الحالية، ثم نُحدِّث الاحتمالات بناءً على المحاذاة المُخمَّنة، ونكرّر — كأنك تصعد درجاً حلزونياً يقترب في كل دورة من الإجابة الصحيحة.
النموذج 1: ترجمة مفرداتية صِرفة
النموذج 1 هو أبسط نموذج ترجمة يمكن تصوّره. يقوم على افتراض جذري واحد: موضع الكلمة لا يهمّ إطلاقاً. أي محاذاة ممكنة — أي طريقة لربط الكلمات الفرنسية بالإنجليزية — تتساوى في الاحتمال، بغضّ النظر عن ترتيب الكلمات داخل الجملة.
قد يبدو هذا مبالغاً في التبسيط، لكنه مقصود تماماً. عندما نتجاهل الموضع، لا يبقى أمام النموذج سوى نوع واحد من ليتعلّمه: احتمالات الترجمة المفرداتية t(f|e) — أي احتمال أن تظهر الكلمة الإنجليزية e بصورة الكلمة الفرنسية f. والمكافأة الكبرى لهذا التبسيط أن خوارزمية تعظيم التوقع تضمن هنا وحيداً: مهما كانت نقطة البداية، ستصل إلى الإجابة ذاتها. هذا ضمان لا يملكه أي نموذج IBM آخر.
ويُدخل النموذج أيضاً رمزاً خاصاً هو NULL: كلمة إنجليزية وهمية تُوضع في الموضع 0 وتكون مسؤولة عن «توليد» كلمات فرنسية ليس لها نظير إنجليزي، مثل "ne" الفرنسية في صيغة النفي التي لا تقابلها كلمة إنجليزية بعينها.
يمكن قراءة هذه الصيغة كوصفة خطوة بخطوة: لكل كلمة فرنسية f_j لا نعرف مَن أنتجها من الطرف الإنجليزي، فنجمع على جميع المصادر الإنجليزية المحتملة بما فيها NULL. كل مصدر يُضيف نصيبه من الاحتمال عبر t(f_j|e_i). وبما أننا نفترض تساوي جميع المحاذاة، فإن هذا الجمع يُعادل ببساطة أخذ المتوسط. أمّا الجداء على j فمعناه أننا نُكرِّر العملية ذاتها لكل كلمة فرنسية باستقلال تامّ.
خوارزمية تعظيم التوقع: التعلّم بدون إشراف
آلية عمل خوارزمية تعظيم التوقع في النموذج 1 أبسط ممّا قد تتوقع. نبدأ بتعيين كل احتمال ترجمة t(f|e) على القيمة نفسها — تخمين منتظم لا يُفضِّل كلمة على أخرى. بعدها نُكرِّر خطوتين:
خطوة التوقع (E): نأخذ كل زوج جمل ونستخدم قيم t(f|e) الحالية لنحسب: ما «نصيب» كل كلمة إنجليزية في تفسير كل كلمة فرنسية؟ الناتج أعداد كسرية — كأنك توزّع ملكية كل كلمة فرنسية على مصادرها الإنجليزية المحتملة بنِسَب ليّنة.
خطوة التعظيم (M): نجمع هذه الأعداد الكسرية عبر المدوَّنة كلها، ثم نُعيد حساب t(f|e) بالتسوية: t(f|e) = count(f,e) / count(e). الكلمات التي تظهر معاً كثيراً تحصل على احتمال ترجمة أعلى.
في كل جولة تزداد البيانات المُلاحَظة. وبفضل تحدُّب النموذج 1، نضمن أن سيكون نحو القيمة القصوى الشاملة — وهو ترف نادر في .
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
from collections import defaultdict
def train_ibm_model1(parallel_corpus, n_iter=10):
"""درِّب نموذج IBM 1 على قائمة أزواج جمل (إنجليزية، فرنسية)."""
# اجمع المفردات
vocab_f = set(w for _, f in parallel_corpus for w in f)
vocab_e = set(w for e, _ in parallel_corpus for w in e)
# البداية: احتمالات ترجمة منتظمة
t = defaultdict(lambda: 1.0 / len(vocab_f))
for iteration in range(n_iter):
# خطوة التوقع: اجمع الأعداد الكسرية
count = defaultdict(float) # count(f, e)
total = defaultdict(float) # count(e)
for e_sent, f_sent in parallel_corpus:
e_sent = ['NULL'] + list(e_sent) # أضف NULL في البداية
for f_word in f_sent:
# التسوية: مجموع t(f|e) على كل e في هذه الجملة
z = sum(t[(f_word, e_word)] for e_word in e_sent)
for e_word in e_sent:
# العدد الكسري: ما مقدار تفسير e_word لـ f_word؟
c = t[(f_word, e_word)] / z
count[(f_word, e_word)] += c
total[e_word] += c
# خطوة التعظيم: أعِد تقدير t(f|e) = count(f,e) / count(e)
for (f_word, e_word) in count:
t[(f_word, e_word)] = count[(f_word, e_word)] / total[e_word]
return t
# بعد التدريب: t[("maison", "house")] ≈ احتمال مرتفع
# و t[("maison", "cat")] ≈ قريب من الصفرالنموذج 2: الموضع مهم
في النموذج 1 كل المحاذاة متساوية الاحتمال — كلمة "la" قد تكون قد جاءت من أي موضع في الجملة الإنجليزية. لكن الواقع يقول إن الكلمة الفرنسية الأولى غالباً ما تنشأ من مكان قريب من بداية الجملة الإنجليزية. النموذج 2 يُعالج هذا القصور بإضافة احتمال محاذاة a(i|j, l, m): وهو يُعبِّر عن مدى ترجيح أن يرتبط الموضع الفرنسي j بالموضع الإنجليزي i، بمعلومية طولي الجملتين.
تخيّل الأمر وكأنك ربطت حبلاً مطّاطياً بين المواضع المتقابلة: الكلمة الفرنسية الأولى تنجذب برفق نحو بداية الجملة الإنجليزية، والأخيرة تنجذب نحو نهايتها. النموذج لا يزال قادراً على تعلّم الاستثناءات — كأن يتقدّم الفعل في الفرنسية — لكنه الآن يملك تفضيلاً موضعياً بدلاً من عشوائية عمياء.
النموذج 3: كلمة واحدة، ترجمات عديدة
النموذجان 1 و2 يفترضان أن كل كلمة فرنسية تنبع من كلمة إنجليزية واحدة بالضبط. لكن الترجمة في الواقع ليست علاقة واحد لواحد. كلمة "not" الإنجليزية مثلاً تتحوّل في الفرنسية إلى كلمتين: "ne...pas". وكلمة "Kindergarten" الألمانية كلمة مفردة لكنها تحتاج كلمتين بالإنجليزية.
هنا يأتي النموذج 3 بفكرة جديدة: الخصوبة φ(e)، وهي عدد الكلمات الفرنسية التي «تُنجبها» كلمة إنجليزية واحدة. إذا كانت الخصوبة 0 فالكلمة تختفي ولا يظهر لها أثر في الجملة الفرنسية. الخصوبة 1 هي الحالة الاعتيادية: كلمة مقابل كلمة. والخصوبة 2 أو أكثر تعني أن الكلمة «تتفتّح» إلى عبارة.
تخيّل كل كلمة إنجليزية بذرة قد تُنبت صفراً أو واحدة أو عدّة شتلات فرنسية. احتمال الخصوبة n(φ|e) يُحدِّد لنا كم شتلة تُنتجها كل بذرة عادةً. بعد الإنبات، كل شتلة تُترجَم بشكل مستقل عبر t(f|e)، ثم تُوضع في موقعها داخل الجملة الفرنسية عبر احتمال تشويه d(j|i,l,m) يحلّ محل احتمال المحاذاة الذي استخدمه النموذج 2.
النموذجان 4 و5: إعادة الترتيب وإصلاح الحساب
النموذج 4 ينطلق من ملاحظة عملية: العبارات تتحرّك ككتلة واحدة. فإذا وُلِدت "ne...pas" من "not"، فمن المتوقع أن تقع الكلمتان الفرنسيتان قرب بعضهما لا أن تتشتتا في أطراف الجملة. لذلك يستبدل النموذج 4 التشويه المطلق في النموذج 3 بـتشويه نسبي: موضع كل كلمة فرنسية يُحسب بالنسبة لموضع الكلمة المحاذية التي سبقتها. ويُدخل أيضاً فئات الكلمات — أي تجميع الكلمات ذات السلوك النحوي المتشابه — حتى تتشارك الكلمات النادرة قوتها الإحصائية مع أخوات لها.
تخيّل التشويه النسبي وكأنه قافلة: الكلمة الأولى في العبارة ترسم المسار، والكلمات التالية تسير خلفها. أمّا التشويه المطلق في النموذج 3 فكان أشبه بإلقاء كل كلمة عشوائياً على خريطة دون أن تعرف شيئاً عن جاراتها.
النموذج 5 يُعالج مشكلة تقنية في النموذجين 3 و4 تُسمّى القصور الاحتمالي: هذان النموذجان يُهدران جزءاً من الكتلة الاحتمالية على أحداث لا يمكن أن تقع — مثل أن تُوضع كلمتان فرنسيتان في الموضع نفسه. النموذج 5 يحلّ ذلك بتتبُّع المواضع المشغولة ووضع كل كلمة جديدة في فراغ شاغر فقط. النتيجة نموذج أنظف من الناحية الرياضية، لكن تحسّنه الفعلي في جودة الترجمة طفيف مقارنةً بالنموذج 4.
القصة التوليدية الكاملة للنموذج 3
لفهم آلية عمل هذه النماذج، تخيّل أن الترجمة قصة يحكيها النموذج عن الطريقة التي «وُلِدت» بها الجملة الفرنسية انطلاقاً من الجملة الإنجليزية. قصة النموذج 3 تسير كالتالي:
الخطوة 1 — الخصوبة: لكل كلمة إنجليزية e_i، قرّر كم كلمة فرنسية ستُنجبها باختيار خصوبتها φ_i من التوزيع n(φ|e_i).
الخطوة 2 — إدراج NULL: حدّد عدد الكلمات الفرنسية الإضافية التي لا مصدر إنجليزي لها — هذه تأتي من رمز NULL وتُوزَّع بانتظام.
الخطوة 3 — الترجمة المفرداتية: لكل «فتحة» أنشأتها الخصوبة، اختر كلمة فرنسية باستقلال تامّ من t(f|e_i).
الخطوة 4 — التشويه: ضع كل كلمة فرنسية مُولَّدة في موقعها داخل الجملة الفرنسية وفق d(j|i,l,m).
احتمال الجملة الفرنسية ككل هو حاصل ضرب كل هذه الاختيارات. أمّا التدريب فيعني البحث عن المعاملات (n, t, d) التي تُعظِّم هذا الاحتمال عبر جميع أزواج الجمل في المدوَّنة.
إيجاد أفضل محاذاة: بحث فيتربي
بعد الانتهاء من التدريب، أحد أهم التطبيقات هو استخراج المحاذاة الأكثر احتمالاً بين زوج جمل — أي تحديد أيّ كلمة إنجليزية أنتجت أيّ كلمة فرنسية. في النموذج 1 الأمر مباشر: كل كلمة فرنسية تختار باستقلال مصدرها الإنجليزي الأعلى احتمالاً. وفي النموذج 2 يظلّ القرار مستقلاً لكل كلمة فرنسية — نختار الموضع i الذي يُعظِّم a(i|j,l,m)·t(f_j|e_i).
أمّا في النماذج 3–5 فالمسألة تصبح مستعصية حسابياً (NP-hard) لأن الخصوبة تربط قرارات المحاذاة ببعضها. الحل الذي اعتمده براون وزملاؤه هو تسلُّق تلال: نبدأ من محاذاة فيتربي الخاصة بالنموذج 2، ثم نُجرِّب تعديلات محلية — كتبديل رابطتَي محاذاة أو نقل رابطة — ونتوقف حين لا يُحقق أي تعديل تحسّناً. الأسلوب ليس مثالياً نظرياً، لكنه يعمل جيداً في الممارسة، والمحاذاة الناتجة تلتقط العلاقات بين الكلمات بشكل مُرْضٍ كما لاحظ المؤلفون أنفسهم.
الإرث: من نماذج IBM إلى الترجمة العصبية
نماذج IBM لم تُحسِّن الترجمة فحسب — بل أنشأت حقلاً بأكمله. قبل هذه الورقة كانت الترجمة الآلية حرفة تعتمد على قواعد يكتبها لغويون يدوياً. بعدها تحوّلت إلى علم قائم على البيانات. والمبادئ الجوهرية التي أرستها لا تزال حاضرة في الترجمة العصبية الحديثة:
تفكيك القناة المشوَّشة علّم المجتمع البحثي أن ينظر إلى الترجمة من منظور احتمالي. حتى نماذج التسلسل-إلى-تسلسل تُقدِّر P(target|source)، وهي وريثة مباشرة لـ P(f|e).
محاذاة الكلمات صارت العمود الفقري للترجمة الإحصائية المبنية على العبارات — النموذج الذي سيطر على الميدان بين 2003 و2016 — وألهمت آلية في النماذج العصبية، التي ليست في جوهرها سوى محاذاة ليّنة مُتعلَّمة.
إطار التدريب بتعظيم التوقع — أي التعلّم من بيانات لا تحمل تعليقات توضيحية — لا يزال ركيزة أساسية. نمذجة اللغة المُقنَّعة في BERT، والتنبؤ بالرمز التالي في GPT، و — كلها تحمل الحمض النووي ذاته: استخلاص المعرفة من بنية البيانات غير المُعلَّمة.
1949
مذكرة وارن ويفر
طرح فكرة أن الترجمة تشبه فكّ الشيفرة — النص الأجنبي ليس إلا نسخة «مشفَّرة» من اللغة الأصلية. وبذلك ربط الترجمة بنظرية المعلومات عند شانون.
1990
منهج IBM الإحصائي
نشر براون وزملاؤه أول ورقة في الترجمة الإحصائية، مُثبتين نجاح منهج القناة المشوَّشة على مدونة هانسارد الكندية.
1993
هذه الورقة — نماذج IBM 1–5
الإطار الرياضي الكامل: خمسة نماذج، تدريب بتعظيم التوقع، محاذاة فيتربي. أسّس الترجمة الإحصائية بوصفها تخصصاً علمياً صارماً.
2002
مقياس BLEU
مقياس تقييم آلي لجودة الترجمة الآلية، مكّن من التكرار السريع على أنظمة الترجمة دون الحاجة لمُقيِّمين بشريين في كل تجربة.
2003
الترجمة الإحصائية المبنية على العبارات
وسّع كويِن وزملاؤه محاذاة الكلمات إلى أزواج عبارات، ما حسّن الطلاقة بشكل كبير. هيمن على الترجمة الآلية لأكثر من عقد.
2014
تسلسل-إلى-تسلسل والترجمة العصبية
استبدل ساتسكيفر وزملاؤه الأنبوب الإحصائي بأكمله بشبكة عصبية واحدة تعمل ببنية مُرمِّز وفاكّ ترميز. وعندما أضاف بهداناو (2015) آلية الانتباه، أصبحت هذه البنية قادرة على المنافسة.
2017
المحوِّل
الانتباه الذاتي استغنى عن التكرار بالكامل. ترجمة Google تحوّلت إلى المحوِّل، وطُويت صفحة الترجمة الإحصائية — لكن مفاهيمها الأساسية بقيت حيّة.
سلّم النماذج
كل نموذج من نماذج IBM يُضيف فكرة واحدة فقط إلى سابقه، فتتشكّل سلسلة متصاعدة من الواقعية. النموذج 1 هو القاعدة — ترجمة مفرداتية صِرفة مع ضمان الوصول للحل الأمثل الشامل. النموذج 2 يُدخل تفضيلاً لموضع الكلمة. النموذج 3 يُضيف الخصوبة. النموذج 4 ينتقل إلى إعادة ترتيب على مستوى العبارات. والنموذج 5 يسدّ ثغرات القصور الاحتمالي. كل نموذج يُهيَّأ انطلاقاً من النموذج الذي قبله، فيرث ما تعلّمه سلفُه ويُنقِّحه.
المرجعBrown, Della Pietra, Della Pietra, Mercer. The Mathematics of Statistical Machine Translation: Parameter Estimation. Computational Linguistics, 1993.
مصطلحات هذه الورقة
- الترجمة الآليةMachine Translation
- المحاذاةAlignment
- القناة المشوَّشةNoisy Channel
- الخصوبةFertility
- التشوّهDistortion
- احتمال الترجمةTranslation Probability
- النموذج اللغويLanguage Model
- تقدير الأرجحية القصوىMaximum Likelihood Estimation
- المدونة النصيةCorpus