יום שני, 18 בינואר 2010

תרגום אוטומטי או הפירורים שגוגל משאירה לנו

כולם מכירים את שירות התרגום של גוגל. עכשיו כבר ברור כי ענקית החיפוש בדרך להשתלט על תחום התרגום באינטרנט. המתחרות שלה, כמו יאהו (עם Babel Fish) ומיקרוסופט (עם מנוע התרגום של Bing) אינן מצליחות להשיג אותה, בעיקר מבחינת מספר השפות הנתמכות. ואחת משלנו, Babylon, כל כך התאכזבה מביצועי מנוע התרגום שלה, שעכשיו היא מציעה שירותי תרגום אנושי. אני חייב לציין כי גם גוגל רחוקה מלהרשים, אך במרבית המקרים התרגומים מובנים לקורא ומצליחים להעביר את המשמעות של טקסט מקור. אגב, גם גוגל וגם מיקרוסופט תומכות בתרגום מעברית לאנגלית ומאנגלית לעברית.


כבר לפני מספר שנים זיהתה גוגל את הפוטנציאל האדיר של תרגום אוטומטי באינטרנט (בתור מנוע עזר למכירת פרסום) וגייסה את אחד הענקים בתחום - דר' פרנץ יוזף אוץ', היום מנהל קבוצת התרגום של גוגל. אז איך הם עושים את זה? מנוע התרגום של גוגל מבוסס על גישה סטטיסטית לתרגום אוטומטי (SMT). הגישה הזאת קיימת פחות מעשרים שנים, אך מאז המצאתה במעבדות IBM בתחילת שנות ה-90 השתנה התחום לחלוטין. לפי SMT ניתן לבנות מערכת תרגום באיכות סבירה תוך מספר ימים בשיטות אוטומטיות, אשר כמעט ולא דורשות התערבות אנושית. כל מה שאנחנו צריכים כנקודת התחלה הוא קורפוס מקבילי - הרבה קורפוס מקבילי. קורפוס מקבילי הוא בעצם שני טקסטים, כל אחד בשפה אחרת, כשאחד הוא תרגום של השני. בעזרת אלגוריתמים ל"התאמה של משפטים" (sentence alignment) מחפשים זוגות משפטים שהם תרגום פחות או יותר מדויק אחד של השני. עתה אפשר להתחיל לבנות מודל תרגום סטטיסטי: אם שתי מילים (כל אחת בצד אחר של הטקסט המקבילי) מופיעות ביחד בזוגות רבות של משפטים שהותאמו בשלב הקודם, הרי שבהסתברות מסוימת (וניתנת לחישוב) המילים הם תרגום אחת של השניה. את המודל הזה ניתן להרחיב ממילים בודדות לביטויים באורך 2, 3 וכך הלאה (מדובר בשדרוג של המודל המקורי אשר הוצע מספר שנים אחריו וזכה לשם Phrase-Based SMT).




פעמים רבות, מיקום של ביטוים במשפט המטרה שונה ממיקומם במשפט המקור. איך נדע היכן בדיוק למקם את הביטוי במשפט המתורגם? לפי התפלגות מיקום הביטוי בטקסט מקבילי! אפוא, מדובר במודל גנרטיבי אשר בהינתן משפט בשפת מקור מחפש עבור כל ביטוי תרגומים אפשריים ואז מערבב אותם בהתאם להסתברויות שנלמדו מהקורפוס המקבילי. כך מקבלים אלפי משפטים בשפת המטרה, כשכל אחד מהם יכול להיות תרגום של המשפט המקורי. בכדי למצוא את האופציה הטובה ביותר, משתמש SMT במודל דיסקימינטיבי (discriminative), שהוא קומבינציה לוג-לינארית של מספר גורמים, כשהבולט מביניהם הוא מודל שפה.  מודל שפה יודע לומר מהי הסתברות של המשפט בשפת המטרה על בסיס הסתברויות של רצפים של מילים באורך כלשהו (3,4,5...) בקורפוס ענק בשפת המטרה. וזה בערך הכל (בלי להיכנס לדקויות הרבות כמובן).

היום כל אחד יכול לבנות מערכת תרגום סבירה בעזרת חבילת קוד פתוח בשם MOSES והרבה טקסט מקבילי. אין זה אומר שהבעיה פתורה אלא רחוק מזה. המחקר בתחום התחמם מאוד בשנים אחרונות ומתפתח בכמה חזיתות, כגון שימוש בתחביר, תרגום לשפות עם מורפולוגיה עשירה (כמו עברית), תרגום לשפות שעבורן אין מספיק טקסט מקבילי (כמו עברית), התאמה (adaptation) של המודלים לז'אנר או נושא, אלגוריתמים יעילים יותר לחיפוש, מודלים של שפה מבוזרים וכו. בישראל יש שתי קבוצות העובדות על מערכות לתרגום אוטומטי: באוניברסיטת חיפה קבוצתו של שולי וינטנר שוקדת על מערכת מבוססת תחביר לתרגום מעברית לאנגלית (דוקטורט שלי) ומערכת לתרגום מעברית לערבית (עבודת מגיסטר של רשף שילון). באוניברסיטת תל-אביב קבוצתו של נחום דרשוביץ עובדת על תרגום אוטומטי בשיטה קצת שונה (example-based). מן הראוי לציין גם קבוצות נוספות, אשר מפתחות משאבים שונים לעברית, כמו parsers (אוניברסיטת בן-גוריון) ומנועים סמנטיים (אוניברסיטת בר-אילן). בעתיד ניתן יהיה לשלב משאבים אלה במערכת תרגום ולקבל איכות תרגום גבוהה יותר. 

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

