ניתוח סנטימנט (Sentiment Analysis)

מודלים ושפה

הגדרה

ניתוח סנטימנט הוא משימת-NLP שמזהה אוטומטית את הקוטביות הרגשית של טקסט — חיובית, שלילית או ניטרלית — ומיושמת בעיקר על ביקורות-לקוחות ופוסטים ברשתות-חברתיות.

מה זה ניתוח-סנטימנט

ניתוח סנטימנט (Sentiment Analysis) היא משימת-NLP שמטרתה לזהות אוטומטית את הקוטביות הרגשית המובעת בקטע-טקסט — האם היא חיובית, שלילית או ניטרלית — ולעיתים גם את עוצמתה, למשל בסולם של כוכב אחד עד חמישה. המשימה מכונה לעיתים גם "כריית-דעות" (Opinion Mining), משום שהיא מתמקדת בדרך-כלל בעמדה סובייקטיבית של הכותב כלפי נושא ספציפי — מוצר, סרט, שירות — ולא ברגש הכללי של הטקסט כמכלול. חשוב להבחין בינה לבין זיהוי-רגשות (Emotion Detection) הרחב יותר, שמנסה לסווג רגשות ספציפיים כמו כעס או שמחה, לא רק קוטביות חיובי-שלילי.

2002: מאמר-היסוד של Pang, Lee ו-Vaithyanathan

אחד המאמרים המשפיעים ביותר שהניעו את התחום כתחום-מחקר סטטיסטי פורסם ב-2002: "Thumbs up? Sentiment Classification using Machine Learning Techniques", מאת בו פאנג, לילן לי ושיווקומאר וייתיאנתן, שהוצג בכנס EMNLP. המאמר בחן האם טכניקות-סיווג רגילות שהצליחו במשימות-נושא (כמו Naive Bayes ומכונות-וקטור-תומך) מצליחות באותה מידה כשהן מיושמות על סיווג ביקורות-סרטים לחיוביות או שליליות, ומצא שסיווג-סנטימנט קשה יותר ממה שציפו — הטקסט לא תמיד מכיל מילים חיוביות או שליליות מובהקות, ולעיתים תלוי בהיפוך משמעות (כמו סרקזם). המאמר זכה מאוחר יותר בפרס Test-of-Time של כנס NAACL, ב-2018. בהמשך ישיר, פרסמו פאנג ולי ב-2005 מאמר נוסף, "Seeing Stars", שהרחיב את המשימה מסיווג בינארי (חיובי/שלילי) להערכת דירוג רב-ערכי — למשל דירוג של כוכב אחד עד חמישה — תוך התייחסות לכך שדירוגים סמוכים (שלושה וארבעה כוכבים) קרובים זה לזה מהותית יותר מדירוגים רחוקים, בניגוד לסיווג-נושא רגיל שבו כל קטגוריה בלתי-תלויה באחרות.

2003: הגדרה מדויקת יותר, ומקור המונח

שנה אחר-כך, ב-2003, פרסמו טצוּיה נסוקאווה וג'ונג-הי יי מ-IBM מאמר בכנס K-CAP, "Sentiment analysis: capturing favorability using natural language processing", שנחשב לאחד המקורות המוקדמים לשימוש הספציפי במונח "ניתוח סנטימנט" עצמו. בניגוד לגישת-הסיווג של Pang ו-Lee, שהתייחסה למסמך שלם, נסוקאווה ויי הציעו לחלץ סנטימנט כלפי נושא (Subject) ספציפי בתוך הטקסט — לא רק "האם הביקורת חיובית" אלא "מה העמדה כלפי הרכיב הזה בדיוק" — בעזרת שילוב של ניתוח תחבירי ומילון-סנטימנט, ודיווחו על דיוק-חיובי (precision) של 75%–95% בהתאם לסוג-הנתונים שנבדק.

שלוש גישות: מילון, למידת-מכונה סטטיסטית ולמידה עמוקה

לאורך השנים התפתחו שלוש משפחות-שיטות עיקריות. גישות מבוססות-ידע מסתמכות על מילוני-מילים מתויגות מראש (כמו "שמח", "עצוב", "מפחיד") וכללים לשילובן. גישות סטטיסטיות, בעקבות Pang ו-Lee, מאמנות מסווג — כמו Naive Bayes או SVM — על אוסף-דוגמאות מתויג, לרוב תוך ייצוג הטקסט כ"שקית-מילים" (Bag of Words). גישות למידה-עמוקה, המקובלות היום, משתמשות ברשתות-נוירונים מבוססות-הקשר (כמו BERT) שמסוגלות להתמודד עם טקסטים מורכבים יותר — למשל כתבות-חדשות, שבהן הכותב נמנע לעיתים קרובות מהבעת-דעה מפורשת, והרגש עולה רק מההקשר הרחב.

אתגרים שנשארו פתוחים

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

יישומים היום

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

שלוש גישות לניתוח-סנטימנט
מבוסס-מילוןלמידת-מכונה סטטיסטיתלמידה עמוקה
עקרון-הפעולההתאמת מילים לרשימת-מונחים מתויגת מראשמסווג שאומן על דוגמאות מתויגות, כמו Naive Bayes או SVMרשת-נוירונים מבוססת-הקשר, כמו BERT
צורך בנתוני-אימוןלא נדרש — רק מילון-מונחיםאוסף-ביקורות מתויג מראשמאגר-טקסט עצום, ולרוב גם כוונון-עדין מתויג
התמודדות עם הקשר וסרקזםחלשה — אינה מזהה הקשר סובבבינונית — תלויה במאפיינים שהוגדרו מראשהטובה ביותר מבין השלוש — מבינה הקשר רחב
דוגמה מייצגתרשימות-מילים ידניות משנות ה-90Pang, Lee ו-Vaithyanathan, 2002מודלים מבוססי-BERT, מ-2018 ואילך

שאלות נפוצות ❓

מה ההבדל בין ניתוח-סנטימנט לזיהוי-רגשות?

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

מי פרסם את מאמר-היסוד הסטטיסטי של התחום, ומתי?

בו פאנג, לילן לי ושיווקומאר וייתיאנתן, בכנס EMNLP ב-2002, במאמר "Thumbs up?" שבחן סיווג ביקורות-סרטים — המאמר זכה מאוחר יותר בפרס Test-of-Time של NAACL ב-2018.

מאיפה בא המונח הספציפי "ניתוח סנטימנט"?

אחד המקורות המוקדמים למונח הוא מאמר של טצוּיה נסוקאווה וג'ונג-הי יי מ-IBM, שהוצג בכנס K-CAP ב-2003.

למה סרקזם קשה כל-כך לניתוח-סנטימנט?

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