تحلیل احساسات در توییتر با پایتون – راهنمای جامع و کاربردی

- Docker v1.3.0 (+)
- boot2docker v1.3.0 (+)
- Tweepy v2.3.0 (+)
- TextBlob v0.9.0 (+)
- Elasticsearch v1.3.5 (+)
- Kibana v3.1.2 (+)
معرفی ابزارهای مورد استفاده
در ادامه، سه ابزار اصلی مورد استفاده در این راهنما به صورت اجمالی معرفی شدهاند.
داکر
«داکر» (Docker)، یک برنامه کامپیوتری برای انجام مجازیسازی در سطح سیستمعامل است که به آن «containerization» نیز گفته میشود. داکر برای اجرای بستههای نرمافزاری که «ظرف» (کانتینر | container) نامیده میشوند مورد استفاده قرار میگیرد.
کیبانا
«کیبانا» (Kibana) یک پلاگین بصریسازی دادههای متنباز برای Elasticsearch است. این پلاگین، قابلیت «بصریسازی» (visualization) را براساس محتوای اندیسگذاری شده در خوشه Elasticsearch فراهم میکند. کاربران میتوانند «نوار» (bar)، نمودارهای نقطهای، خطی، نمودار دایرهای و نقشهها را براساس حجم بالایی از دادهها ایجاد کنند.
الاستیک سرچ
«الاستیک سرچ» (Elasticsearch) یک موتور جستوجو بر اساس کتابخانه بازیابی اطلاعات «متنباز» (Open Source) «آپاچی لوسین» (Apache Lucene) و دارای قابلیت «چند مستاجری» (Multitenancy) تمام متن با یک رابط وب HTTP و مستندات JSON است.
محیط داکِر
همچنین، کاربران باید یک دایرکتوری برای نگهداری پروژه خود بسازند و Dockerfile را از مخزن گرفته و یک «ایمیج» (image) ایجاد کنند.
پس از ساخت، «کانتینر» (container | ظرف) را میتوان با بهرهگیری از دستور زیر اجرا کرد.
در نهایت، باید دو دستور بعدی را در ترمینال جدید ویندوز برای نگاشت آدرس port combo/IP استفاده شده در boot2docker VM در «لوکالهاست» (localhost) (متعلق به کاربر)، اجرا کرد.
اکنون، میتوان به Elasticsearch در مسیر http://localhost:9200 و Kibana در مسیر http://localhost:8000 دسترسی داشت.
Twitter Streaming API
این موارد را باید به یک فایل جدید با نام config.py افزود.
تذکر: با توجه به آنکه این فایل حاوی اطلاعات حساسی است، کاربران نباید آن را به مخزن گیت خود بیافزایند.
Tweepy Listener
Tweepy از یک «listener» نه فقط برای گردآوری توئیتهای استریم شده، بلکه فیلتر کردن آنها نیز استفاده میکند.
کد
کاربر باید کد زیر را با نام sentiment.py ذخیره کند.
آنچه در کد بالا اتفاق میافتد به صورت موجز به شرح زیر است:
- اتصال به Twitter Streaming API
- فیلتر کردن دادهها با کلیدواژه «congress»
- «رمزگشایی» (دیکد | Decode) کردن نتایج (توئیتها)
- محاسبه تحلیل احساسات با TextBlob
- تعیین اینکه احساسات کلی مثبت، منفی و یا خنثی هستند.
- در نهایت دادههای توییتها و احساسات مرتبط به آن ها به Elasticsearch DB افزوده میشود.
برای آگاهی از جزئیات بیشتر، مطالعه «توضیحات» (Comments) موجود در کد توصیه میشود.
مبانی محاسبه احساسات با TextBlob
- مثبت: از ۰/۰۱ تا ۱/۰
- خنثی: ۰
- منفی: از ۰/۰۱- تا ۱/۰-
برای آگاهی از جزئیات چگونگی محاسبه احساسات توسط TextBlob، مراجعه به صفحه رسمی آن توصیه میشود.
تحلیلهای الاستیکسرچ
در طول یک بازه زمانی دو ساعتی، ۹۵۰۰ توئیت با کلیدواژه «congress» گردآوری شده است. پژوهشگران میتوانند از کلیدواژه مورد نظر خود برای گردآوری توئیتها استفاده کنند. پس از آنکه حجم قابل توجهی توئیت گردآوری شد، میتوان به کار اسکریپت پایان داد.
سپس، این امکان وجود دارد که اندکی تحلیل روی نتایج انجام داد. با استفاده از اندیس «sentiment» از اسکریپت «sentiment.py»، میتوان از Elasticsearch search API برای گردآوری بینش اولیه استفاده کرد. برای مثال:
- متن کامل جستوجو برای «obama» (+)
- جستوجوی نام کاربری توییتر/نویسنده (+)
- جستوجوی احساسات (+)
- جستوجوی «obama» و احساسات (+)
بصریسازی با کیبانا
«کیبانا» (Kibana)، امکان مشاهده و تعامل با دادهها را در زمان واقعی و در حقیقت در حالیکه گردآوری میشوند میدهد. به دلیل اینکه کیبانا با جاوااسکریپت نوشته شده، میتوان به آن مستقیما از طرریق مرورگر دسترسی داشت.

در ادامه نمودارهای دیگری از کیبانا ارائه شده است.


اگر مطلب بالا برای شما مفید بوده، آموزشهای زیر نیز به شما پیشنهاد میشود:
- گنجینه آموزشهای برنامه نویسی پایتون (Python)
- مجموعه آموزشهای آمار، احتمالات و دادهکاوی
- مجموعه آموزشهای یادگیری ماشین و بازشناسی الگو
- مجموعه آموزشهای هوش محاسباتی
- آموزش تحلیل شبکههای اجتماعی با نرم افزار نود ایکس ال (NodeXL)
- بررسی چالشهای عقیدهکاوی و تحلیل احساسات — به زبان ساده
- عقیده کاوی و تحلیل احساسات ــ کاربردها
^^
مطالب مجله فرادرس را در جستجوی گوگل سریعتر ببینید














با سلام مطلب بسیار با ارزشی بود فقط برای بدست آوردن چهارتا توکن هیچ راه دیگه ای وجود ندارد ؟
چون تویتر به هر کسی توکن نمی دهد. درخواست من برای بدست آوردن توکن ها رد شد.
با سلام مطلب بسیار با ارزشی بود فقط برای بدست آوردن چهارتا توکن هیچ راه دیگه ای وجود ندارد ؟
چون تویتر از ژون ۲۰۱۸ سختگیری اعمال کرده و به هر کسی توکن نمی دهد. درخواست من برای بدست آوردن توکن ها رد شد.
اگه راه دیگه ای رو سراغ دارید لطفا ذکر نمایید.