|
||||
|
||||
תרגום במקרים רבים דורש הבנה סמנטית. את זה מחשב לא יכול לעשות, וקשה לראות איך יוכל. בקש ממחשב לתרגם לאנגלית משפט כמו ''העם שניצח במלחמה הניב גם מנצחים רבים בתזמורת'', ותגלה את הבעיה. |
|
||||
|
||||
חכם בלילה. את זה לא יוכל לעשות גם אדם. |
|
||||
|
||||
לתרגם את הדוגמה. זה לא עובד באנגלית, זה עובד רק בעברית. צריך לבחור על איזה משחק מלים לוותר, על כמה, ולעומת מה. אף אדם לא יכול לעשות את זה מושלם, ולא כל אדם יכול לעשות את זה בצורה סבירה בכלל, אז זה לא ממש מפתיע שאנחנו לא יודעים איך לעשות את זה עם מחשב. לא זו המטרה של הבנת שפה טבעית (או של תרגום אוטומטי, אם כבר). |
|
||||
|
||||
עזוב את משחק המלים. זה לא בדיוק טקסט ספרותי. כל מתרגם אנושי יידע איזה מנצח כאם הוא "victor" ואידה "onductor". איך המחשב יידע את זה? |
|
||||
|
||||
לפי סמיכות המילה ''מלחמה'' ל''ניצח'' הראשון ו''תזמורת'' לשני. אחרי שהמחשב עובר על אלפי טקסטים הוא יכול לזהות הקשרים שכאלו. |
|
||||
|
||||
טוב. אם אני אגיד "המנצח היה חניבעל", או "המנצח היה מנדי רודן" - מה אז? |
|
||||
|
||||
אז זה יותר קשה, אבל לדעתי טכניקה דומה (אם כי מתוחכמת יותר) תשיג את אותה המטרה. קרוב לודאי ש''חניבעל'' נמצא בקרבה גדולה יותר ל''מלחמה'' מאשר ל''תזמורת'' ברוב הטקסטים שהתוכנה למדה. כמובן שאפשר להיות אולטרה חכמים ולהגיד ''חניבעל ניצח על צבאו בצורה מופתית, כמו המנצח מנדי רודן'', ואת זה אני חושב שאפשר לפתור רק אם טורחים ללמוד קורס בלמידה חישובית ולא רק שומעים שמועות כמוני. |
|
||||
|
||||
לא צריך להיות חכמים גדולים כדי להמציא טקסט שבו לא יופיעו לא מלחמה ולא תזמורת, גם כשמדובר על אחד משני אלה. |
|
||||
|
||||
כן, אבל יופיעו בכל זאת מילים כלשהן שמספקות הקשר (אחרת גם בני אדם ייאלצו לנחש מה המשמעות). |
|
||||
|
||||
זדה תלוי. קודם כל יכול להיות משהו כמו "המנצח רודן נלחם בחירוף נפש עם הנהלת התזמורת" (נדמה לי שהייתה בפועל סיטואציה כזו). שנית, במסגרת שיחה בספר יכול להיות משהו כמו "אני בטוח שהמנצח יהיה רודן"/ "אז מה? אז שווה ללכת?"/ "לא יודע, הוא קצת מחורפן בזמן האחרון"... וכיו"ב. בן אדם אינו צריך לנחש. או שהוא מכיר את השמות, או שהוא יברר מי הוא מי. |
|
||||
|
||||
שתי האפשרויות - הכרת השמות, או בירור המקצועות - הן פשוטות מאוד עבור מחשב. |
|
||||
|
||||
כמו שאדם מכיר את השמות כך גם מחשב יכול. |
|
||||
|
||||
הפועל "ניצח" בעברית מקבל ביטוי יחס "על X" רק במשמעות המוסיקלית שלו ולא בצבאית. את הבעיה _הזו_ אפשר לפתור כבר ברמת התחביר (שזה בדיוק מה שגם אנשים עושים). |
|
||||
|
||||
כמה בני אדם ידעו ש"המנצח היה סטיוארט צ'אלנדר" מתיחס לניצחון על תזמורת, ש"המנצחת היתה ברברה מרויס" מתיחס לניצחון בהוקי קרח? |
|
||||
|
||||
אנשים יכולים לא לדעת: הם יכולים לברר. |
|
||||
|
||||
ולמחשבים אין גישה לגוגל? |
|
||||
|
||||
אתה נוגע פה בשתי נושאים שקשורים זה בזה, רקע משותף ותשתית (או איך שלא קוראים לזה בעברית). ריקוד, לחיצת ידים, זוג חותרים, מעשה אהבים או שניים שאוחזין בטלית, כולם פעילויות של שיתוף שדורשות קואורדינציה מורכבת במימדים שונים. אבל, הקואורדינציה דורשת סידרה של הנחות מוקדמות שהשותפים מחזיקים כל אחד צריך להניח שהשני מעוניין לשתף פעולה, שהשני יודע מה זה טלית, איזה רגל לשים קדימה בשעת הריקוד או מתי תורו להיכנס כשהם מנגנים דואט. בנוסף, כל אחד צריך להניח שהשני יודע שהוא יודע את אותם הדברים, וכה הלאה (אתה יכול לראות כיצד טיורינג ניכנס לסיפור?). הרקע המשותף - ידע על העולם, ידע אחד על השני, ידע על הדינמיקה של שיותף פעולה, ידע על העובדה שהשני הוא יצור תבוני בעל רגשות, כוונות, מחשבות וזכרונות - איננו דבר סטטי אלא הוא חלק מתהליך דינמי שנבנה תוך מהלך הפעילות. הפעילות עצמה יוצרת עובדות חדשות שעדכנות ומצטרפות למאגר הרקע המשותף, וכך נבנית התשתית שמאפשרת את המשך שיתוף הפעולה. שיחה היא שיתוף פעולה פר אקסלנס, והיא מתאפשרת רק אם קיים רקע משותף שמעוגן בתשתית. בשיחה פנים אל פנים אתה מתכנן מה אתה רוצה לומר, אבל אתה גם צריך לוודא שיבינו אותך. זה נעשה על ידי רקע משותף תחילי, וגם על ידי מערכת סימנים שמאותת הבנה הדדית. ברגע שאמרת/כתבת (אם כי תקשורת מילולית שונה מתקשורת כתובה) דבר מה, והובנת, והבנת שהבינו אותך (וכו'), הפרט החדש מצטרף למאגר התשתית ואפשר להתייחס אליו בהמשך. למשל, "לדודה שלי שרה נולדה בת." "מזל טוב," "היא שוקלת 2.5 קילו." "מי, שרה?" השאלה האחרונה משתמשת בידע המשותף ששרה היא הדודה, ולא צריך לשאול "מי, הדודה שרה?" |
|
||||
|
||||
נכון. שיחה טבעית היא פעולה מסובכת. מסקנה: התוכנה המשוחחת לא תהיה פשוטה, תצטרך לדעת המון על העולם, ולזכור מה אמרו לה לפני רגע. |
|
||||
|
||||
נדמה לי שבעיית הידע והזכרון הם דווקא החלקים הפחות מסובכים לתוכנה. ידע וזכרון רלוונטי לשיחה, זה כבר דבר אחר, לפני שעברנו לבעיות היותר מורכבות. |
|
||||
|
||||
התכוונתי למשהו הרבה יותר פשוט, תגובה 386267 ניסחה את זה בצורה מוצלחת ממני. בניגוד למה שנדמה לכל מני אנשים, הבעיה בפיתוח מחשב שמבין שפה שונה לגמרי מהביות איתם מתמודד בן אדם שמנסה להבין שפה. הדברים שקשים לנו, זיכרון, ידע, מהירות חישוב וכו', הם דברים שקלים מאד למחשבים, דברים בהם מחשים לא רק טובים כמונו, אלא אף טובים מאיתנו. בכלל, כל חוק בשפה שניתן לניסוח בצורה חד משמעית, מחשב "יבין" אותו טוב מבן אדם. |
|
||||
|
||||
(למידה חישובית היא לאו דווקא הטכניקה היחידה לעיבוד שפה טבעית בכלל ותרגום אוטומטי בפרט. לא בשמיים גם להכניס לתוכנה את ההקשרים הללו מראש.) |
|
||||
|
||||
(כל אחד מדבר על מה שהוא מכיר) |
|
||||
|
||||
קח את דוגמת בית הספר למשפט שהוא קל מאוד לאדם וכנראה קשה מאוד למחשב: "Melvin flung the plate at the wall, and it broke." בעברית: "מלווין הטיח את הצלחת בקיר, והיא נשברה." אבל רגע, למה לא "הוא נשבר" - הקיר? לכל אדם סביר בתרבויות הרלוונטיות ברור מי מהשניים צפוי להישבר מההתנגשות, אבל ידע העולם שנדרש לשם כך הוא כבד למדי - בהתחשב בכך שגם קיר עשוי להישבר, בנסיבות אחרות (ואפילו בהתנגשויות עם סוגים אחרים של plates). |
|
||||
|
||||
מעניין שאתה שואל, כי בדיוק אתמול הייתי בהרצאה בנושא הזה בדיוק. יש נושא שלם בהבנת שפה טבעית שעוסק בהבנת אנאפורה (ביטויי גוף וכאלה), ומסתבר שיש חוקים די ברורים לכך (Centering Theory), עוד לפני רמת הסמנטיקה. במקרה הספציפי הזה, "plate" הוא מושא ישיר ואילו "wall" הוא מושא עקיף, ולכן יש לו עדיפות להיות המשמעות של "it" על פני חברו המסוייד. השווה "The wall had the plate flunged at by Melvin, and it broke". זה משפט קצת מבלבל, אבל הוא מבלבל פשוט כי אתה יודע שלא סביר שקיר אכן ישבר מזריקת צלחת. אבל כל המאפיינים של המשפט מצביעים על המשמעות הזו, וזהו הדרך הנכונה להבין אותו. |
|
||||
|
||||
מה יש לכם עם המלווין הזה? אי אפשר לעבור לשמות קצת יותר סימפטיים? |
|
||||
|
||||
יפה. |
|
||||
|
||||
לא הבנתי... אתה יכול להסביר שוב? אני אמקד את השאלה: מה קורה אם משווים את "Melvin flung the plate at the wall, and it broke." ו"Melvin flung the ball at the plate, and it broke." ואת ההיפוך שלהם"The X had the Y flunged at by Melvin, and it broke" אמנם ההיפוך של השני נשמע (לי) פחות מבלבל מההיפוך של הראשון, אבל בגרסא הישירה שלהם שניהם ברורים באותה מידה למרות שה it מתייחס למושא אחר בכל פעם.
? |
|
||||
|
||||
הממם. כנראה שטעיתי: קדימות של מושא ישיר על מושא עקיף לא עד כדי חזקה, ובאמת חייבים להשתמש בסמנטיקה. ואילו הקדימות של נושא על מושא היא כן חזקה יותר מסמנטיקה, ולכן אסור להפוך את המשפט הראשון אבל אפשר להפוך את השני. |
|
||||
|
||||
עוד תגובה. התאוריה1 עסקה הרבה ברצף של משפטים, ולא במשפט בודד. אז נניח: Melvin played with the ball. ברור מהדקדוק שהכוונה בit לplate, אחרת היה כתוב:Then he flung the ball at the plate, and it broke. Melvin played with the china doll. אמור להיות רצף של צורת שימוש בשמות גוף; לא דקדוקי לשבור רצף כזה בלי פרוטוקול מסוים, ומצד שני לא דקדוקי להמנע מלהשתמש בשמות גוף כשהפרוטוקול מאפשר. לכן ברוב הגדול של המקרים, לא תצטרך סמנטיקה כדי להבין שם גוף.Then he flung it at the plate, and it broke. למעשה, אני חושד שאפילו הדוגמה הראשונה שלי (ובעצם גם שלך) בתגובה הזו לא דקדוקית בכלל, ואולי כדאי לשאול דובר אנגלית ילידי או (לעבור לדוגמאות בעברית). אני חושד שדובר אנגלית ילידי היה מנסח זאת בכלל כ: Melvun flung the ball at the plate, which broke. 1 http://www.cs.tau.ac.il/~nachum/NLP/ וחפש "anaphora"
|
|
||||
|
||||
בחקירות בלשניות, הנתון האמפירי שבודקים הוא תמיד(?) מה נשמע לאנשים דקדוקי - האם משפט נתון נשמע להם תקין או לא. אבל אני חושב שנתון מעניין אחר הוא לתת להם להעריך משפטים באופן לא בינארי: איזה משפט נשמע להם טוב יותר. וגם אם "יוסי זרק את החולצה על הצנצנת, והיא נשברה" יובן על-ידי אנשים, ויישמע להם תקין, אני חושב שהם יעדיפו "יוסי זרק את החולצה על הצנצנת, והצנצנת נשברה" (או "..., וזו נשברה") - מה שמחזק את הנקודה המקורית שלך. |
|
||||
|
||||
טוב, זה מוכר לי עוד מהקטע שבו גרושו(?) מרקס שובר קיר כשהוא נשען עליו/זז ממנו... |
|
||||
|
||||
הארפו. |
|
||||
|
||||
אכן.:) |
|
||||
|
||||
[צ] "תרגום... דורש הבנה סמנטית... את זה מחשב לא יכול לעשות, וקשה לראות איך יוכל." [/צ] למה אתה חושב שמחשב לא יכול לעשות את זה? |
|
||||
|
||||
טוב, היה צ"ל, "קשה *לי*". אני פשוט לא רואה, לפחות במה שידוע לי על המחשב כרגע, שהוא יוצא מגבולות הסינטקס. |
|
||||
|
||||
אני לומד עכשיו קורס קומפילציה. החודש הראשון זה סינטקס, ואחרי זה עוברים קצת לסמנטיקה. (מה ידוע לך על המחשב כרגע?) |
|
||||
|
||||
לא הרבה, חוץ מזה שכל דבר שראיתי אותו עושה עד כה בענייני שפה היה סינטקטי. ויש דרישה למאמר מייד כשאתה מסיים את הקורס! |
|
||||
|
||||
אני? תבקש ממי שהעביר את הקורס בסמסטר שעבר. |
|
||||
|
||||
אגב, למען הסר ספק: אין לי מושג האם יש קשר כלשהו בין סמנטיקה של שפות תכנות לסמנטיקה של שפות טבעיות. ברור שהבעיה השניה קשה בכמה סדרי גודל. |
|
||||
|
||||
אהה. עכשיו הבנתי. ברור שאני דיברתי על השנייה. |
חזרה לעמוד הראשי | המאמר המלא |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |