تقييم معالجة اللغة2002مبتدئ9 دقيقة قراءة
BLEU: طريقة للتقييم التلقائي للترجمة الآلية
BLEU: A Method for Automatic Evaluation of Machine Translation
Papineni, K. · Roukos, S. · Ward, T. · Zhu, W.-J. — ACL
المشكلة
قبل عام 2002 لم يكن أمام الباحثين طريقة موثوقة لتقييم إلا الاستعانة بمحكّمين بشريين ثنائيي اللغة، وهذا يعني تكلفة عالية وانتظاراً قد يمتدّ لأسابيع. تخيّل أنك تريد تجربة 50 تعديلاً على نموذجك خلال عطلة نهاية الأسبوع — مستحيل، لأن كل تعديل يحتاج جولة تقييم بشري جديدة. المجال كان بأمسّ الحاجة إلى مقياس تلقائي سريع وزهيد التكلفة، يعطي نتائج تتوافق مع أحكام المحكّمين البشريين.
الإسهام
مقياس BLEU (اختصار Bilingual Evaluation Understudy): يقيس جودة الترجمة الآلية تلقائياً من خلال حساب عدد تسلسلات الكلمات (n-grams) المشتركة بين الترجمة المُراد تقييمها ومرجع بشري واحد أو أكثر. الفكرة الذكية فيه أنه يستخدم دقة معدَّلة تمنع أي نظام من التلاعب بتكرار كلمات شائعة، ويدمج دقة الأحاديات والثنائيات والثلاثيات والرباعيات عبر المتوسط الهندسي، ثم يضيف عقوبة إيجاز تخصم من الترجمات القصيرة المخادعة. النتيجة: بيرسون بلغ 0.99 مع أحكام المحكّمين البشريين على مستوى المتن.
الأثر
تحوّل BLEU إلى المقياس المعياري في مجال الترجمة الآلية لأكثر من عقد، ولا يزال شائع الاستخدام حتى اليوم. الأثر الأكبر أنه ضغط دورة البحث من أشهر إلى ساعات، فأصبح بإمكان الباحثين تجربة عشرات التعديلات يومياً — وهذا ما مهّد الطريق أمام الترجمة الآلية الإحصائية ثم العصبية. أفكاره الأساسية — مطابقة تسلسلات الكلمات، والدقة المعدَّلة، وعقوبة الإيجاز — ألهمت كل مقياس جاء بعده: METEOR وROUGE وCIDEr وBERTScore. باختصار، أثبت BLEU أن التقييم التلقائي الرخيص يمكن أن يغني عن التقييم البشري المكلف على مستوى المقارنة بين الأنظمة.
تخيّل أنك معلم تصحّح ترجمة طالب لنصٍّ فرنسي، وأمامك ثلاث نسخ مرجعية كتبها مترجمون محترفون. لن تهتم بالأسلوب الأدبي — كل ما ستفعله أنك تضع ورقة الطالب بجانب كل نسخة وتُحصي العبارات المشتركة: كلمات مفردة أولاً، ثم أزواج كلمات متتالية، ثم ثلاثيات، ثم رباعيات.
كلما وجدت تطابقات أكثر، كانت الترجمة أفضل. لكن انتبه لثغرة: لو كتب طالب كسول كلمة «the» فقط — وهي كلمة موجودة في كل نسخة مرجعية — لحصل على 100% في مطابقة الكلمات المفردة! الحل أنك تضع سقفاً لكل كلمة: لا تحسبها أكثر من عدد مرات ظهورها في أفضل نسخة مرجعية.
وهناك قاعدة أخيرة: إن كانت إجابة الطالب قصيرة بشكل مريب — كأنه ترجم نصف النص فقط — تُطبّق عليه عقوبة قِصَر. هذا هو BLEU باختصار: عدّ عبارات مشتركة مع سقف للتكرار، زائد عقوبة على الاختصار المُخِل.
عنق الزجاجة: التقييم البشري بطيء ومكلف
في مطلع الألفية، لم تكن هناك طريقة موثوقة لتقييم الترجمة الآلية سوى الاستعانة بمحكّمين بشريين ثنائيي اللغة. العملية كانت تسير هكذا: تجمع لجنة من الخبراء، تنتظرهم حتى يقرؤوا مئات الترجمات ويقيّموها، ثم تجمّع الدرجات. ثلاث مشكلات جوهرية كانت تخنق هذا المسار:
- التكلفة. حملة تقييم واحدة قد تستنزف آلاف الدولارات وأسابيع من الوقت.
- عدم الاتساق. كل محكّم يطبّق معاييره الخاصة، بل المحكّم نفسه قد يعطي الترجمة ذاتها درجات مختلفة في أيام مختلفة.
- البطء. أي تعديل على يستلزم جولة تقييم بشري جديدة، فتتحول دورة البحث بأكملها إلى زحف بطيء.
المحصلة: لا يمكنك تحسين ما لا تستطيع قياسه بسرعة.
الفكرة الجوهرية: عدّ تسلسلات الكلمات المتطابقة
الفكرة وراء BLEU بسيطة بشكل مخادع: إذا كانت الترجمة جيدة، فلا بد أن تتشارك عبارات قصيرة كثيرة مع ترجمة بشرية احترافية. مثلاً، لو أخرج نظامك «جلست القطة على السجادة» والمرجع هو «القطة جالسة على السجادة»، ستجد بينهما كلمات مشتركة كثيرة وأزواج كلمات متتالية مشتركة أيضاً.
ما هي بالضبط؟ ببساطة، هي تتابع متصل من n كلمة. «القطة جلست» سلسلة ثنائية (bigram)، و«جلست على السجادة» سلسلة ثلاثية (trigram). ما يفعله BLEU هو حساب على مستوى هذه السلاسل: من بين كل السلاسل اللفظية في الترجمة المرشحة، كم منها يظهر فعلاً في المرجع؟
مشكلة الغش: لماذا لا تكفي الدقة الساذجة
لو استخدمنا الدقة بشكلها البسيط، سنقع في فخٍّ خطير. تأمّل هذا المثال:
المرشحة: the the the the the the the
المرجع 1: The cat is on the mat. المرجع 2: There is a cat on the mat.
كلمة "the" موجودة في كلا المرجعين، وبالتالي كل كلمة في المرشحة «تتطابق». الدقة البسيطة = 7/7 = 100%! لكن من الواضح أن هذه ليست ترجمة على الإطلاق.
هذه هي مشكلة التلاعب التي نبّه إليها البحث: نظام ذكي يستطيع تحقيق دقة مثالية بمجرد تكرار كلمة شائعة. الحل الذي قدّمه المؤلفون هو ما يُعرف بـالدقة المعدَّلة: نضع سقفاً لعدد كل سلسلة لفظية بحيث لا يتجاوز أقصى تكرار لها في أي مرجع واحد. في مثالنا، "the" تظهر مرتين كحدّ أقصى في المرجع 2، فيصبح العدد المعدَّل 2 بدلاً من 7، والدقة المعدَّلة 2/7 ≈ 28.6%.
عقوبة الإيجاز: معاقبة الترجمات القصيرة
الدقة المعدَّلة أغلقت ثغرة التكرار، لكن بقيت حيلة أخرى يمكن للنظام استغلالها: أن يُخرج فقط الكلمات التي يثق بها ويتجاهل البقية. بهذه الطريقة تحصل ترجمة قصيرة جداً لكن دقيقة على درجة عالية — رغم أنها تركت أغلب النص دون ترجمة.
المشكلة هنا أن الدقة لا تعاقب على الحذف، بخلاف الذي يقيس كم غطّيت من محتوى المرجع. الحل الأنيق الذي اقترحه البحث هو عقوبة الإيجاز (BP): إذا كانت ترجمتك أقصر من المرجع، تُضرب الدرجة بعامل يتناقص أُسِّيّاً — كلما قصُرت الترجمة أكثر، زادت العقوبة.
فكّر فيها كسؤال بسيط: «هل ترجمتَ النص كاملاً، أم اكتفيت بالأجزاء السهلة؟»
المعادلة الكاملة: تجميع كل شيء
بعد أن فهمنا كل مكوِّن على حدة، حان وقت تجميع المعادلة الكاملة. النقطة المحورية هنا أن كل رتبة من السلاسل اللفظية تقيس شيئاً مختلفاً: الأحاديات (n=1) تكشف عن اختيار الكلمات — هل استخدم النظام المفردات الصحيحة؟ أما السلاسل الأطول فتكشف عن الطلاقة والترتيب النحوي. خذ مثلاً: جملة «قطة الـ على جلست سجادة» تحتوي على نفس الكلمات المفردة الموجودة في «جلست القطة على السجادة»، لكن ثنائياتها مختلفة تماماً.
يدمج BLEU قيم الدقة لكل الرتب عبر المتوسط الهندسي — وهنا تكمن الصرامة: إذا كانت دقة أي رتبة صفراً، تنهار الدرجة بأكملها إلى صفر. عملياً، يستخدم BLEU سلاسل لفظية من الرتبة 1 حتى 4، بأوزان متساوية (w_n = 1/4 لكل رتبة).
الفكرة ذاتها في شيفرة برمجية
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import math
from collections import Counter
def ngrams(tokens, n):
"""استخرج جميع السلاسل اللفظية من الرتبة n من قائمة الرموز."""
return [tuple(tokens[i:i+n]) for i in range(len(tokens)-n+1)]
def modified_precision(candidate, references, n):
"""الدقة المعدَّلة: حدّ عدد كل سلسلة لفظية بأقصاها في أي مرجع."""
cand_ngrams = Counter(ngrams(candidate, n))
max_ref = Counter()
for ref in references:
ref_ngrams = Counter(ngrams(ref, n))
for ng in ref_ngrams:
max_ref[ng] = max(max_ref[ng], ref_ngrams[ng])
clipped = {ng: min(count, max_ref[ng]) for ng, count in cand_ngrams.items()}
return sum(clipped.values()), max(sum(cand_ngrams.values()), 1)
def bleu(candidate, references, max_n=4):
"""احسب BLEU على مستوى المتن (مبسَّط لجملة واحدة)."""
c = len(candidate)
r = min((len(ref) for ref in references), key=lambda l: abs(l - c))
bp = 1.0 if c >= r else math.exp(1 - r / c) # عقوبة الإيجاز
log_avg = 0.0
for n in range(1, max_n + 1):
num, den = modified_precision(candidate, references, n)
if num == 0:
return 0.0 # المتوسط الهندسي ← 0
log_avg += (1 / max_n) * math.log(num / den)
return bp * math.exp(log_avg)
# مثال:
cand = "the cat sat on the mat".split()
refs = ["the cat is on the mat".split(),
"there is a cat on the mat".split()]
print(f"BLEU = {bleu(cand, refs):.4f}") # ≈ 0.4868هل يعمل فعلاً؟ الارتباط بالحكم البشري
أقوى حجة يقدّمها البحث تجريبية بحتة: حين حسب المؤلفون لخمسة أنظمة ترجمة آلية من الصينية إلى الإنجليزية وقارنوها بتقييمات المحكّمين البشريين، جاء معامل الارتباط بيرسون r = 0.99 — ترتيب الأنظمة تطابق تقريباً بين التقييمين.
لكن هناك تنبيه جوهري لا بد من فهمه: هذا الارتباط القوي يظهر فقط على مستوى — أي عند تجميع مئات أو آلاف الجمل. أما على مستوى جملة مفردة، فدرجة BLEU قد تكون مضلّلة تماماً لأن عدد السلاسل اللفظية أقلّ من أن تستقرّ عنده الإحصاءات. لهذا السبب، يُستخدم BLEU دائماً كمقياس تجميعي على مجموعة اختبار كاملة، لا كدرجة لترجمات فردية.
القيود: ما لا يلتقطه BLEU
رغم أن BLEU فتح الباب أمام التقييم التلقائي، إلا أنه يعاني من نقاط ضعف معروفة ينبغي استيعابها:
- عمى المترادفات. لو قال المرجع "automobile" وقالت الترجمة "car"، يحسبها BLEU صفر تطابق — رغم أن المعنى واحد. السبب أنه لا يرى إلا التطابق الحرفي على مستوى الشكل السطحي للكلمة.
- حساسية ضعيفة لترتيب الكلمات. جملة «عضّ الكلبُ الرجلَ» وجملة «عضّ الرجلُ الكلبَ» تتشاركان نفس الثنائيات تقريباً، رغم اختلاف المعنى جذرياً. السلاسل الأطول تساعد لكن لا تحلّ المشكلة بالكامل.
- غياب الفهم الدلالي. لا يستطيع BLEU تمييز ترجمة خاطئة المعنى من ترجمة صحيحة. ترجمتان بنفس الدرجة قد تحملان معانٍ مختلفة كلياً.
- تشويش على مستوى الجملة. إعادة صياغة ممتازة للمرجع بمفردات مختلفة قد تحصل على درجة قريبة من الصفر، لأن حجم العينة في جملة واحدة لا يكفي لاستقرار الإحصاءات.
هذه القيود هي ما دفعت الباحثين لتطوير جيل جديد من المقاييس: METEOR الذي يتعامل مع المترادفات عبر ، وROUGE الذي يركّز على الاسترجاع لمهام التلخيص، وTER الذي يَعُدّ عدد التعديلات اللازمة، ومقاييس مُتعلَّمة حديثة مثل BERTScore وCOMET تقارن المعنى باستخدام العصبية.
الإرث: ثورة في التقييم
الأثر الأعمق لـ BLEU لم يكن المعادلة نفسها — بل كان إثبات أن التقييم التلقائي للنصوص المُولَّدة فكرة قابلة للتطبيق ومفيدة فعلاً. قبل BLEU، كانت فكرة تقييم الترجمة بعدّ الكلمات المشتركة تبدو ساذجة. بعد BLEU، تبنّى كل مجال يتعامل مع توليد النصوص — من إلى الحوار إلى وصف الصور — مقاييسه التلقائية الخاصة.
نظام الترجمة الآلية العصبية من Google الذي غيّر قواعد اللعبة عام 2016 قِيس أداؤه بـ BLEU. وكذلك نماذج التي سبقته، ونماذج التي جاءت بعده. ما فعله BLEU أنه منح الباحثين مقياساً موحداً يقفون عليه جميعاً، فتسارع التقدم من الترجمة الإحصائية إلى العصبية إلى .
2002
نشر BLEU
قدّم Papineni وزملاؤه مقياس BLEU في مؤتمر ACL 2002. لأول مرة، أصبح بإمكان باحثي الترجمة الآلية تقييم أنظمتهم في ثوانٍ بدلاً من الانتظار أسابيع.
2004
ROUGE للتلخيص
استعار Lin فكرة مطابقة تسلسلات الكلمات وكيّفها لتقييم التلخيص، مع التركيز على الاسترجاع بدل الدقة. سرعان ما أصبح ROUGE المقياس المعياري لمهام التلخيص.
2005
METEOR يضيف المترادفات
طوّر Banerjee وLavie مقياس METEOR ليتجاوز عتبة المطابقة الحرفية، فأصبح قادراً على التعرّف على المترادفات والجذور اللغوية وإعادة الصياغة بالاستعانة بـ WordNet.
2014
الترجمة العصبية تُقاس بـ BLEU
اعتمد كلٌّ من Sutskever وBahdanau وزملاؤهم على BLEU لقياس أداء نماذج التسلسل إلى تسلسل والترجمة العصبية القائمة على الانتباه، فترسّخ كمعيار أساسي في عصر الشبكات العصبية.
2016
نظام Google NMT يقترب من المستوى البشري
نجح نظام Google NMT في تضييق الفجوة مع المترجمين البشريين وفق مقياس BLEU، مسجّلاً نقطة تحوّل في مسيرة الترجمة الآلية على مستوى الإنتاج.
2020
BERTScore والمقاييس المُتعلَّمة
ظهرت مقاييس مُتعلَّمة مثل BERTScore تعتمد على التضمينات السياقية لمقارنة المعنى بدلاً من الأشكال السطحية للكلمات، ما عالج أبرز نقاط ضعف BLEU: عجزه عن رؤية المترادفات.
المرجعPapineni, Roukos, Ward, Zhu. Bleu: a Method for Automatic Evaluation of Machine Translation. ACL, 2002.
مصطلحات هذه الورقة
- معيار بلو الإحصائي لتقييم الترجمةBLEU Score
- السلاسل الرمزية المتجاورةN-gram
- الترجمة الآليةMachine Translation
- معيار قياس الأداءEvaluation Metric
- مدى المحركية (الدقة المحددة لفئة)Precision
- القدرة على الاستدعاء الشاملRecall
- التمهيد الاحتماليSmoothing
- معيار روج لتقييم التلخيصROUGE Score
- معيار ميتيور المطورMETEOR