تحلیل احساسات (Sentiment Analysis)
تحلیل احساسات: تشخیص مثبت/منفی/خنثی متن؛ روش لغتنامهای، چالش ایرونی و شکلکها
تحلیل احساسات چیست؟
Sentiment Analysis تشخیص نگرش عاطفی متن: مثبت، منفی یا خنثی. یکی از پرکاربردترین مسائل NLP در کسبوکار:
- نظرسنجی محصولات: مشتریان راضیاند؟
- مانیتورینگ برند: حرف مردم در شبکههای اجتماعی چیست؟
- میزان موفقیت کمپین تبلیغاتی
- پیشبینی بازار (تحلیل اخبار و توییتها!)
سطح تحلیل
| سطح | خروجی | کاربرد |
|---|---|---|
| سند/نظر | احساس کل متن | امتیاز محصول |
| جمله | احساس هر جمله | تحلیل دقیقتر |
| وجه (Aspect) | احساس درباره هر جنبه | «غذا خوب، سرویس بد» |
تحلیل سطح وجه (Aspect-Based) پیشرفتهتر است: «رستوران قشنگ بود اما غذا سرد» ← دکور: مثبت، غذا: منفی!
روش ۱: لغتنامهای (Lexicon-based)
دیکشنری کلمات با قطب احساسی (+۱ تا −۱):
- هر کلمه را در لغتنامه جستجو کن
- قطبها را جمع/میانگین بگیر
- علامت نتیجه = احساس متن
مزیت: بدون نیاز به داده آموزش | عیب: دقت محدود، لغتنامه فارسی کم
روش ۲: یادگیری ماشین
متن برچسبدار (نظرات با امتیاز ستاره!) ← TF-IDF ← دستهبند. دقت بالاتر اما نیاز به داده.
چالشهای سخت
- ایرونی: «آفرین! سومین باره خراب شد» — کلمات مثبت، معنای منفی!
- شکلکها: 😊 vs 😡 — اطلاعات طلایی اما سختتحلیل
- منفیسازی: «خوب نبود» — «نه» همهچیز را برعکس میکند
- درجه: «خوب» vs «فوقالعاده» vs «بد نبود»
- بافت فرهنگی: تعبیرها در هر فرهنگ متفاوت
هشدار: مدلهای ساده روی ایرونی شکست میخورند! برای محتوای شبکه اجتماعی، مدلهای بافتمحور (ترنسفورمر) لازم است.
جمعبندی
- تحلیل احساسات = قطببندی عاطفی متن؛ ارزش تجاری عالی
- دو روش: لغتنامهای (بدون داده) و ML (دقیقتر)
- سطح وجه: تحلیل هر جنبه جداگانه
- ایرونی و منفیسازی، دشمنان اصلی
این مبحث بخشی از دوره آموزش کامل پردازش زبان طبیعی (NLP) است.