ומה קורה מחוץ לאינטרנט? יש הרבה צרכנים של שירותי תרגום אשר אינם נמצאים באינטרנט: ארגונים בינלאומיים, גופים ממשלתיים  ,חברות בינלאומיות (תרגום אתרים, חוברות שימוש, חומר שיווקי) וכו. מערכות לתרגום אוטומטי לבד אינן מספיקות. הן טובות רק כשהמטרה היא להבין משמעות הנאמר או הנקלד ותו לא. אך, התרגום האוטומטי יכול לחסוך כסף אם לשלבו בתהליך הכולל מתרגמים אנושיים. חברות רבות בעולם מציעות פתרונות לשוק זה. הרשימה הלא מלאה כוללת את: AppTek, Asia Online, Babel Fish, Babylon, Ciyasoft, Freetranslations, Google, IBM, Language Lens, Language Weaver, Lionbridge, Lucy Software, Microsoft, Moses, MultiCorpora, N-Stein, PROMT, Sakhr, SDL, Softissimo, SYSTRAN


ליזם מתחיל בתחום הייתי מציע לחפש רעיונות באחד הכיוונים הבאים:

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

התאמה של טכנולוגיות קיימות לדרישות לקוח. כל מי שעסק בלמידה ממוכנת בבלשנות חישובית יודע שאיכות המודל הנלמד רגישה מאוד לשינויים בז'אנר, תחום או נושא. חברה אשר מפתחת מערכת תרגום כללית אינה יכולה לדעת מראש את הדרישות המיוחדות של הלקוח. לכן חלק מתהליך ההטמעה של מערכת תרגום אצל לקוח הוא התאמה (customization) של המערכת לדרישותיו - תהליך שיכול להיות מסובך ויקר. ומה יכול לעשות שירות מקוון כמו זה של גוגל? תציעו טכנולוגיה המאפשרת התאמה לז'אנר (או אפילו לנושא מסוים) בזמן אמת ואולי גוגל (או מתחריו) תרצה לרכוש אותה. תחום זה חדש יחסית, אך יש כבר מספר חברות, דוגמת Safaba, אשר מציעות פתרונות לחברות תרגום.

סביבות עבודה לניהול תרגום. דמיינו לעצמכם תאגיד בינלאומי ענק, דוגמת Sony או Proctor&Gamble, אשר מייצרות ומשווקות אלפי מוצרים שונים למאות מדינות שונות. יש לתאגיד אתרי אינטרנט בעשרות שפות, שתוכנן מתחדש כמעט על בסיס יומי. תוסיפו לזה חומר שיווקי וחוברות שימוש. ועכשיו דמיינו שאתם אחראים לניהול של כל החומר הזה. קשה? נסו בלתי אפשרי. אתם חייבים תוכנה (סביבת עבודה) לניהול של כל עבודות התרגום המתבצעות בתאגיד. התוכנה צריכה לתמוך  במספר רב של פרויקטים, מוצרים, גרסאות, משתמשים וכו. כדאי להוסיף לסביבה זו גם רכיב עסקי בכדי לחשב את ההוצאות תרגום של התאגיד. לאחרונה, ראינו מספר מקרים של שיתוף פעולה בין יצרניות של תוכנה לניהול פרויקטים לחברות המפתחות מערכות לתרגום אוטומטי. המוצרים לניהול פרויקטים הקיימים היום הינם יקרים ומסורבלים ושילובן עם מערכות תרגום יכול להתאים רק לתאגידים ענקיים (אשר כבר משתמשים בתוכנות לניהול פרויקטים). סביבות עבודה יותר פשוטות וזולות, המותאמות לסוג ספציפי של לקוחות יכולות להוות אלטרנטיבה מעניינת.

לא אסיים לפני שאגיד מספר מילים בנושא המרכזי של הבלוג הזה - שיתוף הפעולה בין אקדמיה לתעשייה. אחד המכשולים הגדולים ביותר במחקר שלנו הוא חוסר במשאבים בסיסיים, כמו מילון דו-לשוני (אנגלית-עברית, עברית-ערבית וכו') או קורפוס מקבילי. פניותינו לחברות מסחריות, אשר יש להן את המשאבים האלה, הרבה פעמים נתקלות בסירוב גס-רוח. למה? מה כבר נעשה עם החומר הזה מלבד מחקר. לאחרונה, הנושא השתפר וחלק מעיתונים מקוונים בארץ נתנו לנו אישור למשוך את הכתבות שלהם מדי יום. אך עדיין ייקח לנו שנים להגיע לקורפוס מקבילי בגודל דרוש. רבותיי, בארכיונים שלכם נמצאים  גיגהבתים של חומר. תנו לנו אותו ואנחנו נוכל לפתח מערכת תרגום סבירה, שאולי תרצו להשתמש בה.

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

3 תגובות:

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

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

    השבמחק
  3. ינואר 2013 - האם יש חדש במנועי תרגום אוטומטיים חינמיים ?
    אבא שלי, ניצול שואה שכתב ספר זכרונות בעברית, מעוניין לתרגמו לאנגלית ולגרמנית (ולאחסן אותו באינטרנט למען הדורות הבאים)
    תודה

    השבמחק