עיבוד שפה טבעית - NLP - מה זה בעצם - TheMarker
 

אתם מחוברים לאתר דרך IP ארגוני, להתחברות דרך המינוי האישי

טרם ביצעת אימות לכתובת הדוא"ל שלך. לאימות כתובת הדואל שלך  לחצו כאן

תיק מניות

רשימת קריאה

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

לחיצה על כפתור "שמור", בתחילת הכתבה תוסיף את הכתבה לרשימת הקריאה שלך.
לחיצה על "הסר" תסיר את הכתבה מרשימת הקריאה.

לרשימת הקריאה המלאה לחצו כאן
מה זה בעצם

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

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

6תגובות
אנימציה לתיאור NLP, עיבוד שפה טבעית
איור: עדי עמנואל

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

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

אלו אתגרים קשים מאוד מפני ששפה היא הרבה יותר משינון מילים. אין שום בעיה להזין מילון למחשב כך שידע לפלוט פירוש לכל מילה שיקבל, אבל זה לא יספיק כדי לאפשר לו להגיד אם מאמר מסוים מבטא כעס או שמחה –  לשם כך המחשב צריך ללמוד להתמודד עם דו-משמעיות ולהשתמש בהבנת ההקשר, היגיון בריא ופרשנות לטקסט שאינו מכיל את כל האינפורמציה, שלא לדבר על אירוניה. קחו למשל את הכותרת הזו ממאמר במגזין טיים: The pope's baby steps on gays

כל מה שצריך לדעת על קריירה בהייטק
כנסו למתחם

כיצד תלמדו את המחשב שהמחבר רוצה לספר על ההתקדמות האיטית של האפיפיור ביחס לקהילה הגאה, ולא על כך שהתינוק שלו דורך על להט"בים? ומה עם Boy paralyzed after tumor fights back to gain a black belt?

לכן, על מנת להביא את המחשב להבנת השפה, יש לעבור דרך מספר אתגרים שונים – ראשית, זיהוי השפה. אם הקלט הוא ויזואלי (כלומר – תמונה של טקסט, נניח משלט ברחוב) יש צורך בזיהוי התוים מהתמונה (Optical Character Recognition – OCR). בדומה לכך כשמדובר בקול יש צורך בתרגום לשפה. הבעיה קלה יותר כשהקלט מלכתחילה מקודד ומיוצג באופן נוח להבנה על ידי מחשב, כמו בשליחת דואר אלקטרוני.

האפיפיור פרנציסקוס
רויטרס

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

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

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

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

דוגמה מעניינת לשימוש בטכניקה של השוואת מסמכים על פי דמיון השכיחויות היחסיות של מילים ניתן למצוא באתר FiveThirtyEight. הפוסט ניתח דמיון בין קבוצות Reddit שונות על סמך המשתתפים (במקרה הזה שמות המשתתפים היו המקבילה למילים, והקבוצות למסמכים) כדי לאפיין את ה- Subreddit (קבוצה או פורום) של דונאלד טראמפ, והגיע למסקנות מעניינות ומטרידות, למשל על הקרבה בין הפורום לקבוצות שנאה כנגד שמנים. נשיא ארה"ב הוא מושא לפרויקטים נוספים בתחום עיבוד השפה הטבעית, וחשבון הטוויטר שלו בפרט. שימוש בטכניקות של Sentiment Analysis במהלך קמפיין הבחירות של טראמפ עמד על ההבדל בין הציוצים שמגיעים ממכשירי ה-iPhone וה-Android של המועמד טראמפ, והראה שהציוצים שמגיעים ממכשיר האנדרואיד, ולכן ככל הנראה מטראמפ עצמו ולא מעוזריו, בעלי רגש שלילי בהרבה בממוצע.

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

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

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

עומרי גולדשטיין הוא  דאטה סיינטיסט וכותב בלוג בזירת ההיי-טק של TheMarker בשם מבוסס נתונים



תגובות

דלג על התגובות

בשליחת תגובה זו הנני מצהיר שאני מסכים/מסכימה עם תנאי השימוש של אתר TheMarker

סדר את התגובות

כתבות ראשיות באתר

כתבות שאולי פיספסתם

*#