1 / 104

Stat- Xfer

Stat- Xfer. תרגום מכונה מבוסס העברה עם אלמנטים סטטיסטיים Stat-XFER: A General Search-based Syntax-driven Framework for Machine Translation Alon Lavie, CICLing 2008. מציגים: יוגב וקנין ועומר טבח, 05/01/2012 מנחה: פרופסור עוזי אורנן סמינר בבלשנות חישובית, 236817,

Download Presentation

Stat- Xfer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Stat-Xfer תרגום מכונה מבוסס העברה עם אלמנטים סטטיסטיים Stat-XFER: A General Search-based Syntax-driven Framework for Machine Translation Alon Lavie, CICLing 2008 מציגים: יוגב וקנין ועומר טבח, 05/01/2012 מנחה: פרופסור עוזי אורנן סמינר בבלשנות חישובית, 236817, הפקולטה למדעי המחשב, הטכניון.

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

  3. מטרות המחקר בניית מערכת לפיתוח מכונות תרגום מבוססות העברה עם אלמנטים סטטיסטים. כפי שיוסבר בהמשך. בניית אפשרות אוטומטית ללמידת כללי העברה. מתן פתרון הן לשפות בעלות קורפוסים מקבילים נרחבים והן לשפות דלות קורפוסים. יכולת להתמודד עם שפות עשירות מורפולוגית (לדוגמה עברית).

  4. תוכן ההרצאה • הצגת המערכת Stat XFer. • חלקי המערכת. • האתגרים בבניית מכונת תרגום לשפה העברית. • הצגת אלגוריתם לייצור אוטומטי של כללי העברה. • הצגת אלגוריתם ליישור אוטומטי של קורפוסים דו-לשוניים. • דוגמת הרצה. • מצב המערכת כיום.

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

  6. מרכיבי המערכת • לדוגמה – השריג עבור "בשורה": בְּשׂוֹרָה בְּשׁוּרָה (בלתי מיודע) בַּשׁוּרָה (מיודע) שׁוֹרהּ(שייכות)

  7. מרכיבי המערכת- לקסיקון התרגום

  8. מרכיבי המערכת – לקסיקון התרגום PRO::PRO |: ["ANI"] -> ["I"] ( (X1::Y1) ((X0 per) = 1) ((X0 num) = s) ((X0 case) = nom) ) PRO::PRO |: ["ATH"] -> ["you"] ( (X1::Y1) ((X0 per) = 2) ((X0 num) = s) ((X0 gen) = m) ((X0 case) = nom) ) N::N |: ["$WR"] -> [“bull"] ( (X1::Y1) ((X0 NUM) = s) ((Y0 NUM) = s) ((Y0 lex) = “BULL") ) N::N |: ["$WRH"] -> [“line"] ( (X1::Y1) ((X0 NUM) = s) ((Y0 NUM) = p) ((Y0 lex) = “LINE") ) דוגמא לכללים בלקסיקון. (פירוט בהמשך).

  9. לקסיקון התרגום- מרכיבי הכללים • מרכיב ראשון:תפקידה הדקדוקי של המילה המתורגמת בשתי השפות. PRO::PRO|: ["ANI"] -> ["I"] ( (X1::Y1) ((X0 per) = 1) ((X0 num) = s) ((X0 case) = nom) ) PRO::PRO |: ["ATH"] -> ["you"] ( (X1::Y1) ((X0 per) = 2) ((X0 num) = s) ((X0 gen) = m) ((X0 case) = nom) )

  10. לקסיקון התרגום- מרכיבי הכללים • מרכיב שני: המילה המתורגמת עצמה בשתי השפות. PRO::PRO |: ["ANI"] -> ["I"] ( (X1::Y1) ((X0 per) = 1) ((X0 num) = s) ((X0 case) = nom) ) PRO::PRO |: ["ATH"] -> ["you"] ( (X1::Y1) ((X0 per) = 2) ((X0 num) = s) ((X0 gen) = m) ((X0 case) = nom) )

  11. לקסיקון התרגום- מרכיבי הכללים • מרכיב שלישי: תכונות הנוספות לכלל. • בדוגמא: • per – גוף, ראשון. • Num - מספר, יחיד. • Gen – מין, זכר. • Case – יחסה, יחסת נושא/נשוא (Nominative) PRO::PRO |: ["ANI"] -> ["I"] ( (X1::Y1) ((X0 per) = 1) ((X0 num) = s) ((X0 case) = nom) ) PRO::PRO |: ["ATH"] -> ["you"] ( (X1::Y1) ((X0 per) = 2) ((X0 num) = s) ((X0 gen) = m) ((X0 case) = nom) )

  12. מרכיבי המערכת- חוקי העברה

  13. מרכיבי המערכת – כללי העברה {NP1,2} ;;SL: $MLH ADWMH ;;TL: A RED DRESS NP1::NP1 [NP1 ADJ] -> [ADJ NP1] ( (X2::Y1) (X1::Y2) ((X1 def) = -) ((X1 status) =c absolute) ((X1 num) = (X2 num)) ((X1 gen) = (X2 gen)) (X0 = X1) ) כללי ההעברה קובעים את הדרך שבה צריכים להיתּרגם קטעי משפטים. לדוגמא: (פירוט בהמשך)

  14. מרכיבי המערכת – כללי העברה {NP1,1} ;;SL: $MLH ADWMH; ;TL: A RED DRESS; ;Score:2; NP1::NP1 [NP1 ADJ1] -> [ADJ1 NP1] ( (X2::Y1) (X1::Y2) ((X1 def) = (X2 def)) ((X1 num) = (X2 num)) ((X1 gen) = (X2 gen)) ((X1 status) =c absolute) ) טיפוס הכלל: ראש כלל הגזירה. כלומר האם הכלל הזה מייצג משפט או צירוף פעלי או צירוף שמני וכו'.

  15. מרכיבי המערכת – כללי העברה {NP1,1} ;;SL: $MLH ADWMH; ;TL: A RED DRESS; ;Score:2; NP1::NP1 [NP1 ADJ1] -> [ADJ1 NP1] ( (X2::Y1) (X1::Y2) ((X1 def) = (X2 def)) ((X1 num) = (X2 num)) ((X1 gen) = (X2 gen)) ((X1 status) =c absolute) ) דוגמה לתרגום בין השפות המיישם כלל זה: שמלה אדומה -> a red dress ההערות מוזנות ע"י מחבר הכלל.[צריך להביא אותן]

  16. מרכיבי המערכת – כללי העברה {NP1,1} ;;SL: $MLH ADWMH; ;TL: A RED DRESS; ;Score:2; NP1::NP1 [NP1 ADJ1] -> [ADJ1 NP1] ( (X2::Y1) (X1::Y2) ((X1 def) = (X2 def)) ((X1 num) = (X2 num)) ((X1 gen) = (X2 gen)) ((X1 status) =c absolute) ) ציון לכלל, מרכיב אופציונלי הניתן ע"י מחבר הכלל. [ ??]

  17. מרכיבי המערכת – כללי העברה {NP1,1} ;;SL: $MLH ADWMH; ;TL: A RED DRESS; ;Score:2; NP1::NP1 [NP1 ADJ1] -> [ADJ1 NP1] ( (X2::Y1) (X1::Y2) ((X1 def) = (X2 def)) ((X1 num) = (X2 num)) ((X1 gen) = (X2 gen)) ((X1 status) =c absolute) ) מרכיבי הכלל: צד ימין ושמאל של כלל הגזירה, מה סוג חלק הדיבר של הביטוי המתורגם והנגזר בשפת המקור ובשפת היעד. בדוגמה, הן המקור והן היעד הם צרוף שמני.

  18. מרכיבי המערכת – כללי העברה {NP1,1} ;;SL: $MLH ADWMH; ;TL: A RED DRESS; ;Score:2; NP1::NP1 [NP1 ADJ1] -> [ADJ1 NP1] ( (X2::Y1) (X1::Y2) ((X1 def) = (X2 def)) ((X1 num) = (X2 num)) ((X1 gen) = (X2 gen)) ((X1 status) =c absolute) ) • סימנים מפורשים יקבעו אילו מרכיבי כלל בשפת המקור מקבילים לאילו מרכיבי כלל בשפת היעד, ומה יהיה השינוי בסדר חלקי הדיבר. • לדוגמה: [הסברים כאלה צריכים להיות גם קודם] • [NP1 ADJ1] -> [ADJ1 NP1] קובע את סדר חלקי המשפט במקור וביעד. • (X2::Y1) – מציין שהמילה השניה בצד המקור מתאימה למילה הראשונה ביעד

  19. מרכיבי המערכת – כללי העברה {NP1,1} ;;SL: $MLH ADWMH; ;TL: A RED DRESS; ;Score:2; NP1::NP1 [NP1 ADJ1] -> [ADJ1 NP1] ( (X2::Y1) (X1::Y2) ((X1 def) = (X2 def)) ((X1 num) = (X2 num)) ((X1 gen) = (X2 gen)) ((X1 status) =c absolute) ) • מגבלות צד שמאל ,X , מתייחס לשפת המקור SL. • בדוגמא: • Def: אם המילה הראשונה מיודעת הרי שגם על השנייה להיות מיודעת. • Num: על המספר של שתי מילות המקור להיות זהה. • Gen: המין של שתי המילים זהה. • Status: נפרד (שאינו נסמך) • אופרטור =c מוגדר כבר.

  20. מרכיבי המערכת – כללי העברה ;;SL: AWKL ;;TL: EATS ;;Score:34 VB::VB [V] -> [V] ( (X1::Y1) ((Y1 tense) = present) ((Y1 per) = (X1 per)) ((Y1 num) = (X1 num)) (X0 = X1) ((X0 tense) <= present) (Y0 = Y1) ) • מגבלות צד ימין,Y , מתייחס לשפת היעד TL. • בדוגמה ניתן לראות כי המגבלה היא שהמילה הראשונה בשפת היעד תהיה בזמן הווה.

  21. מרכיבי המערכת – כללי העברה ;;{NP,4}; ;SL: H SPR H ZH; ;TL: this BOOK; ;Score:9 NP::NP [NP2 "H" PRO] -> [PRO NP2] ((X1::Y2) (X3::Y1) ((X1 def) =c true) ((Y1 num) = (X3 num)) (X0 = X1) (Y0 = Y2)) מגבלות צד XY, משותפות לשניהם. מגבלות המשותפות לשני הצדדים, כאן למשל נדרש שהמספר של המילה השלישית בשפת המקור יהיה זהה למספר של המילה הראשונה בשפת היעד.

  22. סיכום קצר על כללי תרגום ועל כללי לקסיקון • מדובר באוסף של מגבלות על כללי הגזירה. • תכונות שנוספות לכללים הנגזרים- כפי שידוע מקורס קומפילציה. • כללי X מתייחסים לשפת המקור. • מהווים מגבלות על הדרכים בהן ניתן לגזור את הקלט. • כללי Y מתייחסים לשפת היעד. • מהווים מגבלות על המילים שניתן לגזור בפלט. • כללי XY מתייחסים הן לשפת המקור והן לשפת היעד. • מהווים מגבלות על כללי ההעברה שניתן להפעיל.

  23. מרכיבי המערכת

  24. מרכיבי המערכת – מנוע ההעברה • במהלך ריצת מנוע ההעברה מתוחזק מבנה נתונים שמחזיק את התרגומים החלקיים. • אתחול מנוע ההעברה: תרגום ישיר של כל מילה או צרוף משפת המקור לשפת היעד ושמירת התרגומים, כולל מצביעים למקור שלהם. • לכל מילה מוחזקים כל התרגומים של כל המשמעויות שלה. • בנוסף נשמר ציון לכל תרגום. • משתמש בלקסיקון התרגום.

  25. ריצת מנוע ההעברה • עד שהמקור מנותח במלואו: • עוברים על הקלט מצד המקור. • בכל פעם שנתקלים בצירוף המתאים לכלל הגזירה בשפת המקור, מתרגמים אותו ע"פ כלל זה ושומרים את התוצאה. • לכל תרגום ניתן ציון. • צמצום כמות התרגומים האפשריים: • בכל צעד מוחקים את התרגומים עם הציון הנמוך ממבנה הנתונים של התרגומים.

  26. פלט מנוע ההעברה בסיום ריצת מנוע ההעברה קיימות במבנה הנתונים מס' יחידות תרגום- כל אחת עם המידע לאיזה קטע מהמקור היא מתייחסת ומה סבירות ההתאמה שלה. בדוגמא, בכל יחידת תרגום: המס' הראשון מתייחס למילה הראשונה בקטע המקור המתאים ליחידה. המס' השני מתייחס למילה האחרונה בקטע המקור המתאים ליחידה. במרכאות מופיע התרגום עצמו. לאחר מכן מופיע חלק הדיבר של התרגום. בדוגמא LINE מתייחס ל'$WRH', והוא ש"ע.

  27. איך נותנים ציון • ציון של פיסת תרגום נועד לשקף את הסתברות הדיוק של אותו תרגום. • ציון של פיסת תרגום מתקבל ממספר גורמים: • שימוש במודל השפה האנגלית: ההסתברות שתופיע מילה מסוימת בהינתן שקדמו לה מילים מסוימות אחרות. • למשל ההסתברות לקבלת Milk בהינתן Drinks גבוהה מהסתברות Tallow בהינתן Drinks. • התאמת אורך בין התרגומים. • כלומר, סביר שמעט מילים יתּרגמו למעט מילים. • הסתברות להופעה דו-לשונית. הסתברות להקבלה בין שפות של ביטויים או מילים. • תלוי בהינתנו של מילון עם סבירויות, למשל, ניתוח, סביר שיתורגם ל-“Analysis” יותר מאשר “Operation”.

  28. חלקי המערכת – מפענח שפת היעד

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

  30. בעיות תרגום בשפה העברית רב משמעותיות. ניקוד - חלק מהקורפוסים מנוקדים וחלקם לא. חוסר בקורפוסים. אי קיומו של מודל הסתברותי לשפה.

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

  32. אלגוריתם PFA: אלגוריתם אוטומטי ליצירת כללי העברה Syntax-driven Learning of Sub-sentential Translation Equivalents and Translation Rules from Parsed Parallel Corpora Alon Lavie et al., 2008

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

  34. דוגמא לטקסט מיושר מילים ועץ הגזירה שלו.

  35. המשפט היסודי כידוע – המשפט היסודי של האריתמטיקה – "לכל מספר, קיים פרוק יחיד למכפלה של ראשוניים עד כדי סדר". אנו נשתמש בעובדה זו.

  36. הקצאת מספרים לצמתים לכל עלה בעץ ולעלה שמקושר אליו בעץ השני נקצה מספר ראשוני.לעלים שאינם מיושרים נקצה את המספר 1.

  37. הקצאת מספרים לצמתים נבצע מעבר על הגרף bottom-up, כל צומת אב יכיל את הערך המספרי שהוא מכפלה של בניו.

  38. מקרים מיוחדים יחס אחד-לרבים הוא מקרה מיוחד, אם מילה יחידה מיושרת למספר מילים מקצים לאותן מילים את אותו המספר הראשוני כמו המילה היחידה.

  39. חילוץ חוקים “Havediplomatic relations with North Korea” “北韓 有邦交” • על ידי שימוש בנתונים הדקדוקיים של הצמתים הפנימיים בתתי העצים המיושרים נוכל להסיק חוקים כללים יותר. בדוגמה שלנו ניתן למשל להסיק את הכלל בעל המבנה הבא:

  40. חילוץ ביטויים • על מנת ליצור מילון ביטויים נצמיד זוגות של צמתים בעלי מספר זהה, חלק המשפט הנגזר מכל אחד מהצמתים מתאים לחלק המשפט השני הנגזר מאותם צמתים. • בדוגמה: הביטויים שחולצו מהעץ שהראינו. • מונים כל הופעה של תרגום ביטוי ע"מ לאמוד סטטיסטית את הסבירות שתרגום זה מתאים לביטוי.

  41. סיכום אלגוריתם אוטומטי ליצירת כללי העברה אלגוריתם מהיר ומדוייק ליצירת כללי העברה. מהווה שלב מקדים לתרגום מכונה שראינו בחלק הקודם.

  42. אלגוריתם אוטומטי ליישור קורפוסים Fast and Accurate Sentence Alignment of Bilingual Corpora Robert C. Moore, 2002

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

  44. דוגמת יישור של 1:1 • “The quick brown fox jumps over the lazy dog.” • "השועל החום הזריז קופץ מעל הכלב העצל" The Michigan School Moderator, 1885

  45. דוגמאות יישור 1:2 • “It happens a lot. • A figure once significant in our lives fades away gradually.” • "זה קורה לא אחת: דמות שהייתה משמעותית בחיינו נעלמת מהם בהדרגה." גדעון לוי, 8 לדצמ' 2011.

  46. דוגמאות יישור 0:1 • ‘Free software is a matter of liberty, not price. • Free as in speech, not as in free beer.’ • תוכנה חופשית זה עניין של חירות, לא של מחיר. ~Richard Stallman

  47. דוגמת יישור מסובכת • The girl visited yesterday in Tel-Aviv. • The father of this beatiful girl, that works in the Technion, came also. • הילדה יפה. • היא ביקרה אתמול עם אביה בתל אביב. • אביה עובד בטכניון. -ישראל גוטר.

  48. האתגר ביישור קורפוסים אוטומטי • לו כל המתרגמים דבקים היו בעקרון של 1:1, • העבודה שלנו הייתה קלה יותר. • רמת הטקסטים המתורגמים הייתה נמוכה יותר. • במציאות תרגומים רבים מכילים יחסים שונים. • 2:1, 1:0 ועוד ( (N)*:(M)* ).

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

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

More Related