מדד איכות התרגום BLEU

BLEU (Bilingual Evaluation Understudy) הוא מדד להערכת טקסט שתורגם על ידי מכונה. ציון BLEU הוא מספר בין אפס לאחד שמודד את הדמיון בין הטקסט שתורגם אוטומטית לבין קבוצה של תרגומים באיכות גבוהה:

  • ניקוד 0 מציין שאין חפיפה בין הפלט של התרגום האוטומטי לבין תרגום הייחוס, מה שמצביע על איכות תרגום נמוכה.
  • ציון של 1 מציין חפיפה מושלמת עם תרגומי ההפניה, כלומר איכות תרגום גבוהה.

מגבלות של BLEU

  • BLEU הוא מדד מבוסס-מאגר מידע. המדד BLEU לא מתאים להערכה של משפטים בודדים. משפטים בודדים יכולים לקבל ציון BLEU נמוך מאוד, גם אם הם מעבירים את רוב המשמעות. הנתונים הסטטיסטיים של n-gram עבור משפטים בודדים פחות משמעותיים, ולכן BLEU הוא מדד שמבוסס על קורפוס, שבו הנתונים הסטטיסטיים מצטברים על פני קורפוס שלם כשמחשבים את הציון. אי אפשר לפרק את מדד BLEU למשפטים בודדים.

  • המדד BLEU לא מבחין בין מילים בעלות משמעות לבין מילות קישור. מדד BLEU לא מבחין בין תוכן לבין מילות תפקוד. מילה שהושמטה כמו a מקבלת את אותו עונש כמו אם השם NASA הוחלף בטעות ב-ESA.

  • מדד BLEU לא טוב בהבנת המשמעות של משפטים ובבדיקת התקינות הדקדוקית שלהם. השמטה של מילה אחת כמו לא יכולה לשנות את הקוטביות של המשפט. בנוסף, אם מתחשבים רק ב-n-grams עם n≤4, מתעלמים מתלות ארוכת טווח, ולכן ציון BLEU לרוב מטיל רק עונש קטן על משפטים לא דקדוקיים.

  • המדד BLEU מסתמך על נירמול וטוקניזציה. לפני חישוב ציון ה-BLEU, מתבצעת נורמליזציה של תרגום הייחוס והתרגום המועמד, והם עוברים טוקניזציה. הבחירה בשלבים בתהליכים האלה משפיעה באופן משמעותי על ציון ה-BLEU הסופי.

איך לפרש ציוני BLEU

ההנחיות הבאות הן כללי אצבע להבנת ציוני BLEU שמוצגים כאחוזים ולא כמספרים עשרוניים:

ציון BLEU % פירוש
< 10 כמעט חסר תועלת
‫10-19 קשה להבין את הרעיון המרכזי
‫20 - 29 התמצית ברורה, אבל יש בה שגיאות דקדוקיות משמעותיות
30 - 40 תרגומים מובנים עד טובים
40 - 50 תרגומים באיכות גבוהה
‫50 - 60 תרגומים באיכות גבוהה מאוד, מדויקים ורהוטים
‫> 60 איכות טובה יותר מזו של בני אדם

אפשר להשתמש בטווח הצבעים הבא כפרשנות כללית לציון BLEU:

הסבר כללי על קנה המידה

פרטים מתמטיים

מבחינה מתמטית, ציון ה-BLEU מוגדר כך:

$$ \text{BLEU} = \underbrace{\vphantom{\prod_i^4}\min\Big(1, \exp\big(1-\frac{\text{reference-length}} {\text{output-length}}\big)\Big)}_{\text{brevity penalty}} \underbrace{\Big(\prod_{i=1}^{4} precision_i\Big)^{1/4}}_{\text{n-gram overlap}} $$

עם

