עסקים ישלטו ברכישת נתוני אינטראקציה עם צרכנים עד 2021.
הסתמכות יתר על נקודות הנתונים הללו, לעומת זאת, מובילה לעיתים קרובות לכך שארגונים מתייחסים לתשומה של הלקוח כאל סטטיסטיקה – גישה די חד-ממדית להקשבה לקול הלקוח.
לא ניתן לתג או להמיר את קולו של הלקוח למספר.
יש לקרוא אותו, לתמצת, ובעיקר להבין אותו.
העובדה היא שחברות חייבות להקשיב באופן אקטיבי למה שיש לצרכנים שלהן לומר בכל ערוץ שדרכו הן מתקשרות איתן, בין אם זה באמצעות שיחות טלפון, מיילים או צ'אט חי.
כל חברה צריכה לתת עדיפות לניטור ולהעריך את סנטימנט המשוב של הצרכנים, אבל חברות נאבקו באופן מסורתי לטפל בנתונים האלה ולהפוך אותם למודיעין משמעותי.
זה כבר לא המקרה עם ניתוח סנטימנט.
במדריך זה, נסקור מקרוב את ניתוח הסנטימנטים, היתרונות שלו וכיצד להשתמש ב- NLTK ספריה לעשות ניתוח סנטימנטים על נתונים.
מהו ניתוח סנטימנטים?
ניתוח סנטימנטים, המכונה לעתים קרובות כריית שיחה, היא שיטה לניתוח רגשות, מחשבות והשקפות של אנשים.
ניתוח סנטימנטים מאפשר לעסקים לקבל הבנה טובה יותר של הצרכנים שלהם, להגדיל הכנסות ולשפר את המוצרים והשירותים שלהם על סמך קלט הלקוח.
ההבדל בין מערכת תוכנה המסוגלת לנתח את סנטימנט הלקוחות לבין איש מכירות/נציג שירות לקוחות המנסה להסיק זאת הוא יכולתו העצומה של הראשון להפיק תוצאות אובייקטיביות מהטקסט הגולמי - הדבר מושג בעיקר באמצעות עיבוד שפה טבעית (NLP) ו למידת מכונה טכניקות.
מזיהוי רגשות ועד סיווג טקסט, לניתוח סנטימנטים יש מגוון רחב של יישומים. אנו משתמשים בניתוח סנטימנטים על נתונים טקסטואליים כדי לסייע לחברה לנטר את הסנטימנט של הערכות מוצרים או משוב מצרכנים.
אתרי מדיה חברתית שונים משתמשים בו כדי להעריך את תחושת הפוסטים, ואם הרגש חזק או אלים מדי, או נופל מתחת לסף שלהם, הפוסט נמחק או מוסתר.
ניתן להשתמש בניתוח סנטימנטים לכל דבר, החל מזיהוי רגשות ועד לסיווג טקסט.
השימוש הפופולרי ביותר בניתוח סנטימנטים הוא על נתונים טקסטואליים, שם הוא משמש כדי לעזור לחברה במעקב אחר הסנטימנט של הערכות מוצרים או הערות צרכנים.
אתרי מדיה חברתית שונים משתמשים בו גם כדי להעריך את תחושת הפוסטים, ואם הרגש חזק או אלים מדי, או נופל מתחת לסף שלהם, הם מוחקים או מסתירים את הפוסט.
היתרונות של ניתוח סנטימנטים
להלן כמה מהיתרונות החשובים ביותר של ניתוח סנטימנטים שאין להתעלם מהם.
- עזרה בהערכת תפיסת המותג שלך בקרב הדמוגרפי היעד שלך.
- משוב ישיר מלקוח מסופק כדי לעזור לך בפיתוח המוצר שלך.
- מגדיל את הכנסות המכירות וחיזוי.
- הזדמנויות מכירות נוספות עבור אלופי המוצר שלך גדלו.
- שירות לקוחות פרואקטיבי הוא אופציה מעשית.
מספרים יכולים לספק לך מידע כמו הביצועים הגולמיים של קמפיין שיווקי, כמות המעורבות בשיחת חיפוש ומספר הכרטיסים הממתינים בתמיכת הלקוחות.
עם זאת, זה לא יגיד לך מדוע התרחש אירוע מסוים או מה גרם לו. כלי אנליטיקה כמו גוגל ופייסבוק, למשל, יכולים לעזור לך להעריך את הביצועים של מאמצי השיווק שלך.
אבל הם לא מספקים לך ידע מעמיק מדוע הקמפיין הספציפי הזה הצליח.
לניתוח סנטימנט יש פוטנציאל לשנות את המשחק בהקשר זה.
ניתוח סנטימנטים - הצהרת בעיה
המטרה היא לקבוע אם לציוץ יש רגש חיובי, שלילי או ניטרלי ביחס לשש חברות תעופה אמריקאיות על סמך ציוצים.
זוהי עבודת למידה מפוקחת סטנדרטית שבה עלינו לסווג מחרוזת טקסט לקטגוריות מוגדרות מראש בהינתן מחרוזת טקסט.
פתרון
נשתמש בתהליך למידת מכונה רגילה כדי לטפל בבעיה זו. נתחיל בייבוא הספריות ומערכי הנתונים הדרושים.
לאחר מכן נבצע ניתוח נתונים חקרני כדי לקבוע אם יש דפוסים כלשהם בנתונים. לאחר מכן, נבצע עיבוד מקדים של טקסט כדי להפוך נתונים מספריים של קלט טקסטואלי שא למידת מכונה המערכת יכולה להשתמש.
לבסוף, נאמן ונעריך את המודלים של ניתוח הסנטימנטים שלנו באמצעות שיטות למידת מכונה.
1. ייבוא ספריות
טען את הספריות הדרושות.
2. ייבוא מערך נתונים
מאמר זה יתבסס על מערך נתונים שניתן למצוא בו GitHub. מערך הנתונים יובא באמצעות פונקציית הקריאה CSV של Pandas, כפי שניתן לראות להלן:
באמצעות הפונקציה head() בדוק את חמש השורות הראשונות של מערך הנתונים:
פלט:
3. ניתוח הנתונים
הבה נבחן את הנתונים כדי לקבוע אם יש מגמות כלשהן. אבל ראשית, נשנה את גודל העלילה המוגדר כברירת מחדל כדי להפוך את התרשימים לגלויים יותר.
נתחיל במספר הציוצים שקיבלה כל חברת תעופה. לשם כך נשתמש בתרשים עוגה:
אחוז הציוצים הציבוריים של כל חברת תעופה מוצג בפלט.
בואו נסתכל איך התחושות מתחלקות על כל הציוצים.
פלט:
הבה נבחן כעת את התפלגות הסנטימנט עבור כל חברת תעופה ספציפית.
על פי התוצאות, עיקר הציוצים של כמעט כל חברות התעופה הם לא חיוביים, עם ציוצים ניטרליים וטובים הבאים. וירג'ין אמריקה היא אולי חברת התעופה היחידה שבה היחס בין שלושת התחושות ניתן להשוואה.
פלט:
לבסוף, נשתמש בספריית Seaborn כדי לקבל את רמת האמון הממוצעת עבור ציוצים משלוש קטגוריות סנטימנט.
פלט:
התוצאה מראה שרמת האמון עבור ציוצים שליליים גבוהה יותר מאשר עבור ציוצים חיוביים או ניטרליים.
4. ניקוי הנתונים
ניתן למצוא הרבה מונחי סלנג וסימני פיסוק בציוצים. לפני שנוכל לאמן את מודל למידת המכונה, עלינו לנקות את הציוצים שלנו.
עם זאת, לפני שנתחיל לנקות את הציוצים, עלינו להפריד את מערך הנתונים שלנו לקבוצות תכונות ותוויות.
נוכל לנקות את הנתונים לאחר שהפרדנו אותם לתכונות ולערכות הדרכה. ישמשו ביטויים רגולריים לשם כך.
5. ייצוג מספרי של טקסט
כדי להכשיר מודלים של למידת מכונה, אלגוריתמים סטטיסטיים משתמשים במתמטיקה. מתמטיקה, לעומת זאת, עובדת אך ורק עם מספרים.
ראשית עלינו להפוך את הטקסט למספרים כדי שאלגוריתמים סטטיסטיים יתמודדו איתו. ישנן שלוש דרכים בסיסיות לעשות זאת: Bag of Words, TF-IDF ו-Word2Vec.
למרבה המזל, המחלקה TfidfVectorizer במודול Scikit-Learn של Python יכולה לשמש כדי להפוך תכונות טקסט לוקטורי תכונות TF-IDF.
6. יצירת מערכי הדרכה ומבחנים מבוססי נתונים
לבסוף, עלינו לחלק את הנתונים שלנו למערכות אימון ובדיקות לפני אימון האלגוריתמים שלנו.
ערכת ההדרכה תשמש לאימון האלגוריתם, ומערך המבחנים ישמש להערכת ביצועי מודל למידת המכונה.
7. פיתוח מודלים
לאחר הפרדת הנתונים למערכות אימון ומבחנים, נעשה שימוש בטכניקות למידת מכונה כדי ללמוד מנתוני האימון.
אתה יכול להשתמש בכל אלגוריתם למידת מכונה. עם זאת, הגישה של Random Forest תשמש בגלל יכולתה להתמודד עם נתונים לא מנורמלים.
8. תחזיות והערכת מודלים
לאחר הכשרת המודל, השלב האחרון הוא ביצוע תחזיות. לשם כך, עלינו ליישם את שיטת החיזוי על אובייקט המחלקה RandomForestClassifier שאימנו.
לבסוף, ניתן להשתמש במדדי סיווג כמו מדדי בלבול, מדדי F1, דיוק וכן הלאה כדי להעריך את הביצועים של מודלים של למידת מכונה.
פלט:
האלגוריתם שלנו השיג דיוק של 75.30, כפי שניתן לראות בתוצאות.
סיכום
ניתוח סנטימנטים הוא אחת מעבודות ה-NLP השכיחות ביותר מכיוון שהוא עוזר לזהות את דעת הקהל הכוללת בנושא ספציפי.
ראינו כיצד מספר ספריות Python יכולות לעזור בניתוח סנטימנטים.
ערכנו מחקר של ציוצים פומביים על שש חברות תעופה אמריקאיות והגענו לדיוק של כ-75%.
הייתי מציע לך לנסות אלגוריתם אחר של למידת מכונה, כגון רגרסיה לוגיסטית, SVM או KNN, כדי לראות אם אתה יכול להשיג תוצאות טובות יותר.
השאירו תגובה