در چشم انداز امروزی مبتنی بر هوش مصنوعی، یادگیری ماشین، هوش مصنوعی و ربات های گفتگو با سرعتی بی سابقه در حال تغییر صنایع هستند.
کسب و کارهای بیشتری به دنبال ادغام هوش مصنوعی در عملیات خود هستند، اما نحوه ساخت این سیستم ها اغلب نادیده گرفته می شود. ماده اصلی؟ داده ها یک مدل یادگیری ماشینی فقط به اندازه داده هایی است که روی آن آموزش داده شده است. اما این همه داده از کجا آمده است؟
بخش قابل توجهی از دادههایی که ما به آنها تکیه میکنیم در دسترس عموم است که اغلب در پستهای رسانههای اجتماعی، نظرات کاربران و سایر محتوای آنلاین یافت میشوند. برای تجزیه و تحلیل احساسات ، یکی از غنی ترین منابع داده توییتر است که به طور مداوم محتوای تولید شده توسط کاربر را در زمان واقعی پخش می کند. با این حال، چالش در نحوه جمع آوری این داده ها به طور موثر و تمیز نهفته است.
زمانی که شروع به کار بر روی یک پروژه تجزیه و تحلیل احساسات با استفاده از داده های توییتر کردم، در ابتدا به فکر استفاده از Twitter API بودم. با این حال، من به سرعت با یک محدودیت قابل توجه روبرو شدم: API لایه آزاد تنها دسترسی به توییت های هفت روز گذشته را فراهم می کند. برای تجزیه و تحلیل احساسات جامع، به ویژه برای موضوعات پرطرفدار یا رویدادهای سیاسی هفته ها یا ماه ها، این محدودیت به شدت دامنه و کیفیت داده های موجود را محدود می کند.
در حالی که ارتقاء به سطح API بالاتر یک گزینه بود، هزینه آن برای پروژهای در مقیاس کوچک مانند پروژه من بسیار بالا بود. این برای من دو مسیر باقی گذاشت: تلاش برای جمعآوری دادهها به صورت دستی از طریق خراش دادن سنتی (که با مجموعهای از چالشها مانند CAPTCHA، افزونگیها و سوابق ناقص همراه بود) یا یافتن راهحل جایگزین.
اینجاست که Bright Data وارد بازی می شود و با ارائه مجموعه داده های توییتر تمیز، مقیاس پذیر و تاریخی، این مسائل را به طور یکپارچه حل می کند. به جای محدود شدن توسط محدودیت های API، می توانستم بدون دردسرهای معمول به داده های متنوع و با کیفیت بالا برای پروژه خود دسترسی داشته باشم.
در این مقاله، نحوه استفاده از Bright Data's Marketplace را برای به دست آوردن دادههای باکیفیت توییتر برای تجزیه و تحلیل احساسات و به اشتراک گذاشتن تجربیات من به شما آموزش میدهم.
برای شروع به وب سایت Bright Data بروید و یک حساب کاربری رایگان ایجاد کنید. پس از ورود به سیستم، به بازار داده هدایت خواهید شد، جایی که می توان به مجموعه داده های از پیش ساخته شده مختلف، از جمله موارد مربوط به توییتر، دسترسی داشت.
پس از انتخاب مجموعه داده خود، می توانید آن را مستقیماً در دستگاه محلی خود دانلود کنید یا از طریق API به آن دسترسی داشته باشید. فرآیند سریع به شما امکان می دهد تقریباً بلافاصله کار با داده های با کیفیت بالا را شروع کنید. من از مجموعه داده پست های توییتر استفاده کردم
دادههای خام توییتر معمولاً حاوی فرادادههای زیادی هستند که ممکن است برای تجزیه و تحلیل احساسات مرتبط نباشند، مانند اطلاعات کاربر، آدرسهای اینترنتی تصویر و سایر دادههای غیر متنی. ما روی متن توییتها تمرکز میکنیم، زیرا در آنجا تحلیل احساسات به همراه معیارهای تعامل مرتبط مانند پستهای مجدد و لایکها اعمال میشود.
import pandas as pd df = pd.read_csv("path_to_your_dataset.csv") df.head()
گام بعدی این است که داده ها را با مدیریت مقادیر از دست رفته و حذف ستون های نامربوط پاک کنید.
df_clean = df[['user_posted', 'description', 'date_posted', 'reposts', 'likes']] df_clean = df_clean.dropna(subset=['description']) df_clean = df_clean.drop_duplicates(subset=['description']) df_clean.head()
اکنون که دادهها را پاک کردهایم و متن مربوطه را داریم، وقت آن است که به تجزیه و تحلیل احساسات بپردازیم. تجزیه و تحلیل احساسات به معنای تعیین لحن عاطفی در پشت کلمات است - مثبت، منفی یا خنثی بودن توییت.
من از یک کتابخانه محبوب به نام VADER (Valence Aware Dictionary and Sentiment Reasoner) استفاده کرده ام که به طور خاص برای متن رسانه های اجتماعی طراحی شده است. در مدیریت زبان غیررسمی مانند عامیانه و ایموجی ها عالی است.
قطعه کد زیر تجزیه و تحلیل احساسات را با استفاده از VADER انجام می دهد
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer analyzer = SentimentIntensityAnalyzer() def get_sentiment(text): sentiment = analyzer.polarity_scores(text) return sentiment['compound'] df_clean['sentiment'] = df_clean['description'].apply(get_sentiment) df_clean.head()
وقتی امتیازات احساسات محاسبه شد، میتوانیم توزیع را تجزیه و تحلیل کنیم تا ببینیم توییتها به طور متوسط چقدر مثبت یا منفی هستند. این می تواند بینشی در مورد روحیه عمومی عمومی در مورد یک موضوع یا رویداد خاص ارائه دهد. همچنین میتوانیم توزیع احساسات را با استفاده از هیستوگرام یا wordcloud برای شناسایی احساسات کلیدی تجسم کنیم.
این طرح به شما حس خوبی از انتشار احساسات می دهد، خواه به سمت مثبت، منفی یا خنثی متمایل شود. در این مورد، تعداد زیادی توییت خنثی وجود دارد.
اکنون که امتیازات احساسات برای هر توییت را داریم، گام بعدی این است که بررسی کنیم آیا بین معیارهای احساسات و تعامل مانند لایکها و ارسالهای مجدد همبستگی وجود دارد یا خیر. در تجزیه و تحلیل رسانه های اجتماعی، ممکن است انتظار داشته باشید که احساسات مثبت بیشتر می تواند منجر به تعامل بیشتر شود (لایک بیشتر، ارسال مجدد بیشتر). با این حال، آیا واقعاً چنین است؟
برای اینکه بفهمیم، میتوانیم همبستگی بین نمرات احساسات و معیارهای تعامل را محاسبه کنیم، نتایج به شرح زیر است:
Correlation between sentiment and likes: 0.022806738610786123
Correlation between sentiment and reposts: 0.008885789875330416
با توجه به مقادیر ضعیف همبستگی حاصل از تجزیه و تحلیل داده های من، می بینیم که ارتباط قوی بین احساسات و تعامل وجود ندارد. همبستگی بین احساسات و لایک ها 0.02 و برای احساسات و بازپست ها فقط 0.008 بود. این مقادیر نشان میدهند که معیارهای تعامل مانند لایکها و ارسالهای مجدد به طور قابل توجهی تحت تأثیر احساسات توییتها نیستند .
همبستگی ضعیف بین احساسات و مشارکت نشان می دهد که عوامل دیگری نیز در بازی وجود دارند. در حالی که تجزیه و تحلیل احساسات به ما کمک می کند تا افکار عمومی را درک کنیم، مشارکت احتمالاً توسط عوامل دیگری هدایت می شود، مانند:
در حالی که تجزیه و تحلیل احساسات ابزار ارزشمندی برای درک احساس مردم در مورد یک موضوع است، همیشه یک پیش بینی قابل اعتماد برای تعامل نیست. برای به دست آوردن بینش عمیق تر در مورد رفتار کاربر، در نظر گرفتن سایر عوامل مانند زمان بندی محتوا، ارتباط و تأثیر کاربر ضروری است.