\[ precision_i = \dfrac{\sum_{\text{snt}\in\text{Cand-Corpus}}\sum_{i\in\text{snt}}\min(m^i_{cand}, m^i_{ref})} {w_t^i = \sum_{\text{snt'}\in\text{Cand-Corpus}}\sum_{i'\in\text{snt'}} m^{i'}_{cand}} \]

איפה

  • ‫\(m_{cand}^i\hphantom{xi}\) הוא מספר ה-i-gram במועמד שתואם לתרגום העזר.
  • ‫\(m_{ref}^i\hphantom{xxx}\) הוא מספר ה-i-gram בתרגום הייחוס.
  • ‫\(w_t^i\hphantom{m_{max}}\) הוא המספר הכולל של i-grams בתרגום המועמד.

הנוסחה מורכבת משני חלקים: קנס על תמציתיות וחפיפה של n-גרם.

  • קנס על תמציתיות. הקנס על תמציתיות מעניש תרגומים שנוצרו שהם קצרים מדי בהשוואה לאורך ההפניה הקרוב ביותר עם דעיכה אקספוננציאלית. הקנס על תמציתיות מפצה על העובדה שלציון BLEU אין מונח recall.

  • חפיפה בין N-Gram. המדד n-gram overlap סופר כמה מילים בודדות, צירופי מילים בני שתי מילים, צירופי מילים בני שלוש מילים וצירופי מילים בני ארבע מילים (i=1,...,4) תואמים לצירופי המילים המקבילים בתרגומים לדוגמה. המונח הזה משמש כמדד דיוק. ה-unigrams מייצגים את ההתאמה, בעוד ש-n-grams ארוכים יותר מייצגים את הרהיטות של התרגום. כדי למנוע ספירה כפולה, ספירת ה-n-gram מוגבלת לספירת ה-n-gram המקסימלית שמופיעה בטקסט הייחוס (\(m_{ref}^n\)).

דוגמה: חישוב \(precision_1\)

כדאי לעיין במשפט המקור הזה ובתרגום המוצע:

הפניה: the cat is on the mat
מועמד: the the the cat mat

השלב הראשון הוא לספור את המקרים של כל אוניגרמה בטקסט הייחוס ובטקסט המועמד. הערה: מדד ה-BLEU הוא תלוי אותיות רישיות (case-sensitive).

יוניגרמה \(m_{cand}^i\hphantom{xi}\) \(m_{ref}^i\hphantom{xxx}\) \(\min(m^i_{cand}, m^i_{ref})\)
the 3 2 2
cat 1 1 1
is 0 1 0
on 0 1 0
mat 1 1 1

המספר הכולל של יוניגרמות במועמד (\(w_t^1\)) הוא 5, לכן \(precision_1\) = (2 + 1 + 1)/5 = 0.8.

דוגמה: חישוב ציון ה-BLEU

הפניה:     The NASA Opportunity rover is battling a massive dust storm on Mars.
מועמד 1: The Opportunity rover is combating a big sandstorm on Mars.
מועמד 2: A NASA rover is fighting a massive storm on Mars.

הדוגמה שלמעלה כוללת הפניה אחת ושני תרגומים אפשריים. המשפטים עוברים טוקניזציה לפני חישוב ציון ה-BLEU. לדוגמה, הנקודה בסוף המשפט נספרת כטוקן נפרד.

כדי לחשב את ציון ה-BLEU לכל תרגום, אנחנו מחשבים את הנתונים הסטטיסטיים הבאים.

  • דיוקים של N-Gram. בטבלה הבאה מוצגים ערכי הדיוק של n-gram עבור שני המועמדים.
  • Brevity-Penalty. הקנס על תמציתיות זהה למועמד 1 ולמועמד 2, כי כל אחד מהמשפטים מורכב מ-11 טוקנים.
  • BLEU-Score. כדי לקבל ציון BLEU גדול מ-0, צריך לפחות התאמה אחת של 4-גרם. מכיוון שלתרגום המועמד 1 אין 4-גרם תואם, ציון ה-BLEU שלו הוא 0.
מדד מועמד 1 מועמד 2
\(precision_1\) (1gram) ‫8/11 9/11
‫\(precision_2\) (2 גרם) 4/10 ‫5/10
\(precision_3\) (3gram) 2/9 2/9
\(precision_4\) (4gram) 0/8 1/8
קנס על תמציתיות 0.83 0.83
BLEU-Score 0.0 0.27