עיבוד שפה טבעית

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
Disambig RTL.svgערך זה עוסק בעיבוד שפה טבעית. אם התכוונתם לניתוב לשוני פזיולוגי, ראו NLP.

עיבוד שפה טבעיתאנגלית: Natural Language Processing - NLP) הוא תת-תחום של אינטליגנציה מלאכותית ובלשנות. הוא חוקר את הבעיות הקשורות לעיבוד ומניפולציה של שפה טבעית, והבנה של שפה טבעית על מנת לגרום למחשבים "להבין" דברים שנאמרים או נכתבים בשפות אנושיות.

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

תוכן עניינים

[עריכה] עיבוד שפה טבעית

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

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

דוגמאות לבעיות העומדות בפני מערכות הבנת שפה טבעית:

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

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

[עריכה] המשימות העיקריות של עיבוד שפה טבעית

[עריכה] בעיות המקשות על עיבוד שפה טבעית

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

פתרון רב משמעות לקסיקלית חשוב מאד לזיהוי אוטומטי של ישויות (named entity recognition), למשל האבחנה בין "Nice System is an Israeli company" ל "I have nice systems at home".

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

[עריכה] עיבוד שפה טבעית סטטיסטי

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

[עריכה] ראו גם

[עריכה] קישורים חיצוניים