יואב גולדברג
פרס קריל 2017
אוניברסיטת בר אילן
ד"ר יואב גולדברג (Yoav Goldberg)
פיתוח שיטות — (Natural Language Processing, NLP) תחום המחקר : עיבוד שפות טבעיות אוטומטיות (אלגוריתמים) ליצירה ולהבנה של טקסטים בשפות אנושיות על ידי מחשבים.
היכולת השפתית הנה רכיב בסיסי ומרכזי בבינה האנושית, וניתן לומר שהיא מה שמפריד בין בני האדם לבין שאר היצורים החיים. השפה הנה חיונית לתקשורת, היא מאפשרת העברה של רעיונות ומידע בין אנשים שונים, ואת שימורם של רעיונות ומידע לאורך זמן. בעידן הדיגיטלי, קיים גידול חסר תקדים בכמות המידע שנוצר, נאגר ונצרך על ידי יחידים, ארגונים וחברות, במדיום כתוב או מדובר. מציאת דרכים אפקטיביות לתיעול וטיוב כמויות המידע העצומות האלו כדי לזקק מהן תובנות, לזהות צרכים ולהציע פתרונות הנה אחת הבעיות הבסיסיות של עידן המידע. בעשורים האחרונים חלה התקדמות עצומה בטכנולוגיה המאפשרת עיבוד אוטומטי של טקסטים בשפה אנושית, והיא נמצאת בשימוש יום-יומי. טכנולוגיות עיבוד שפה משמשות כבר כיום כדי לשבור מחסומי שפה (תרגום אוטומטי), למצוא מידע רלוונטי ( מנועי חיפוש), ולארגן ולסכם כמויות גדולות של מידע טקסטואלי לצורה הנוחה יותר לצריכה (סיכום אוטומטי, מיצוי מידע). למרות ההתקדמות העצומה, בעיית עיבוד השפה הטבעית רחוקה מלהיות פתורה, בפרט כשמתרחקים מסוגי הטקסטים שהמערכות מכירות היטב (בעיקר טקסטים חדשותיים ערוכים היטב בשפה האנגלית) ומנסים לנתח טקסטים בסגנונות שונים או שפות שונות. היכולת של המערכות להתמודד עם טקסטים משפטיים, טקסטים מדעיים, טקסטים ספרותיים או אפילו טקסטים בשפה ״יומיומית״ ברשתות חברתיות הנה מוגבלת ביותר. כך גם היכולת שלהן להתמודד עם מרבית שפות העולם, המתאפיינות בתכונות לשוניות שונות ומורכבות יותר מזו של השפה האנגלית, כגון מערכות הטיות מורפולוגית מורכבות, מערכות כתיב יחודיות, וסדר מילים גמיש.
המחקר שלי מתמקד באבני הבניין של ניתוח ויצירת שפה. אלו הן התשתיות האלגוריתמיות שהתהליכים המבוצעים על ידי מערכות הבנת שפה כגון אלו שהוזכרו מעלה (תרגום, סיכום, חיפוש, מענה על שאלות, ועוד) מסתמכים עליהן. בין אבני הבניין האלו מצויים כלים למידול התהליכים לפיהם אותיות מתרכבות לכדי מילים (מורפולוגיה); כלים חישוביים לייצוג ו״הבנה״ של המשמעות של מילים (סמנטיקה לקסיקלית); הבנת החוקיות בה מילים מתחברות לפסוקיות ופסוקיות למשפטים (תחביר); וכיצד ניתן להפוך את התהליך הזה ולהסיק את מבנה המשפט מתוך המילים המרכיבות אותו (ניתוח תחבירי). אמחיש את המורכבות הכרוכה בעיבוד ממוחשב של שפה אנושית על ידי דוגמה. נתבונן במשפט: ״ לאחר מקלחת הבוקר התיישב דן על ספסל בצל עץ התות ונרדם״. לכאורה משפט פשוט, בעל פרוש חד משמעי. האמנם? מה לגבי רצף האותיות ״בצל״? ברור לקורא כי מדובר בצלם של העצים, אולם אותו הרצף יכול לייצג גם שם של ירק. ברור לקורא כי אדם בשם דן ״התיישב ונרדם״, כלומר כי וו-החיבור מחברת את המילה ״נרדם״ לביטוי ״התיישב על ספסל בצל עץ התות״. אולם כיצד אנו יודעים כי המילה ״ו״ לא מחברת את המילה ״נרדם״ עם המילה ״התות״? או את המילה ״נרדם״ עם הביטוי ״בצל עץ התות״? כיצד אנו יודעים כי ״דן״ הינו שם של אדם, ולא פועל (כפי ששופט דן את הנאשם)? מבחינה תחבירית, הביטוי ״ספסל בצל עץ התות״ ניתן לניתוח הדומה לצירוף ״מנכל משרד ראש הממשלה״ כלומר ״הספסל של הבצל של עץ התות״, כשהמילה ״בצל״ משמשת במבנה סמיכות. כיצד אנו יודעים שזהו לא הניתוח הנכון עבור משפט זה? עד כה התייחסנו למילה ״נרדם״ כפועל ביחיד בזמן עבר. כיצד ידענו שלא מדובר בפועל ברבים בזמן עתיד (אנחנו נרדם מוקדם הלילה). כיצד אנו יודעים כי ״מקלחת הבוקר״ אינה מקלחתו של קאובוי? המילה ״לאחר״ משמשת כאן כמילת יחס לתיאור זמן, אולם יכולה להתפרש גם כ״עבור מישהו אחר״ (הוא נתן את ארוחתו לאחר) וכ״הגעה באיחור״ (הוא נוטה לאחר). ״לאחר מקלחת הבוקר״ יכול להתפרש כ״למשהו אחר מהקלחת של הקאובוי״. ועוד ועוד. כשאנו קוראים משפט, אנו מתמקדים באופן אוטומטי בפירוש הנכון שלו, ותופסים אותו כאילו היה לו פירוש יחיד. אולם, כמעט כל רכיב בכמעט כל משפט ניתן לניתוח באופנים שונים ומשונים. מוחנו פוסל את הניתוחים הלא נכונים באופן כמעט אוטומטי. מה
הם החוקים לפיהם אנו פועלים כשאנו קוראים משפטים, והמאפשרים לנו להגיע לניתוח הנכון עבורם? וכיצד ניתן לגרום למחשב לבצע ניתוח דומה?
הבנת החוקיות לפיה מורכבים משפטים בשפה אנושית והגדרת החוקים המתארים את החוקיות הזו מהווים אתגר עצום, שתחום ידע אקדמי שלם — הבלשנות — מוקדש למחקר שלו. יחד עם זאת, לבני אדם יש תפיסה אינטואטיבית טובה למדי של מבנה השפה, ואם נשאל אדם (אולי לאחר תקופת הכשרה מסויימת) מה הוא המבנה של משפט נתון, הוא יוכל בנקל לספק את התשובה. כך, במקום להסתמך על כתיבת חוקים, השיטות המודרניות בעיבוד שפה נסמכות על למידה סטטיסטית-אוטומטית מתוך דוגמאות. בני אדם מנתחים כמה אלפי משפטים ויוצרים ״דוגמאות״ לאופן בו נראה ניתוח נכון. לאחר מכן, אלגוריתמים ממוחשבים יעודיים מסתכלים על הדוגמאות האנושיות, מנתחים אותן, ולומדים מכך להסיק כיצד לנתח משפטים חדשים, שלא הופיעו בדוגמאות האימון. המחקר שלי משתמש בשיטות למידה כאלו, וכן מפתח שיטות למידה חדשות, היעודיות לתופעות הלשוניות אותן אנו מעוניינים למדל .(RNN בשנים האחרונות אני משתמש בשיטות למידה מתחום רשתות-הנוירונים-העמוקות, ובפרט רשתות-נוירונים-רקורסיביות שיטות אלו מסוגלות לזהות תבניות עדינות ומורכבות ביותר ברצפי סמלים בעלי אורך משתנה (למשל מילים בשפה טבעית), והן בעלות יכולת הכללה גבוהה מאד. במעבדת המחקר שלי בבר אילן פותחו מספר רב של אלגוריתמים לעיבוד שפה העושים
שימוש ברשתות כאלו, שמגיעים לתוצאות מרהיבות, ומסוגלים ללמוד מתוך כמות מידע קטנה יחסית, ותוך התערבות אנושית קטנה בסדרי גודל משהיה נדרש בעבר. החסרון העיקרי של שיטות אלו הוא שהן מתפקדות כ״קופסה שחורה״: הן מסוגלות ללמוד חוקיות מורכבת מאד, ולספק תשובות מדוייקות על סמך החוקיות שלמדו, אולם לא ניתן לדעת מה היא בדיוק החוקיות שנלמדה, ומדוע המערכת בחרה להחזיר תשובה זו ולא אחרת.
המחקר שלי מתמקד בשלושה כיוונים עיקריים:
(א) פתרון בעיות נוספות בעיבוד שפה, בפרט בעיות של מילים חסרות, ויחסים בין מילים, הן בשפה האנגלית והן בשפה העברית ובשפות אחרות.
(ב) כיצד ללמוד תוך שימוש בפחות דוגמאות, וכיצד להשתמש במשפטים לא מנותחים (הנמצאים בשפע) בנוסף למשפטים המנותחים (הדורשים ניתוח ידני) כדי לשפר את יכולת ההכללה של האלגוריתמים. בפרט אנו מתעניינים בשיפור הדיוק על סוגות טקסט שהאלגוריתמים הקיימים מתקשים בהם.
(ג) הבנה טובה יותר של רשתות-ניורונים-רקורסיביות, מה הן מסוגלות ולא מסוגלות למדל, מה גבולות היכולת שלהן, וכיצד ניתן לחלץ מתוך הרשת את התבניות אותן למדה.