עיבוד שפה טבעית (NLP) הוא תת־תחום של בינה מלאכותית ובלשנות. בלשנות חישובית היא החלק התאורטי שמשלב מדעי המחשב בחקר השפה.
בשנות ה־50 וה־60 פותחו מערכות ראשוניות כמו SHRDLU ו־ELIZA. הן עבדו טוב בסביבות פשוטות, ויצרו אופטימיות שחלפה כשהמערכות הוכנסו לעולם המורכב של שפה אמיתית.
הבנת שפה תלויה בידע רחב על העולם. ידע כזה נראה לפעמים טריוויאלי לאדם, אבל יש להכניסו למערכת מחשב כדי שהמחשב יפענח משפטים. גם המושג "הבנה" עצמו אינו ברור במלואו.
המטרה היא לפתח יישומי מחשב שמנתחים, מפרשים ומייצרים שפה אנושית.
הפרדת מילים: בשפות מסוימות אין רווחים ברורים בין מילים. זה מקשה על זיהוי מילים.
רב־משמעות לקסיקלית: למילים רבות יש יותר ממשמעות אחת. דוגמה: "סבון נטול סבון", משמעות שונה של המילה "סבון".
עמימות תחבירית: מבנה תחבירי אחד יכול לקבל משמעויות שונות. למשל "דוב נמלים" ו"כלב זאב" מדגימים הבדלים במשמעות למרות מבנה דומה.
קלט לא ברור: מבטאים זרים, שגיאות הקלדה וזיהוי טקסט קשה את העיבוד האוטומטי.
פרגמטיקה: לעתים כוונת הדובר אינה נובעת מהמילים בלבד. למשל "האם אתה יכול להעביר את המלח?" מיועדת בבירור כבקשה ולא כשאלה לניתוח לוגי.
גישות סטטיסטיות משתמשות בהסתברויות כדי לבחור בין פירושים שונים. הן מבוססות על מאגרי טקסט גדולים ומודלים של לימוד ממידע, כגון מודלים מקטורייים ולמידת מכונה. שיטות אלה עוזרות להתמודד עם מיליוני אפשרויות ניתוח שיופיעו בשפה טבעית.
עיבוד שפה טבעית (NLP) עוזר למחשבים להבין שפות שאנשים מדברים וכותבים. שפה טבעית זה השפה שלנו.
בתחילת הדרך היו תוכניות פשוטות כמו SHRDLU ו־ELIZA. הן עבדו טוב בסביבות קטנות.
כדי שמחשב "יבין" צריך לתת לו הרבה ידע על העולם. לפעמים גם המילה "להבין" קשה להסבר.
המטרה היא לגרום למחשב לקרוא, לפרש ולכתוב בשפה אנושית.
חוסר רווחים: בחלק מהשפות אין רווחים בין מילים. זה מקשה על המחשב.
מילים עם יותר ממשמעות אחת: למשל "סבון נטול סבון" מראה שתי משמעויות שונות למילה אחת.
משפטים מטומטמים: משפטים יכולים להתפרש בכמה דרכים. זה מקשה על הבחירה הנכונה.
קולות וקלט רע: מבטא שונה או טקסט שגוי מקשים על ההבנה.
כוונה חבויה: אנשים לפעמים מבקשים משהו בלי להגיד זאת במפורש. משפט כמו "האם אתה יכול להעביר את המלח?" הוא דוגמה.
שיטות סטטיסטיות משתמשות בחשבון ובהסתברות. המחשב לומד מדוגמאות של טקסטים רבים. כך הוא משתפר עם הזמן.