Description
به نام خدا
تمرین اول درس مباحثی در علوم کامپیوت ر عنوا ن: تحلیل احساسا ت جریان داد ههای میکروبلا گ
استاد درس:
دکتر اکبری
موعد تحویل: ۱۶/۰۸/ ۱۳۹۹
فهرست مطالب
هدف ……………………………………………………. ۳ شرح تمری ن …………………………………………………. ۳ طبق هبند احساسات اولیه ………………………………………….. ۳
توابع و عملکردهای بهبوددهنده ………………………………………. ۳ دادههای موجود ……………………………………………….. 4 جزئیات پیادهسازی ……………………………………………… 4 معیار ارزیابی پاسخ شما ……………………………………………. 5
گزارش کار …………………………………………………. 5
هدف
تحلیل احساسات و نیت تویی تها، از آن رو که به تشخیص درک کاربران از سازما نها، رویدادها و یا محصولات کمک میکند، کار مهمی است. هدف این پروژه، ساخت یک طبقهبند ۱ برای دستهبندی جریان توییتهای ورودی به کلاسهای مختلف احساسات است؛ برای مثال، در سادهترین دستهبندی، توییتها به دو کلاس مثبت و منفی دستهبندی میشوند. یک منبع مهم در تجزیه و تحلیل احساسات، واژهنامه لغت )دیکشنری( احساسات است که ممکن است بسته به زمان )اصطلاحات جدید ظهور کند( و کلاسها یا جنب هها متفاوت باشد )یک اصطلاح با توجه به کلاسها یا جنبههای مختلف، ممکن است دارای احساسات متفاوتی باشد(. علاوه بر اینها، چالشهای دیگری نیز وجود دارد که حل آ نها میتواند پروژه را بهبود ببخشد. از جمله این چالشها میتوان به تاثیر زیرموضوعات، استفاده از شکلکها، عوامل مختلف اجتماعی و اطلاعات زمانی اشاره کرد. این عوامل باعث بهبود عملکرد سیستم میشوند و باید بررسی گردند .
شرح تمرین
در این پروژه، باید ماژولی را برای تجزیه و تحلیل احساسات جریا نهای ورودی میکروبلاگها پیادهسازی کنید. این ماژول باید شامل عملکردهای زیر باشد:
طبق هبند احساسات اولی ه
▪ باید بتواند بر اساس دادههای آموزشی2، طبقهبند)ها( را با استفاده از هر روش مناسب یادگیری ماشین و مبانی ساده فرهنگ لغت پردازش کند. دادههای توسعه۳ برای تنظیم پارامترها ارائه شده است.
▪ طبق هبند اولیه، فقط با ویژگیهای متنی، با استفاده از یک مجموعه دیکشنری احساسات ساده و پایهای، آموزش میبیند .
▪ طبق هبند اولیه بر روی دادههای آزمونِ دادهشده، آزمایش میشود. هنگام آزمایش انتظار میرود طبقهبند توییتهای ورودی جدید را در سه کلاس مثبت) ۱+(، منفی) ۱-( و خنثی )صفر( طبقهبندی کند .
▪ برای نشاندادن این که طبق هبند حاصلشده به خوبی کار میکند، نمایش نتایج نهایی در یک جدول اهمیت بالایی دارد .
توابع و عملکردهای بهبوددهنده
▪ توانایی برداشت اصطلاحات جدید احساسات بر اساس آخرین مجموعه اسناد مرتبط
▪ توانایی کاوش در اطلاعات اجتماعی و زمانی در تعیین احساسات توییتهای ورودی
▪ توانایی تشخیص توییتهای غیرمرتبط
▪ بسط بازهی قوت تشخیص احساسات )مثلا بر اساس شدت احساسات ،۱- را به 5- و ۱+ را به 5+ بسط دهید(
▪ استفاده از ویژگیهای وابسته به حوز هی موضوع، مانند زیرگروهها/جنب هها برای افزایش دقت تجزیه و تحلیل احساسا ت
1 Classifier
2 Training
3 Development
داد ههای موجود
مجموع های از تویی تهای مربوط به تجربه مسافران از پرواز با خطوط هوایی آمریکا در سال 2۰۱5 در قالب سه فایل csv به شما داده میشود. این فایلها شامل مجموع ههای آموزشی، توسعه و آزمون هستند. در هر فایل، متن توییت در ستون text و کلاس
احساس مربوط به آن در ستون airline_sentiment موجود است. علاوه بر این دو ستون، اطلاعات دیگری نیز در مورد پروازها در فایل موجود است که برخی از آ نها در ادامه آورده شده است:
▪ میزان اطمینان از کلاس توییت در قالب عددی بین ۰ و ۱ در ستون airline_sentiment:confidence
▪ تاریخ و زمان ایجاد توییت در ستون tweet_created
▪ منطقه زمانی کاربر در ستون user_timezone
▪ دلیل نارضایتی از پرواز در ستون negativereason
▪ نام خط هوایی در ستون airline ▪ تعداد retweet ها در ستون retweet_count
شما باید از مجموعهی آموزش برای یاد دادن، توسعه برای تنظیم سیست مها/پارامترها و آزمون برای محک مدل و کشیدن جدول نتایج استفاده کنید. توزیع توییتها بر حسب کلاسهایشان در ادامه آورده شده است .
مجمو ع تعداد نمونههای منفی تعداد نمونههای خنثی تعداد نمونههای مثبت مجموع ه
۸۷۸4 554۷ ۱۷۹۰ ۱44۷ آموزش ی
2۹2۸ ۱۸۰5 ۶۷۳ 45۰ توسع ه
2۹2۸ ۱۸2۶ ۶۳۶ 4۶۶ آزمو ن
برای دانلود دادهها به لینک زیر مراجعه کنید.
https://drive.google.com/file/d/1yl9-UqLIhy8GPUPmKT6wqqiyMUwPpxXu/view?usp=sharing
جزئیات پیادهسازی
در این تمرین انتظار میرود ابتدا دادهها را پیشپردازش کنید و مراحلی مانند حذف ایستواژهها ، نرمالسازی و حذف کلمات بسیار کوتاه )با طول کمتر از ۳ کاراکتر( را انجام دهید. پس از آمادهسازی دادهها، باید با استفاده از روش 2𝜒 تاثیرگذارترین کلمات را استخراج کنید .
برای آموزش طبق هبند، میتوانید از KNN ،SVM و یا روش Naïve Bayes استفاده کنید . در هر صورت، پس از آموزش طبق هبند، باید آن را با معیارهای زیر مورد ارزیابی قرار بدهید:
• Precision
• Average Precision
• Recall
• F1-Score (Micro and Macro)
• Confusion Matrix
سعی کنید با استفاده از Confusion Matrix عملکرد مدل را تحلیل نمایید . یک راه میتواند این باشد که درصد اشتباه در هر کلاس را بر اساس این ماتریس محاسبه نمایید.
توجه: توصیه میشود برای یادگیری الگوریتمهای یادگیری، حداقل یکی از آنها )مانند KNN( را خودتان پیادهسازی کنید. البته اگر از کتابخانهها هم استفاده نمایید، اشکالی ندارد . در بقیه موارد مانند ارزیابی مدل نیز میتوانید از کتابخانههایی مانند -scikitlearn استفاده کنید .
معیار ارزیابی پاسخ شما
پاسخ شما به این تمرین بر اساس کیفیت انجام مراحل زیر مورد ارزیابی قرار خواهد گرفت:
– پیشپردازش و آمادهسازی دادهها
– انتخاب بهترین ویژگیها با معیار 2𝜒
– پیادهسازی الگوریتم یادگیری) SVM یا KNN یا Naïve Bayes(
– طبق هبند اولیه
– توابع و عملکردهای بهبوددهنده
– Confusion Matrix و F1 ،Recall ،Precision محاسبه
– گزار ش
گزارش کار
موارد زیر را تا قبل از موعد پروژه، باید ارسال کنید:
• گزارشی )حداکثر ۸ صفحه(، شامل ساختار برنامه، جزئیات طبقهبند، مراحل آموزش و آزمایش، همراه جدول نتایج آزمایش که نشاندهنده تاثیر و عملکرد طبق هبند شما است.
• کد مرجع برنامهی شما که به زبان پایتون ۳ نوشته شده است. برنامهی شما باید به کاربران اجازه دهد تویی تهای جدید را به صورت آنلاین برای آزمایش وارد کنند . لطفا این فایل را در فرمت .py و یا .ipynb ارسال نمایید .
لطفا موارد فوق را از طریق سامانه courses بارگذاری نمایید .
برای مطر حکردن سوالات و ابهامهایی که دارید میتوانید از طریق ایمی لهای زیر با ما در ارتباط باشید.
یاسمن امی آرمان ملکزاده
malekzadeh@ieee.org yassi.ommi@gmail.com
موفق باشید
Reviews
There are no reviews yet.