دانشکده مهندسی
پایان نامه کارشناسی ارشد در رشته مهندسی کامپیوتر(نرم افزار)
ارائه یک مدل مبتنی بر خصیصه جهت تحلیل احساس موجود در نوشتجات
به کوشش
سجاد توفیقی
استاد راهنما
دکتر سید مصطفی فخراحمد
شهریور 1393
بسمه الله الرحمن الرحیم
به نام خدا
ارائه یک مدل مبتنی بر خصیصه جهت تحلیل احساس موجود در نوشتجات
به وسیلهی:
سجاد توفیقی
پایان نامه
ارائه شده به تحصیلات تکمیلی دانشگاه به عنوان بخشی
از فعالیتهای تحصیلی لازم برای اخذ درجه کارشناسی ارشد
در رشته:
مهندسی کامپیوتر- نرم افزار
از دانشگاه شیراز
شیراز
جمهوری اسلامی‌ایران

ارزیابی شده توسط کمیته پایان نامه با درجه: عالی

دکتر سید مصطفی فخراحمد، استادیار بخش مهندسی کامپیوتر(راهنما) ………………….

دکتر محمدهادی صدرالدینی، دانشیار بخش مهندسی کامپیوتر(مشاور) ………………….

دکتر فرشاد خونجوش، استادیار بخش مهندسی کامپیوتر(داور) …………………..

شهریور 93
اظهار نامه

اینجانب سجاد توفیقی(9130198) دانشجوی رشته مهندسی کامپیوتر گرایش نرمافزار دانشکده مهندسی برق و کامپیوتر اظهار میکنم که این پایان نامه حاصل پژوهش خودم بوده و در جاهایی که از منابع علمی‌دیگر استفاده شده است، نشانی دقیق و مشخصات کامل آن ذکر شده است. همچنین اینجانب اظهار میکنم که تحقیق و موضوع پایاننامهام تکراری نبوده و تعهد مینمایم که بدون مجوز دانشگاه دستاوردهای حاصل شده را منتشر ننموده و یا در اختیار غیره قرار ندهم. کلیه حقوق این اثر مطابق با آیین نامه مالکیت فکری و معنوی متعلق به دانشگاه شیراز است.
تقدیم به مادرم:
مادرم،
بهشت وعده گاه تو است.
سپاسگذاری
اینجانب بر خود واجب میدانم که از حمایتهای بی دریغ استاد راهنمای ارجمندم، جناب دکتر سید مصطفی فخراحمد و همچنین استاد مشاور جناب دکتر محمدهادی صدرالدینی که در طول انجام پروژه همواره مشوق و حامی‌من بودهاند کمال تشکر و قدردانی را به جا آورم. همچنین از اعضای خانواده که همیشه همراه و یاور من در این راه بودهاند نیز بسیار سپاسگزارم.
فهرست مطالب
فصل اول پیشگفتار1
1-1-مقدمه2
1-3-تحلیل احساس در متن6
1-4-اهداف رساله8
1-5-روش کار9
1-6-ساختار پایان نامه9
فصل دوم کارهای انجام شده10
2-1-مقدمه11
2-2-تعریف مسئله11
2-3-گام اول تحلیل احساس در متن12
2-4-روش‌های مبتنی بر خصیصه‌های N-gram13
2-5-الگوریتم‌های انتخاب خصیصه18
فصل سوم روش پیشنهادی22
3-1-پیش گفتار23
3-2-منابع مورد نیاز23
3-3-روش پیشنهادی اول25
3-3-1.پیش پردازش اسناد26
3-3-2.برچسب گذاری ادات سخن29
3-3-3.استخراج بردار خصیصه‌ها و ترکیب خصیصه‌ها30
3-3-4.اعمال الگوریتم انتخاب خصیصه33
3-4-روش پیشنهادی دوم34
3-5-روش پیشنهادی سوم37
3-5-1.استخراج پلاریته کلمات و فیلتر بردار خصیصه38
فصل چهارم پیاده سازی و نتایج گرفته شده47
4-1-مقدمه48
4-2-مجموعه داده‌ها48
4-3-طبقه‌بندی داده‌ها48
4-4-نتایج روش اول49
4-5-نتایج روش دوم52
4-6-نتایج روش سوم53
4-7-مقایسه روش پیشنهادی با روش‌های قبل53
8-4-نتایج اعمال روش پیشنهادی برای زبان فارسی…………………………………………………………………………………………………………..54
4-9-کارهای آینده58
مراجع و منابع59
فهرست الگوریتم ها
Algorithm 1 Documents_To_model33
Algorithm 2 Documents_To_model235
Algorithm 3 Polarity_Filter40
فهرست تصاویر
شکل 1-1 دسته بندی متون5
شکل 1-2 تحلیلگر احساس در سطح کلمه7
شکل 1-3 تحلیلگر احساس در سطح جمله7
شکل 1-4 تحلیلگر احساس در سطح سند8
شکل 2-1 مهمترین الگوریتم های انتخاب خصیصه تک متغیره19
شکل 2-2 مهمترین روش های انتخاب خصیصه چند متغیره21
شکل 3-1 Sentiwordnet22
شکل 3-2 شمای کلی روش پیشنهادی اول26
شکل 3-3 شمای پیش پردازش اسناد27
شکل3-4 برچسب گذار استنفورد30
شکل3-5 مجموعه خصیصه‌های پیشنهادی برای تحلیل احساس32
شکل 3-6 شمای کلی روش پیشنهادی دوم36
شکل 3-7 شمای کلی روش سوم.38
شکل3-8 شمای کلی روش پیشنهادی43
شکل3-9 برچسب گذار زبان فارسی44
شکل3-10 مجموعه خصیصه‌های پیشنهادی برای تحلیل احساس متون فارسی45
فهرست جداول
جدول 2-1 مجموعه خصیصه‌ها N-gram و مثال برای هر خصیصه15
جدول 2-2 مجموعه کاملی از خصیصه ها N-gram16
جدول 3-1 لیست Stopwords28
جدول 3-2 مثال برای رفع ابهام با استفاده از برچسب ادات سخن31
جدول 3-3 کلمات هم معنای great35
جدول 3-3 محاسبه تفاضل نسبی پلاریتی کلمات39
جدول 3-5 مثال خصیصه استخراج شده از متن.45
جدول 4-1 مجموعه داده های مورد استفاده در این رساله49
جدول 4-2 تعداد خصیصه‌های پس از اعمال الگوریتم انتخاب خصیصه50
جدول 4-3 مقایسه روش های پیشنهادی50
جدول 4-4 مقایسه نتایج روش پیشنهادی با روش پیشین52
جدول 4-5 تعداد کل خصیصه ها بدون اعمال الگوریتم انتخاب خصیصه53
جدول 4-6 مقایسه نتایج روش پیشنهادی با روش ارائه شده توسط عباسی و همکارانش54
جدول 4-7 مقایسه نتایج روش پیشنهادی با روش ارائه شده توسط آگاروال و میتال.54
جدول4-8- نتایج طبقه‌بندی متون فارسی57
فصل اول پیشگفتار

مقدمه
برخی نویسندگان داده کاوی را به عنوان ابزاری برای جستجو کردن اطلاعات سودمند در حجم زیادی از داده ها تعریف می کنند. برای انجام فرایند داده کاوی با زمینه های گوناگون تحقیقی مواجه می‌شویم، مانند پایگاه داده، یادگیری ماشین و آمار. پایگاه داده‌ها برای تحلیل کردن حجم زیادی از داده‌ها ضروری هستند. یادگیری ماشین، یک ناحیه هوش مصنوعی است که با ایجاد تکنیک‌هایی امکان یادگیری به وسیله تحلیل مجموعه‌های داده‌ای را به کامپیوترها می‌دهند. تمرکز این روش‌ها روی داده سمبولیک است و با آنالیز داده‌های تجربی سر و کار دارد. پایه آن تئوری آماری است. در این تئوری عدم قطعیت و شانس به وسیله تئوری احتمال مدل می‌شوند. امروزه بسیاری از روش‌های آماری در زمینه داده کاوی استفاده می‌شوند. می‌توان گفت که متن کاوی از تکنیک‌های بازیابی اطلاعات، استخراج اطلاعات همچنین پردازش کردن زبان طبیعی استفاده می‌کند و آن‌ها را به الگوریتم‌ها و متدهای داده کاوی، یادگیری ماشین و آماری مرتبط می‌کند. با توجه به ناحیه‌های تحقیق گوناگون، بر هر یک از آن‌ها می‌توان تعاریف مختلفی از متن کاوی در نظر گرفت در ادامه برخی از این تعاریف بیان می‌شوند:
متن کاوی = استخراج اطلاعات: در این تعریف متن کاوی متناظر با استخراج اطلاعات در نظر گرفته می‌شود (استخراج واقعیت‌ها از متن).
متن کاوی = کشف داده متنی: متن کاوی را می‌توان به عنوان متدها و الگوریتم‌هایی از فیلدهای یادگیری ماشین و آماری برای متن‌ها با هدف پیدا کردن الگوهای مفید در نظر گرفت. برای این هدف پیش پردازش کردن متون ضروری است. در بسیاری از روش‌ها، متدهای استخراج اطلاعات، پردازش کردن زبان طبیعی یا برخی پیش پردازش‌های ساده برای استخراج داده از متون استفاده می‌شود، سپس می‌توان الگوریتم‌های داده کاوی را بر روی داده‌های استخراج شده اعمال کرد.
متن کاوی = فرایند استخراج دانش: که در بخش قبلی به طور کامل توضیح داده شده است و در اینجا دیگر بیان نمی‌شود. در این تحقیق ما بیشتر متن کاوی را به عنوان کشف داده متنی در نظر می‌گیریم و بیشتر بر روی روش‌های استخراج الگوهای مفید از متن برای دسته‌بندی مجموعه‌ های متنی یا استخراج اطلاعات مفید، تمرکز می‌کنیم.
در دنياي کنوني مشکل کمبود اطلاعات نيست، بلکه مشکل کمبود دانشي است که از اين اطلاعات مي توان بدست آورد. ميليونها صفحه ي وب، ميليونها کلمه در کتابخانه‌هاي ديجيتال و هزاران صفحه اطلاعات در هر شرکت، تنها چند دست از اين منابع اطلاعاتي هستند. اما نمي‌توان به طور مشخص منبعي از دانش را در اين بين معرفي کرد. دانش خلاصه‌ي اطلاعات است و نيز نتيجه گيري و حاصل فکر و تحليل بر روي اطلاعات.
داده کاوي، يک روش بسيار کارا براي کشف اطلاعات از داده‌هاي ساختيافته‌اي که در جداول نگهداري مي‌شوند، است. داده کاوي، الگوها را از تراکنش‌ها، استخراج مي‌کند، داده را گروه‌بندي مي‌کند و نيز آنرا دسته‌بندي مي‌کند. بوسيله‌ي داده کاوي مي‌توانيم به روابط ميان اقلام داده‌اي که پایگاه داده را پر کرده‌اند، پي ببريم. در عين حال ما با داده کاوي مشکلي داريم و آن عدم وجود عاميت در کاربرد آن است. بيشتر دانش ما اگر به صورت غير ديجيتال نباشند، کاملاً غير ساختيافته اند. کتابخانه‌هاي ديجيتال، اخبار، کتابهاي الکترونيکي، بسياري از مدارک مالي، مقالات علمي و تقريباً هر چيزي که شما مي‌توانيد در داخل وب بيابيد، ساختيافته نيستند. در نتيجه ما نمي‌توانيم آموزه‌هاي داده کاوي را در مورد آنها به طور مستقيم استفاده کنيم. با اين حال، سه روش اساسي در مواجهه با اين حجم وسيع از اطلاعات غير ساختيافته وجود دارد که عبارتند از: بازيابي اطلاعات، استخراج اطلاعات و پردازش زبان طبیعی.
بازیابی اطلاعات: اصولاً مرتبط است با بازيابي مستندات و مدارک. کار معمول دربازیابی اطلاعات اين است که با توجه به نياز مطرح شده از سوي کاربر، مرتبط ترين متون و مستندات و يا در واقع بقچه‌ي کلمه را ازميان ديگر مستندات يک مجموعه بيرون بکشد. اين يافتن دانش نيست بلکه تنها آن بقچه‌اي از کلمات را که به نظرش مرتبط‌تر به نياز اطلاعاتي جستجوگر است را به او تحويل مي‌دهد. اين روش به واقع دانش و حتي اطلاعاتي را برايمان به ارمغان نمي‌آورد.
پردازش زبان طبیعی: هدف کلی پردازش زبان طبیعی رسیدن به یک درک بهتر از زبان طبیعی توسط کامپیوترهاست. تکنیک‌های مستحکم و ساده‌ای برای پردازش کردن سریع متن به کار می‌روند. همچنین از تکنیک‌های آنالیز زبان شناسی نیز برای پردازش کردن متن استفاده می‌شود.
استخراج اطلاعات: هدف روش‌های استخراج اطلاعات، استخراج اطلاعات خاص از سندهای متنی است. استخراج اطلاعات مي‌تواند به عنوان يک فاز پيش پردازش در متن‌کاوی بکار برود. استخراج اطلاعات عبارتند از نگاشت کردن متن‌های زبان طبیعی (مثلا گزارش‌ها، مقالات journal، روزنامه‌ها، ایمیل‌ها، صفحات وب، هر پایگاه داده متنی و…..) به یک نمایش ساختیافته و از پیش تعریف شده یا قالب‌هایی که وقتی پر می‌شوند، منتخبی از اطلاعات کلیدی از متن اصلی را نشان می‌دهند. یکبار اطلاعات استخراج شده و سپس اطلاعات می‌توانند در پایگاه داده برای استفاده‌های آینده، ذخیره شوند.
کاربردهای متن کاوی
در این قسمت تعدادی از کاربردهای متن‌کاوری را بیان خواهیم کرد. امروزه با وجود حجم زیادی از اطلاعات متنی، متن‌کاوی از جمله روش های تحقیقی-تجاری می‌باشد که از اهمیت ویژه‌ای برخوردار است. همه شرکت‌های تجاری، تولید کنندگان کالاها، ارائه کنندگان خدمات و سیاست‌مداران قادرند با بهره‌گیری از فرایند متن‌کاوی دانش مفیدی را به عنوان بازخورد از کالا، خدمات و عملکرد خود دریافت کنند. از جمله کاربردهای متن کاوی می‌توان به موارد زیر اشاره نمود:
1.شناساییspam: آنالیز کردن عنوان و محتوای یک ایمیل دریافتی، برای تشخیص اینکه آیا ایمیل می‌تواند spam باشد یاخیر.
2 .نظارت :یعنی نظارت کردن رفتار شخص یا گروهی از انسان‌ها به صورت پنهان. پروژه‌ای به نام ENCODA تلفن، اینترنت و دیگر وسایل ارتباطی را برای شناسایی تروریسم نظارت می‌کند.
3. شناسایی نامهای مستعار: نام‌های مستعار در مراقبت‌های پزشکی برای شناسایی تقلب‌ها آنالیز می‌شوند. برای مثال یک صورت حساب ممکن هست با نام John Smith، J. Smith و Smith, John ارائه شود. از این طریق یا با استفاده از روش‌های دیگری مطالبه کنندگان امکان سوءاستفاده را خواهند یافت و مطالبات حق بیمه زیادی تحت نام‌های مستعار مختلف دریافت می‌کنند. استفاده از متن‌کاوی برای تشخیص این نام‌های مستعار می‌تواند در یافتن تقلب به شرکت‌های بیمه کمک فراوانی کند.
4.خلاصه سازی: منظور از خلاصه سازي، روند استخراج و ارائه مجموعه‌اي مفاهيم پايه‌اي از متن، تنها در چند خط است. اين کار مي‌تواند بررسي محتويات مستندات را براي کاربران ساده‌تر کند و آنها را در مسير رسيدن به آنچه نياز دارند، سرعت بخشد.
5. روابط میان مفاهیم: از جمله واقعيتهايي که مي توان از يک مجموعه متون دريافت، ارتباط و وابستگي برخی مفاهيم با مفاهيم ديگراست. اين واقعيات به طور مثال مي‌تواند بگويد که پديدار شدن بعضي کلمات ممکن است که وابسته باشد به ظاهر شدن بعضي ديگر از کلمات. منظور اين است که هرگاه مجموعه ي اول کلمات را ببينيم، مي‌توانيم انتظار داشته باشيم که مجموعه‌ي دوم لغات را نيز در ادامه مشاهده خواهیم کرد. اين مفهوم نيز از داده کاوي در ديتابيس به امانت گرفته شده است.
6. یافتن وتحلیل رفتارها: برای شرح این کاربرد فرض کنيد که مدير يک کمپاني تجاري هستيد. مشخصاً شما بايد همواره بر فعاليتهاي رقيبانتان نظارت داشته باشيد. اين مي‌تواند هر نوع اطلاعاتي باشد که شما از اخبار، معاملات بورس و يا از مستندات توليد شده توسط همان کمپاني رقيب گرفته‌ايد. امروزه اطلاعات به طور فزآينده‌اي در حال افزايش است، مديريت تمامي اين منابع داده‌اي قطعاً تنها به کمک چشمان ممکن نيست. متن‌کاوی اين امکان را مي‌دهد که به طور اتوماتيک رفتارها و تغييرات جديد را بيابيد. در واقع آنچه اصولاً بايد از متن‌کاوي انتظار برود اين است که به شما بگويد چه اخباري در ميان گستره‌اي از اخبار به آنچه مي خواهيد مرتبط است و در اين ميان کدام خبر جديداست، چه پيشرفتهايي در زمينه‌ي کاري شما صورت مي گيرد و علايق و رفتارهای فعلي چگونه است و با چه روندي تغيير مي‌کند. با استفاده از اين اطلاعات، مديران قادرند از اطلاعات کشف شده براي بررسي وضعيت رقيب سود جويند.
7. تحلیل احساس : در این کاربرد هدف از متن کاوی تشخیص احساس نویسنده متن است. درجه رضایت یا خوشحالی و ناراحتی نویسنده تشخیص داده می‌شود. این رساله به بررسی متن کاوی به منظور تحلیل احساس موجود در متون خواهد پرداخت، لذا در ادامه با جزئیات بیشتری تحلیل احساس در متون را بررسی خواهیم کرد.
همه اطلاعات متنی را می‌توان به دو دسته:حقایق1 و عقاید2 دسته بندی کرد. حقایق عبارات علمی‌ و عملی درباره موجودیت‌ها، رویدادها و ویژگی‌های آنها هستند که بصورت عینی و واقعی در دنیای بیرون وجود دارند یا به وقوع پیوسته‌اند. عقاید عبارات غیر عینی و ذهنی هستند که نظرات، ارزیابی‌ها یا احساسات افراد را درباره یک موجودیت، رویداد و ویژگی‌های آنها بیان می‌کنند [23]. شکل 1-1 مثالی را برای هر کدام بیان میکند. در این رساله تنها به یک جنبه از این مفهوم یعنی احساسات خواهیم پرداخت.
قبل از سال 2000 به دلیل کمبود منابع داده‌ای و کمبود متون حاوی نظرات و عقاید در تارنمای گسترده جهانی3 تحقیقات اندکی در این زمینه به انجام رسیده است. امروزه با گسترش اینترنت و همه‌گیر شدن شبکه‌های اجتماعی، کاربران می‌توانند نظرات خود درباره محصولات یا خدمات را در سایت‌های تجاری، شبکه‌های اجتماعی، وبلاگ‌ها بیان کنند؛ صفحات وب متون زیادی را در بر دارند که مشتمل بر نظرات، عقاید، ارزیابی کاربران پیرامون یک کالا یا خدمات خاص هستند. اطلاعاتی که از این نوع داده‌ها قابل دست‌یابی است، برای شرکت‌های سازنده و همچنین سازمان‌های ارائه کننده خدمات بسیار مفید و گاهی ضروری خواهند ‌بود. همچنین برای کاربرانی که قصد انتخاب خدمات یا یک نوع کالا را دارند راهنمایی مفیدی را ارائه می‌دهند. شخصی را در نظر بگیرید که قصد دارد موبایل یا دوربین دیجیتالی بخرد، برای آگاهی از کیفیت دوربین و مطلوبیت خدمات شرکت سازنده بدون شک به پرسش و جمع‌آوری اطلاعات از اطرافیان روی خواهد آورد، ولی امروزه با رشد اینترنت می‌توان بصورت آنلاین نظرات و تجربیات صدها نفر را درباره یک کالای خاص مطالعه کرد و برای تصمیم گیری از آنها مدد گرفت.
امروزه تعدد و گوناگونی منابع اینترنتی حاوی نظرات و احساسات کاربران به حدی زیاد شده است که یافتن و ارزیابی آنها کار بسیار پیچده‌ای است. در بسیاری موارد نظرات و عقاید کاربر در یک پست طولانی پنهان شده است. برای استخراج نظرات و عقاید درباره یک موجودیت باید در ابتدا منابع اینترنتی مرتبط با آن را یافت سپس متن مورد نظر خوانده شود، جملات بیان کننده نظرات و عقاید کاربر از متن استخراج شوند، خلاصه سازی شوند و به فرم قابل استفاده تبدیل شوند. از جمله مشکلاتی که در این زمینه وجود دارد حجم زیاد داده می‌باشد. در صفحه توییتر شخصی جاستین بیبر روزانه 300000 نظر ثبت می‌شود [22]. این حجم از داده‌ها میتوانند اطلاعات مفیدی را برای شرکت‌ها و همچنین مشتری‌ها به همراه داشته باشند؛ ولی پردازش آنها بصورت دستی و انسانی غیر ممکن می‌باشد، لذا طراحی یک روش اتوماتیک برای تحلیل متن و استخراج نظرات و عقاید موجود در متن ضروری است. در همین راستا تلاش‌های فراوانی صورت گرفته است، مثلا در کشور آمریکا 20 تا 30 شرکت به ارائه خدمات تخصصی تحلیل احساس می‌پردازند [17].
در این رساله روشی برای تحلیل احساس ارائه می‌شود. روش پیشنهادی سعی در ارائه مجموعه مناسبی از خصیصه‌ها4 را دارد به نحوی که بتوان به دقت بهتری در ارزیابی اتوماتیک متون دست یافت، همچنین تعداد خصیصه‌ها در حد متناسبی حفظ شود. برای انتخاب خصیصه‌ها از الگوریتم‌های ساده و با حداقل پیچیدگی زمانی بهره می‌بریم و نیاز به استفاده از الگوریتم انتخاب خصیصه با پیچیدگی زمانی بالا مرتفع شده است.
تحلیل احساس در متن
تحلیل احساس در واقع مطالعه محاسباتی نظرات عقاید و احساسات بیان شده در متن است. متن زیر نظر یک کاربر درباره iphone است.
“(1) I bought an iphone a few days ago. (2) It was such a nice phone. (3) The touch screen was really cool. (4) The voice quality was clear. (5) Although the battery life was not long, that is ok for me. (6) However my mother was mad with me as I did not tell her before I bough it. (7) She also thought the phone was too expensive, and wanted me to return it to shop……”
چه اطلاعاتی می‌توان از متن استخراج کرد ؟ ابتدا باید توجه کنیم چند نظر در این متن وجود دارد، جملات (2)، (3) و (4) نظرات مثبتی را بیان می‌کنند. جملات (5)، (6) و (7) نظرات منفی را بیان می‌کنند. آیا نظرات بیان شده درباره یک موجودیت بیان شده‌اند؟ این موجودیت کدام است؟ جمله (2) بصورت کلی نظری را درباره iphone بیان کرده است. جملات (3)، (4) و (5) نظراتی درباره صفحه لمسی، وضوح صدا و طول عمر باتری بیان می‌کنند. جمله (7) عقیده مشتری نسبت به قیمت موبایل را بیان می‌کند. ولی نظرات بیان شده در جمله (6) درباره شخص می‌باشد نه درباره موبایل iphone. این نکته بسیار مهم است باید توجه داشت متنی که حاوی نظرات کابران می‌باشد لزوما درباره یک موجودیت خاص نیست، ممکن است در طول متن نظرات مثبت و منفی درباره موجودیت‌های متفاوت بیان شده باشد.
تحلیلگر احساس و عقاید معمولا ورودی‌های خود(جملات، اسناد) را به دو گروه نظرات و عقاید مثبت و نظرات و عقاید منفی دسته‌بندی می‌کند. برخی از تحقیقات نیز ضعیف یا قوی بودن نظرات در نظر گرفته‌اند و متون در 4 گروه دسته بندی می‌شوند. گروه اول نظرات کاملا منفی، دوم نظرات کمی‌منفی، سوم نظرات کمی‌مثبت، چهارم نظرات کاملا مثبت.
فرایند تحلیل احساس در سه سطح انجام می‌شود:
در سطح کلمات
در سطح جمله
در سطح سند.
برای هر سطح پیش فرض‌ها و وظایفی برشمرده می‌شود که باید در تحلیلگر لحاظ شوند. در ادامه به تشریح تحلیلگر احساس در سطوح متفاوت خواهیم پرداخت.
تحلیلگر احساس در سطح کلمه یک سند یا مجموعه ای از جملات را به عنوان ورودی دریافت می‌کند. ابتدا کلمات متفاوت که ویژگی‌های یک موجودیت را بیان می‌کنند را از متن استخراج می‌کند. سپس نظرات بیان شده در متن پیرامون ویژگی‌های موجودیت را تشخیص می‌دهد. شکل1-2 یک مثال از عملکرد تحلیلگر احساس در سطح کلمه را بیان می‌کند.
همانطور که در شکل 1-2 قابل مشاهده است، تحلیلگر احساس در سطح کلمه یک سند را به عنوان ورودی دریافت می‌کند، ویژگی های شئ مورد بحث در سند را استخراج می‌کند(شئ مورد بحث:موبایل، ویژگی های شئ مورد بحث:کیفیت صدا و عمر باطری) و در پایان بر اساس نظرات بیان شده در سند به ویژگی‌های استخراج شده در مرحله قبل، نمره مثبت یا منفی می‌دهد.
تحلیل احساس در سطح جمله مانند تحلیلگر احساس در سطح کلمه یک سند یا مجموعه‌ای از جملات را به عنوان ورودی دریافت می‌کند. جملات متن را تشخیص داده و بر اساس محتوای متن آنها را دسته‌بندی می‌کند؛ دسته اول جملات حاوی نظرات مثبت و دسته دوم جملات حاوی نظرات منفی. شکل 1-3 مثال تحلیلگر احساس در سطح جمله را بیان می‌کند.
تحلیلگر احساس در سطح سند(شکل 1-4) که هدف از این رساله نیز می‌باشد، تعدادی اسناد را دریافت می‌کند و آنها را در دو دسته اسناد حاوی نظر مثبت و اسناد حاوی نظر منفی طبقه‌بندی می‌کند. در این روش تحلیل احساس فرض بر آن است که هر سند درباره یک موجودیت واحد بحث می‌کند و همه نظرات مثبت و منفی درون سند درباره یک موجودیت واحد می‌باشد. با این کار طراحی تحلیلگر ساده می‌شود.
با این فرض که در هر سند فقط درباره یک موجودیت بحث می‌شود دیگر نیازی نیست با بسیاری از پیچیدگی‌هایی که در پردازش زبان طبیعی با آن مواجه هستیم دست و پنجه نرم کنیم. پس از سال 2000 تا کنون تحقیقات فراوانی در این زمینه به انجام رسیده است؛ با این وجود بسیاری از مشکلات در این زمینه هنوز حل نشده باقی مانده‌اند. در این رساله به برخی از این مشکلات پرداخته و روش‌هایی را برای غالب آمدن بر این مشکلات بیان خواهیم کرد.
اهداف رساله
هدف از این رساله ارائه روشی برای تحلیل احساس در مجموعه‌ای از اسناد می‌باشد، به گونه ای که اسناد در دو گروه نظرات مثبت و نظرات منفی طبقه شوند. از جمله مشکلاتی که برای تحلیل احساس وجود دارد حجم زیاد متون است، برای مثال تعداد خصیصه‌های استخراج شده از مجموعه داده فیلم‌ها بالغ بر پنجاه هزار خصیصه بود [4]. همچنین خصیصه‌های زبان شناختی فراوانی وجود دارد که باید از این میان بهترین خصیصه‌های را بیابیم و برای مدل‌سازی متون از آنها استفاده کنیم. در این رساله تلاش بر آن بوده تا بتوانیم مجموعه مناسبی از خصیصه‌ها را انتخاب کنیم و با داشتن حداقل خصیصه‌ها از یک الگوریتم انتخاب خصیصه با پیچیدگی زمان کم استفاده شود. در این رساله دو مجموعه داده فارسی و انگلیسی بررسی خواهند شد. ابتدا سعی می‌کنیم روش مناسبی برای تحلیل احساس در متون انگلیسی ارائه دهیم سپس روش ارائه شده را به زبان فارسی تعمیم خواهیم داد.
روش کار
برای انجام پایان نامه در مرحله اول مبانی نظری و راهکارهای موجود، در ارتباط با تحلیل احساس موجود درمتن و تشکیل بردار خصیصه‌ها با استفاده از خصیصه‌های زبان شناختی مورد مطالعه قرار گرفته‌اند. سپس با تحلیل و بررسی روش‌های موجود نقات ضعف و قوت این روش‌ها را مورد توجه قرار داده تا بتوانیم با ترکیب یا بهبود آنها به روش بهتری دست یابیم. در ادامه روش پیشنهادی را با استفاده از داده‌های موجود مورد تست و ارزیابی قرار داده‌ایم. به دنبال آن، با تحلیل‌های انجام شده بر روش پیشنهادی، مشکلات موجود را تا حدی برطرف کرده و روشی جامع‌تر را با دقت عملکرد بهتر ارائه دادیم. در این رساله از ترکیب جدیدی از خصیصه‌های زبان شناختی استفاده شده است. همچنین برای اولین بار در تحلیل احساس از مفاهیم مبتنی بر Wordnet بهره برده‌ایم.
ساختار پایاننامه
فصل دوم به طبقه‌بندی و بررسی شیوه‌های موجود در تحلیل احساس وعقاید و بررسی روش‌های نوین ارائه شده در این زمینه پرداخته است، همچنین کارهای مرتبط و شیوه‌های مورد استفاده در آنها را بیان کرده‌ایم. در فصل سوم روش‌های پیشنهادی برای تحلیل احساسات و عقاید در راستای افزایش دقت و کاهش زمان طبقه‌بندی ارائه شده است. فصل چهارم عملکردِ روش‌های پیشنهادی ارزیابی شده و با روش‌های موجود در این زمینه مقایسه می‌شوند. در پایان فصل چهار نیز برخی از کارهایی که در آینده باید انجام شوند را بیان کرده‌ایم.
فصل دوم کارهای انجام شده

مقدمه
در این فصل ابتدا به بررسی کارهای که پیشتر انجام شده است خواهیم پرداخت و نقاط ضعف و قوّت هر کدام را بصورت کوتاه بیان می‌کنیم. هر چند تعداد آثار موجود در زمینه تحلیل احساس در متن، فراوان است ولی در این بخش ما تعدادی از تحقیقات مهم را بصورت منتخب بیان خواهیم کرد.
برای مدل‌سازی اسناد باید مجموعه خصیصه‌های مفیدی از متن استخراج کنیم. مجموعه خصیصه‌های مفید خصیصه‌های هستند که به الگوریتم یادگیری ماشین برای طبقه‌بندی داده‌ها کمک کنند. این خصیصه‌ها باید به نحوی انتخاب شوند که بهترین مدل ممکن از اسناد را ارائه دهند و باید توجه کنیم هدف این مدل تحلیل احساس است لذا باید بیشترین اطلاعات ممکن به منظور تحلیل احساس را در اختیار نرم‌افزار طبقه‌بندی قرار دهند. با توجه به حجم متن اسناد و تعداد این اسناد، بردار خصیصه‌‌ی حاصل بزرگ خواهد بود، که این امر مشکلاتی را به همراه دارد. از جمله‌ی این مشکلات کاهش کارایی و دقت طبقه‌بندی را می‌توان نام برد، لذا باید از روش انتخاب خصیصه استفاده کرد تا بتوان سودمندترین خصیصه‌ها را از میان هزاران خصیصه استخراج کرد. در ابتدا تاریخچه تحقیق در زمینه تحلیل احساس در متن را بیان خواهیم کرد، سپس مجموعه خصیصه‌های N-gram مورد استفاده و کارهایی که از آنها استفاده کرده‌اند را بیان می‌کنیم، پس از آن روش‌های انتخاب خصیصه معروف و تحقیقاتی که از آنها استفاده کرده‌اند را بیان خواهیم کرد.
تعریف مسئله
برای حل کردن هر مسئله، ابتدا باید یک تعریف مناسب از مسئله را ارائه دهیم. در فصل قبل هدف از این رساله را تحلیل احساسات و عقاید در سطح سند معرفی کردیم.
چنانچه D مجموعه ای از اسناد باشد، سیستم ارائه شده باید تشخیص دهد D d∈ نظر مثبت یا نظر منفی را درباره یک شی O بیان می‌کند.
تحلیلگر احساس یک مجموعه از اسناد D را که حاوی نظرات کاربران پیرامون یک شئ خاص O است را دریافت می‌کند و جهت گیری آنها را نسبت به آن شئ خاص تشخیص می‌دهد، به نحوی که هر سند D بطور قطعی نظر مثبت یا منفی را درباره شئ O بیان می کند.
بسیاری از تکنیک‌های تحلیل احساس در سطح سند بر پایه الگوریتم های یادگیری نظارت شده5 هستند؛ تعداد از روش های یادگیری بدون نظارت6 نیز وجود دارد [23]. در این رساله تمرکز بر روش‌های یادگیرنده‌ی مبتنی بر ناظر است.
گام اول تحلیل احساس در متن
سال 2002 pang و همکارانش تحقیقی را انجام دادند که سر آغاز این راه نامیده می‌شود. هر چند قبل از آن نیز کارهایی انجام شده‌اند که بطور ضمنی از تحلیل احساسات و عقاید سخن به میان آورده‌اند ولی pang و همکارانش اولین بار بطور صریح در سال 2002 به تحلیل احساس در متن پرداخته‌اند [4].
pang و همکارانش از مجموعه خصیصه‌های unigram، bigram، صفات و ترکیبی از این سه نوع مجموعه خصیصه‌ها استفاده کردند. همچنین برای طبقه‌بندی از الگوریتم‌های SVM7، بیز ساده و حداکثر آنتروپی بهره گرفته‌اند. روش‌های متفاوتی برای نمایش بردار خصیصه‌ها وجود دارد pang و همکارانش از دو روش فرکانس خصیصه8 و حضور خصیصه9 برای نمایش بردار خصیصه‌ها استفاده کرده‌اند. نتایج نشان داد روش حضور خصیصه نسبت به سایر روش‌های مورد استفاده نتایج بهتری به همراه خواهد داشت. روش‌های که آنها برای نمایش بردار خصیصه‌های بکار برده‌اند، تاکنون در تحقیقات متفاوت به کار گرفته شده است. نتایج تحقیق نشان داد خصیصه‌های unigram نسبت به سایر خصیصه‌های زبان شناختی عملکرد بهتری دارند و باعث بهبود طبقه‌بندی می‌شوند. خصیصه‌های bigram نسبت به خصیصه‌های unigram دقت کمتری در طبقه‌بندی از خود نشان دادند. در این تحقیق برای طبقه‌بندی اسناد از روش‌های بیز ساده SVM و حداکثر آنتروپی استفاده شده است. نتایج طبقه‌بند SVM نسبت به سایر الگوریتم‌های طبقه‌بندی دقت بهتری از خود نشان داد. علاوه بر مطالب ذکر شده آنها مجموعه داده‌های بازبینی فیلم‌ها را ارائه دادند. این مجموعه داده‌ها از سایت IMDB10 جمع‌آوری شده است، مجموعه داده بازبینی فیلم‌ها داده متشکل از 2000 فایل بازبینی فیلم بود، 1000 فایل آن حاوی نظرات مثبتی پیرامون فیلم‌ها و 1000 فایل دیگر نیز حاوی نظرات منفی پیرامون فیلم‌ها بودند. بهترین دقت بدست آمده توسط pang و همکارانش با استفاده از 16165 خصیصه unigram و در الگوریتم طبقه‌بندی SVM حاصل شده بود[4].
مهم‌ترین ویژگی این تحقیق ارائه زمینه تحقیقی جدید برای طبقه‌بندی متون بوده‌است. همچنین نمایش بردار خصیصه ارائه شده در این تحقیق، تا کنون به عنوان یکی از بهترین روش‌ها نمایش بردار خصیصه مورد استفاد قرار می‌گیرد. pang و همکارانش در این تحقیق بر غیر مفید بودن خصیصه‌های bigram و خصیصه‌های N-gram n>1 تاکید داشتند.
روش‌های مبتنی بر خصیصه‌های N-gram
یکی از مهمترین فازهای فرایند تحلیل احساسات و عقاید، مدلسازی متون با استفاده از خصیصه‌هایی است که قادرند بخوبی بیان کننده صفات اسناد باشند. این رساله بر روی خصیصه‌هایN-gram تاکید دارد.
خصیصه‌های N-gram به دو دسته تقسیم می‌شوند:
N-gram ثابت؛ یک توالی دقیق در سطح کاراکتر یا توکن می‌باشد. مانند unigram یا biram.
N-gram متغیر؛ الگوهایی برای استخراج اطلاعات از متن هستند. مانند <subj> Pass VP یا <subj> dealt bow.
خصیصه‌های N-gram متغیر قادرند مفاهیم پیچیده‌تر زبان شناختی را بیان کنند [1]. در این رساله هدف اصلی خصیصه‌های N-gram مانند، بسته کلمات11 همچنین N-gram با درجات بالاتر مانند bigram و trigram می باشند. N-pos ترکیب n تایی از ادات سخن می‌باشد. همچنین n-posword ترکیب n تای از کلمات به همراه برچسب ادات سخن آنها می‌باشد. در ادامه مثال‌هایی برای هر یک از انواع خصیصه‌های N-gram بیان خواهیم کرد(جدول 2-1).
همانطور که در بخش قبلی بیان شد، pang و همکارانش نشان داده‌اند استفاده از خصیصه‌های bigram برای تحلیل احساسات و عقاید عملکردی بدتری نسبت به خصیصه‌های unigram در پی خواهند داشت. تحقیقی که وینسنت و همکارانش سال 2006 انجام داده‌اند خصیصه‌های unigram، bigram و trigram را برای مدلسازی اسناد به کار بردند [25]. اسناد متنی به دو دسته حقایق و عقاید دسته‌بندی می‌شوند و مثال بخش 1-2 نشان می‌دهد اغلب متون حاوی ترکیبی از حقایق و عقاید هستند، بنابراین بیشتر اسناد متنی ترکیبی از متون جهت‌دار (عقاید و نظرات) با متون عینی و واقعی (حقایق) هستند. متون عینی و واقعی درون اسناد در واقع همان خصیصه‌های غیر مرتبط با تحلیل احساس هستند چون اطلاعات مفیدی برای الگوریتم یادگیری ماشین در جهت تحلیل احساس موجود در متون را فراهم نمی‌کنند. تعداد زیاد خصیصه‌ها و غیر مرتبط بودن بسیاری از این خصیصه‌ها به تحلیل احساس، مشکلات زیادی را موجب می شود، از جمله این مشکلات می‌توان کاهش دقت طبقه‌بندی وکاهش سرعت عملیات طبقه‌بندی را نام برد. بهتر است قسمتی از متن که حاوی حقایق است در فاز اول از متون حاوی نظرات و عقاید مجزا شود. وینسنت و همکارانش در ابتدا، بخش‌هایی از اسناد که عقاید و نظرات را بیان می‌کردند را تشخیص داده، از متن جدا کرده‌اند. آنها با فیلتر کردن متون حاوی حقایق از متون احساسی توانستند برای خصیصه‌ها unigram و bigram نتایج بهتری را نسبت به pang و همکارانش بدست آورند. همچنین آنها نشان دادن خصیصه‌های N-gram n>1 قادرند وابستگی کلمات موجود در متن، را در مدلسازی وارد کنند بنابراین به دقت عملکرد الگوریتم یادگیری ماشین در جهت طبقه‌بندی متون کمک می‌کنند. در این تحقیق دقت حاصله از طبقه‌بندی اسناد با استفاده از خصیصه‌های unigram به میزان 87.1 درصد گزارش شده است. این میزان نسبت به نتیجه بهترین روش ارائه شده توسط pang و همکارانش 5 درصد بهبود یافته است. همچنین با استفاده از خصیصه‌های unigram+bigram+trigram (ترکیب هر سه نوع خصیصه) فرایند طبقه‌بندی اسناد را با دقت 89.2 درصد انجام داده‌اند. در این تحقیق به بررسی اثر گذاری خصیصه‌های N-gram پرداخته شده است وینسنت و همکارانش نشان دادند استفاده از خصیصه‌های bigram به همراه unigram باعث بهبود عملکرد طبقه‌بندی می‌شود. همچنین به این نتیجه دست یافتند که خصیصه‌های bigram به تنهایی بهبودی در طبقه‌بندی ایجاد نمی‌کنند، دلیل این موضوع نیز پراکندگی خصیصه‌های bigram است؛ برخلاف آنچه در [4] اعلام شده، که خصیصه‌های bigram ذاتا به بهبود طبقه‌بندی کمک نمی‌کنند. بنابراین چنانچه بتوانیم پراکندگی موجود در خصیصه‌های bigram را کاهش دهیم می‌توانیم دقت عملکرد این نوع خصیصه‌ها را بهبود دهیم.
در برخی از تحقیقات برای مدلسازی اسناد از خصیصه‌های N-POS12 استفاده شده‌است. فی و همکارانش در سال 2004 از خصیصه‌های 1-pos و 2-pos استفاده کرده‌اند و بهترین دقت حاصل از طبقه‌بندی در این تحقیق 86% بوده است [26]. آنها الگوهایی نحوی را ارائه دادند که اغلب متون جهت‌دار در این الگوها قرار می‌گیرند، مثلا یکی از الگوهای ارائه شده n+adj13 بوده است. ابتدا متن را برچسب گذاری کرده‌اند و الگوهای مورد نظر را از متن استخراج کرده‌اند. مدلی که در این روش ارائه شده همانند روش وینسنت و همکارانش سعی دارد در ابتدا متن را فیلتر کند و فقط متن جهت‌دار(متن حاوی نظرات مثبت یا منفی کاربران درباره یک موجودیت مشخص) را برای مرحله طبقه‌بندی و مدلسازی استفاده کند. اما مشکل این روش آن است که نمی‌توان برای همه حالت های متن جهت‌دار الگویی ارائه داد و همواره ممکن است متن خاصی با الگوهای ارائه شده سازگار نباشد. مدلسازی متن با استفاده از الگوهای N-POS حتی نسبت به مدل unigram دقت کمتری را برای طبقه‌بندی به همراه داشت. لذا روش مناسبی برای مدل‌سازی اسناد نیست.
گامن سال 2004 4 گروه خصیصه را مورد بررسی قرار داد. گروه اول خصیصه‌های N-gram از ترکیب خصیصه‌های unigram، bigram و trigram تشکیل شده‌اند. گروه دوم خصیصه‌های متشکل از ترکیب N-gram و 3-POS بوده‌اند. گروه سوم، خصیصه‌های مانند طول جمله، طول عبارات، تعداد کلمات بوده‌اند و گروه چهارم ترکیب سه گروه خصیصه ذکر شده بوده‌اند. تعداد خصیصه‌ها در این روش از 1000 تا 40000 خصیصه بوده‌اند. بهترین دقت حاصله برای طبقه‌بندی متون با استفاده از خصیصه‌های گروه چهارم بدست آمده است که نشان می‌دهد ترکیب خصیصه‌ها مدل بهتری از اسناد به منظور تحلیل احساس در متن را ارائه می‌دهد. در بهترین حالت دقت طبقه‌بندی 89 درصد گزارش شده است. در این تحقیق ترکیب‌های متفاوت از خصیصه‌ها مورد بررسی قرار گرفت و میزان اثر گذاری آنها بحث شده‌است [20].
مدل N-gram کاراکترها(N-char) توسط عباسی و همکارانش مورد استفاده قرار گرفت. مثلا مدل Bigram عبارت Like بصورت “li ik ke” خواهد بود [2]. در این مدل تعداد بسیار زیاد خصیصه‌ها مشکل‌ساز خواهد بود و استفاده از الگوریتم‌های انتخاب خصیصه به دلیل تعداد بسیار زیاد خصیصه‌ها ما را با مشکل پیچیدگی زمانی روبرو خواهد کرد. استفاده از خصیصه‌ها N-char همواره باعث افزونگی و افزایش تعداد خصیصه‌های غیر مفید می‌شود، به این دلیل که همپوشانی بسیاری زیادی در خصیصه‌های n-char وجود دارد.
تحقیقات اندکی از مدل POSWORD14 (برچسب نقش کلمه در سخن به همراه خود کلمه) استفاده کرده‌اند. ویب و همکارانش در سال 2004 . به منظور کاهش ابهام کلمات در فرایند تحلیل احساس از 3-POSWORD استفاده کرده‌اند. با توجه به اینکه خصیصه‌های POS-Tag به همراه خود کلمه می‌تواند باعث کاهش ابهام کلمات شود در نتیجه باعث بهبود دقت ارزیابی و طبقه‌بندی اسناد می‌شود [12]. مهمترین دلیل استفاده از 3-POSWORD وارد کردن وابستگی به متن در مدل مورد استفاده می‌باشد. لذا اگر بتوان مشکلات ناشی از پراکندگی و افزونگی را مدیریت کرد به نظر می‌رسد استفاده از خصیصه‌های N-gram n>1 به بهبود نتایج کمک زیادی کند.
جدول 2-1 مثالی برای هر یک از خصیصه‌های N-gram مطرح شده را نشان می‌دهد.
عباسی و همکارانش در سال 2011 مجموعه کاملی از خصیصه‌های N-gram که در کارهای پیشین استفاده شده بود را جمع آوری کرده و برای مدلسازی اسناد از آنها استفاده کردند [1]. این مجموعه خصیصه‌ها در جدول 2-2 بیان شده‌اند. آنها در این تحقیق با استفاده از طبقه بند SVM به دقت 90 درصد برای طبقه‌بندی مجموعه داده‌های بازبینی فیلم‌ها دست یافتند. مدل ارائه شده که در جدول 2-2 قابل مشاهده است، بسیاری از خصیصه‌ها همدیگر را پوشش می‌دهند لذا باعث تشدید افزونگی در مدل حاصله می‌شوند. هر گروه از این خصیصه‌ها دارای تعداد زیادی خصیصه‌های غیرمرتبط با تحلیل احساس موجود در متن هستند، استفاده همزمان از همه این خصیصه‌ها باعث افزایش چشم‌گیر خصیصه‌های غیر مرتبط در نتیجه کاهش اثر گذاری خصیصه‌های مرتبط با تحلیل احساس و در نهایت کاهش دقت طبقه‌بندی می‌شود. آنها برای حل این مشکل یک روش انتخاب خصیصه شبکه ارتباطی خصیصه15 را ارائه دادند، که پیچیدگی زمانی بالایی دارد. می‌توان با بهره گیری از خصیصه‌های مطلوب‌تر خصیصه‌های افزونه و خصیصه‌های غیر مرتبط را کاهش داد و برای تعیین سودمندی خصیصه‌ها از الگوریتم انتخاب خصیصه ساده‌تر با پیچیدگی زمانی کمتر بهره برد.
جمله مثال I go home.خصیصه‌های N-gramUnigramI, go, homeBigramI go, go homeTrigramI go homeخصیصه‌های N-POS1-posFW, VBP,NN2-posFW VBP,VBP NN3-posFW VBP NNخصیصه‌های 3-POSWORD3-POSWORDI/FW go/VBP home/NN
آگراوال و میتال سال 2013 تحقیقی را انجام داده‌اند [5] که در این تحقیق از روش‌های انتخاب خصیصه سودمندی اطلاعات و حداقل‌ افزونگی – حداکثر ‌وابستگی استفاده شده است، همچنین از خصیصه‌های Unigram و Bigram و گزیده‌ای از کلمه‌-‌‌POS در جهت مدل‌سازی متن بهره‌گرفتند. طبقه‌بندی در این تحقیق بر روی مجموعه داده بازبینی فیلم‌ها دقت بالاتری نسبت به روش ارائه شده توسط عباسی و همکارانش داشت. آنها نشان دادند که روش انتخاب خصیصه حداقل ‌افزونگی – حداکثر وابستگی عملکرد بهتری نسبت به سودمندی اطلاعات دارد. از جمله مشکلات روش ارائه شده توسط آگراوال و میتال مجموعه خصیصه‌های مورد استفاده آنها می‌باشد که در این رساله مجموعه خصیصه‌های مناسب‌تری برای تحلیل احساس موجود در متن ارائه می‌شود.
همانطور که در جدول 2-2 می‌بینید مجموعه خصیصه‌هایی N-gram که برای مدلسازی اسناد می‌توان از آنها بهره گرفت بسیار زیاد هستند؛ هر کدام از این مجموعه خصیصه‌ها خود با یک بردار با هزاران خصیصه اسناد را مدلسازی می‌کنند، بسیاری از این خصیصه‌ها افزونه و یا با تحلیل احساس غیر مرتبط هستند. برای دستیابی به دقت و سرعت بالاتر در عملیات طبقه‌بندی بهتر است از یک الگوریتم انتخاب خصیصه بهره بگیریم تا بتوانیم سودمندترین خصیصه‌ها را از میان هزاران خصیصه استخراج کنیم و عملیات طبقه‌بندی و تحلیل احساس را با سرعت و دقت بیشتری انجام دهیم.
سی و گوپتا در سال 2013 مقاله‌‌ای را ارائه کرده‌اند، آنها بجای استفاده از روش‌های انتخاب خصیصه پیچیده تلاش کرده‌اند ترکیب مناسبی از خصیصه‌ها را جهت دستیابی به دقت بالاتر در عملیات طبقه‌بندی، بیابند. همچنین برای کاهش دادن اندازه بردار خصیصه و حذف خصیصه‌های غیر مرتبط از sentiwordnet استفاده کرده‌اند. مجموعه داده این تحقیق اندازه کوچکتری نسبت به مجموعه داده مورد بررسی در سایر تحقیقات ذکر شده داشته است[7]. در تحقیق مذکور با فیلتر کردن خصیصه‌هایی که وزن مثبت یا منفی آنها (وزن هر کلمه همان مقداری بین 0 و 1 است که از Sentiwordnetاستخراج شده است) کمتر از 0.5 بود، تعداد خصیصه‌ها را کاهش داده‌اند. ویژگی این روش استفاده از ترکیب های ساده و متفاوت، همچنین کاهش تعداد خصیصه‌ها با استفاده از Sentiwordnet است. مشکل اصلی این روش مجموعه داده مورد استفاده در آن است؛ این مجموعه داده قابلیت نشان دادن پایداری روش را ندارد.
فاز اول تحلیل احساس ارائه مدل مناسبی برای اسناد است. در رساله جاری از سه کار [1]، [7] و [5] برای مدل‌سازی اسناد الهام گرفته شده است. تحقیق [1] مدلی جامع از خصیصه‌های N-gram ارائه داده است، ولی تعداد مجموعه خصیصه‌های آن زیاد است، افزایش خصیصه‌ها در بردار خصیصه‌ها، باعث افزایش خصیصه‌های افزونه و غیر مفید خواهد شد. وجود خصیصه‌ی غیر مفید یا افزونه در بردار خصیصه‌های حاصل از مدلسازی اسناد باعث می‌شود، اثرگذاری سایر خصیصه‌های سودمند و مرتبط با تحلیل احساس کاهش یابد لذا به همان نسبت دقت طبقه‌بندی نیز کاهش می‌یابد، همچنین باعث افزایش حجم بردار خصیصه خواهد شد در نتیجه ما را با مشکل حافظه مواجه خواهد کرد و سرعت طبقه‌بندی را به شدت کاهش می‌دهد. تعداد زیاد خصیصه‌ها، ما را در استفاده از الگوریتم انتخاب خصیصه محدود می‌کند. در این رساله تلاش بر آن بوده مجموعه کاهش یافته‌ای از خصیصه‌ها را برای مدل‌سازی اسناد برگزینیم، به گونه‌ای که مدل مناسبی از اسناد را برای تحلیل احساس ارائه دهند. تحقیق [5] مدلی ترکیبی از خصیصه‌ها n-gram را را ارائه داده است و این مدل را روی 4 مجموعه داده تست کرده‌ تا پایداری روش پیشنهادی خود را بررسی کنند. مجموعه خصیصه‌های مورد استفاده در تحقیق مذکور عبارت بودند از: 1- خصیصه‌های unigram 2- خصیصه‌های bigram 3- ترکیب این دو مجموعه خصیصه‌ها.
الف- خصیصه‌های unigram: در ابتدا بردار خصیصه‌های unigram را از متن استخراج کرده‌اند سپس مدل حاصل را با استفاده از الگوریتم‌های یادگیری ماشین طبقه‌بندی کرده‌اند؛ در این روش آنها به دقت طبقه‌بندی 82.7% در مجموعه داده بازبینی فیلم ها دست یافتند. حالت دوم با الگوریتم انتخاب خصیصه حداقل افزونگی – حداکثر وابستگی خصیصه‌های غیرسودمند را از مدل حاصل در مرحله قبل فیلتر کرده‌اند؛ در این حالت به حداکثر دقت 89.2% دست یافتند.
ب- خصیصه‌های bigram: این مجموعه خصیصه بدون اعمال الگوریتم انتخاب خصیصه‌ای از متن استخراج شده‌اند و دقت بدست آمده از طبقه‌بندی 79.2% برای مجموعه داده بازبینی فیلم‌ها بوده است. در حالت دوم با اعمال الگوریتم انتخاب حداقل افزونگی – حداکثر وابستگی به حداکثر دقت 81.1% دست یافتند.
ج- ترکیب خصیصه‌های unigram و bigram: این مجموعه خصیصه بدون هیچ گونه انتخاب خصیصه‌ای از متن استخراج شده‌اند در این روش آنها توانستند مجموعه داده بازبینی فیلم‌ها را با دقت 87.0% طبقه‌بندی کنند. در روش دوم با الگوریتم انتخاب خصیصه حداقل افزونگی – حداکثر وابستگی به حداکثر دقت 91.1% دست یافتند و با اعمال الگوریتم انتخاب خصیصه سودمندی اطلاعات به دقت طبقه‌بندی 90.1% دست یافتند.
نتایج بالا نشان از عملکرد مطلوب خصیصه‌های unigram و سودمند نبودن خصیصه‌های bigram دارد، و تصدیق کننده نتایجی است که سال 2002 pang و همکارانش به آن دست یافتند، به این دلیل که آگراوال و میتال به پراکندگی و نرمالسازی خصیصه‌های bigram هیچ توجهی نکرده‌اند. آنها تلاش کرده‌اند تعداد خصیصه‌ها را کاهش دهند در صورتی که میتوان تعداد خصیصه‌ها را با حفظ تعادل تعداد بین خصیصه‌های unigram، bigram و trigram تا حدی افزایش داد، تا بتوانیم به نتایج بهتر دست یابیم.
در رساله جاری برای تست پایداری روش پیشنهادی، 4 مجموعه داده را برای تست و ارزیابی در نظر گرفته‌ایم، مدلی که در این رساله ارائه شده است دقت طبقه‌بندی را نسبت به [1] و [5] افزایش داده است. محققین در [7] با بررسی انواع خصیصه‌های متفاوت ترکیب مناسبی از خصیصه‌ها را ارئه داده‌اند. ما نیز برای یافتن خصیصه‌های مطلوب در جهت مدل‌سازی اسناد ترکیب خصیصه‌های متفاوت را مورد بررسی قرار داده‌ایم.
الگوریتم‌های انتخاب خصیصه
در عصر فناوری اطلاعات با حجم زیادی از داده‌ها روبرو هستیم. می‌توان دانش مفیدی از این حجم زیاد داده استخراج کرد. بهتر است بگوییم به دلیل مشکلاتی که برای نگهداری، ذخیره سازی و پردازش این حجم داده‌ها مطرح می‌شود، اگر اطلاعاتی از داده استخراج نکنیم یک فقدان است. حجم زیاد داده‌ها به رسانه‌های ذخیره سازی و همچنین حافظه اصلی زیادی برای پردازش نیاز دارند. باید توجه داشته باشیم حجم قابل توجهی از این داده‌ها، غیر مفید، افزونه و یا غیر مرتبط هستند. لذا ضرورتی در نگهداری و یا پردازش همه این داده ها وجود ندارد. بهتر است فکری اندیشیده شود تا این داده‌های غیر ضروری حذف شوند و در فرایندهای مهم و پرهزینه وارد نشوند. الگوریتم‌های انتخاب خصیصه نیز همین هدف را دنبال می‌کنند. چنانچه مدلی ارائه شود این مدل متشکل از ده‌ها هزار خصیصه باشد، بسیاری از این خصیصه‌ها برای فرایند تحلیل احساس مفید نخواهند بود پس بهتر است این خصیصه‌ها به اشغال کردن حافظه و گرفتن سرعت عملیات منجر نشوند. ضمن اینکه از طرفی دقت عملیات را نیز کاهش خواهند داد.
الگوریتم‌های انتخاب خصیصه متعددی وجود دارد و در تحقیقات از اغلب آنها استفاده شده است.
بطور کلی دو نوع روش انتخاب خصیصه وجود دارد:
تک متغیره.
چند متغیره.
روش تک متغیره هر خصیصه را به تنهایی در نظر می‌گیرد، خصیصه را ارزیابی کرده و یک رتبه به آن می‌دهد. مانند الگوریتم‌های مربع کای16 ، درست نمایی لگاریتمی17 و سودمندی اطلاعات18 . هر چند این روش‌ها سریع هستند ولی چون هر خصیصه را به تنهایی ارزیابی می‌کنند و به ارتباط بین آن خصیصه با سایر خصیصه‌ها توجهی ندارند، دقت کمتری دارند. این نوع الگوریتم‌ها به دلیل پیچیدگی زمانی کمتری که دارند، برای مجموعه داده‌هایی که بردار خصیصه‌های بزرگتری دارند مناسب‌اند [1].
انتخاب سودمندترین خصیصه‌ها از میان تعداد بسیار زیاد خصیصه‌ها می‌تواند باعث افزایش دقت عملکرد الگوریتم طبقه‌بندی شود [26]. شکل 2-1 مهمترین الگوریتم‌های انتخاب خصیصه تک متغیره را نشان می‌دهد.
روش‌های انتخاب خصیصه‌ی تک متغیره نسبت به روش‌های چند متغیره پیچیدگی زمانی کمتری دارند به همین دلیل در بسیاری از تحقیق‌ها از روش‌های تک متغیره استفاده شده است.
[8] و [15] برای طبقه‌بندی متن از سودمندی اطلاعات استفاده کرده‌اند. تحقیق [3] با اتکا به نتایج [8] و [15] روش سودمندی اطلاعات را برای انتخاب سودمندترین خصیصه‌ها برگزید. عباسی و همکارانش با استفاده از سودمندی اطلاعات و انتخاب سودمندترین خصیصه‌ها به دقت 92.5% در تحلیل احساسات و عقاید موجود در متن مجموعه داده بازبینی فیلم دست یافتند. آنها در این تحقیق برای طبقه‌بندی از روش SVM بهره برده‌اند.
در [16] برای انتخاب خصیصه از روش مربع کای استفاده شده است. آنها بهترین نتیجه خود را با بکارگیری طبقه بند SVM و حداکثر آنتروپی به صورت ترکیبی بدست آوردند. باید توجه کنیم برای بهبود طبقه‌بندی بهتر است، بتوانیم مدل درستی از اسناد را ارائه دهیم، تا به دقت بالاتری دست یابیم. استفاده همزمان و ترکیبی از چند الگوریتم طبقه‌بندی باعث افزایش پیچیدگی زمانی خواهد شد و نهایتا برای مجموعه داد‌های متفاوت لزوما باعث افزایش دقت طبقه‌بندی نخواهد شد. استفاده ترکیبی از چند الگوریتم طبقه‌بند برای یک مجموعه داده نمی‌تواند راه حلی برای بهبود سرعت و دقت طبقه‌بندی متون باشد. در عوض استفاده از چند طبقه‌بند می‌تواند از چند فیلتر انتخاب خصیصه استفاده کرد، یا به دنبال مدل مناسبتری برای مدلسازی اسناد باشیم.
[20], [25],[14] از روش درست نمایی لگاریتمی استفاده کردند. در بین سه مقاله ذکر شده مقاله [20] به حداکثر دقت 90% دست یافت.
روش‌های چند متغیره پر استفاده‌ای نیز وجود دارد که استفاده از آنها باعث کاهش معقول تعداد خصیصه‌ها و افزایش نامعقول پیچیدگی زمانی خواهد شد
شکل 2-2 تعدادی از روش‌های چند متغیره انتخاب خصیصه که در سال‌های اخیر ارائه شده‌اند را نشان می‌دهد. در این قسمت بحث زیادی نخواهیم کرد، فقط کارهایی که از این روش‌ها استفاده کرده‌اند را بیان می‌کنیم. مهمترین مشکل این روش‌ها پیچیدگی زمانی آنها است. اگر اسناد بزرگ باشند و تعداد خصیصه‌ها زیاد باشد این روش‌ها عملا ناکارآمد خواهند بود. چنانچه اسناد کوچک باشند و تعداد خصیصه‌ها نیز کم باشد می‌توان از روش‌های چند متغیره استفاده کرد، ولی امروزه در عصر اطلاعات با حجم فراوانی از داده‌ها مواجه هستیم بهتر است راه حل‌هایی برای مدیریت داده ها ارائه شود.
عباسی و همکارانش در سال 2007 با ترکیب کردن الگوریتم ژنتیک با الگوریتم سودمندی اطلاعات روش انتخاب خصیصه EWGA19 را ارائه دادند با استفاده از این روش توانستند به دقت طبقه‌بندی 95% دست یابند[3] . این الگوریتم انتخاب خصیصه به خوبی کار می‌کند، ولی پیچیدگی زمانی این روش قابل توجه است. عباسی و همکارانش مقایسه‌ای که در مقاله سال 2013 خود انجام داده‌اند زمان لازم برای انتخاب سودمندترین خصیصه‌ها برای الگوریتم ژنتیک/سودمندی اطلاعات را بالغ بر 6000 دقیقه بیان کرده‌اند. لذا برای تحلیل داده ها با حجم زیاد نمی‌توان به این روش ها متکی بود.
ما برای حذف خصیصه‌های غیر مفید همانطور که پیش از این نیز به آن اشاره کرده‌ایم از روش‌های تک متغیره استفاده خواهیم کرد.
فصل بعد به ارائه روش پیشنهادی خواهیم پرداخت. در این رساله سه روش با کاربردهای متفاوت ارائه شده است. سپس روش های مورد نظر برای زبان فارسی نیز تعمیم داده شده‌اند و بر مجموعه داده زبان فارسی نیز اعمال شده اند.
فصل سوم روش پیشنهادی

پیش گفتار
هدف اصلی این نوشتار ارائه مدلی جامع برای اسناد می‌باشد. قصد داریم مجموعه‌ای از خصیصه‌ها را ارائه دهیم و با استفاده از آنها به مدلی از اسناد دست یابیم. با داشتن مدل مناسب از اسناد دیگر نیازی به استفاده کردن از روش‌های پیچیده انتخاب خصیصه نخواهد بود.
در این فصل به توضیح و تشریح روش ارائه شده خواهیم پرداخت. با مطالعه و بررسی مقالات و تحقیقات ارائه شده به این نتیجه دست یافتیم که بهتر است برای تحلیل احساس در متن، از مجموعه خصیصه‌هایی استفاده کنیم که قادر باشند بیشترین اطلاعات لازم برای تحلیل احساس را در اختیار الگوریتم طبقه‌بندی اسناد قرار دهند، به این ترتیب می‌توان دقت طبقه‌بندی اسناد را افزایش داد.
هدف این رساله ارائه روشی برای تحلیل احساسات و عقاید موجود در متن می‌باشد. به گونه‌ای که این تحلیلگر اسناد موجود در مجموعه داده‌ها را در دو طبقه، اسناد حاوی نظرات مثبت و اسناد حاوی نظرات منفی دسته بندی ‌کند. اولین مشکلی که برای تحلیل احساس وجود دارد ارائه مدلی کامل و مفید برای اسناد متنی می‌باشد. برای حل این مشکل مجموعه خصیصه‌های متفاوتی مورد بررسی قرار گرفته‌اند و از این میان تلاش شده مناسب‌ترین خصیصه‌ها را انتخاب کنیم.
مشکل دوم در تحلیل احساسات و عقاید تعداد زیاد خصیصه‌ها می‌باشد. این مسئله باعث بروز مشکلاتی دیگری مانند خصیصه‌های افزونه و خصیصه‌های غیر مرتبط می‌شود. لذا باید برای انتخاب کردن خصیصه‌های سودمند از میان هزاران خصیصه راهی اندیشیده شود. روشی که اینجا ارائه شده است فیلتر کردن خصیصه‌ها در چند مرحله است. در ابتدا با استفاده از Wordnet و Sentiwordnet خصیصه‌ها را فیلتر می‌کنیم، به این ترتیب تعداد خصیصه‌ها کاهش می‌یابد. در مرحله بعد از الگوریتم انتخاب خصیصه ساده و با حداقل پیچیدگی زمانی استفاده می‌کنیم.
یکی از ویژگی‌های ذاتی خصیصه‌های N-gram پراکندگی آنها است. پراکندگی باعث افزایش تعداد خصیصه‌ها همچنین کاهش اثرگذاری خصیصه‌های bigram و trigram می‌شود.

منابع مورد نیاز
برای پیاده سازی روش پیشنهادی به منابع داده‌ای و نرم افزاری نیاز خواهیم داشت. در این رساله برای آزمودن پایداری روش پیشنهادی از چهار مجموعه داده20 استفاده شده است.
مجموعه داده بازبینی فیلم‌ها یکی از معروفترین مجموعه داده‌ها است که در سال 2002 توسط pang و همکارانش ارائه شده است [4]. این مجموعه حاوی 2000 سند بازبینی استخراج شده از سایت IMDB است. این اسناد در دو گروه نظرات



قیمت: تومان

دسته بندی : مقاله و پایان نامه

دیدگاهتان را بنویسید

دانشکده مهندسی
پایان نامه کارشناسی ارشد در رشته مهندسی کامپیوتر(نرم افزار)
ارائه یک مدل مبتنی بر خصیصه جهت تحلیل احساس موجود در نوشتجات
به کوشش
سجاد توفیقی
استاد راهنما
دکتر سید مصطفی فخراحمد
شهریور 1393
بسمه الله الرحمن الرحیم
به نام خدا
ارائه یک مدل مبتنی بر خصیصه جهت تحلیل احساس موجود در نوشتجات
به وسیلهی:
سجاد توفیقی
پایان نامه
ارائه شده به تحصیلات تکمیلی دانشگاه به عنوان بخشی
از فعالیتهای تحصیلی لازم برای اخذ درجه کارشناسی ارشد
در رشته:
مهندسی کامپیوتر- نرم افزار
از دانشگاه شیراز
شیراز
جمهوری اسلامی‌ایران

ارزیابی شده توسط کمیته پایان نامه با درجه: عالی

دکتر سید مصطفی فخراحمد، استادیار بخش مهندسی کامپیوتر(راهنما) ………………….

دکتر محمدهادی صدرالدینی، دانشیار بخش مهندسی کامپیوتر(مشاور) ………………….

دکتر فرشاد خونجوش، استادیار بخش مهندسی کامپیوتر(داور) …………………..

شهریور 93
اظهار نامه

اینجانب سجاد توفیقی(9130198) دانشجوی رشته مهندسی کامپیوتر گرایش نرمافزار دانشکده مهندسی برق و کامپیوتر اظهار میکنم که این پایان نامه حاصل پژوهش خودم بوده و در جاهایی که از منابع علمی‌دیگر استفاده شده است، نشانی دقیق و مشخصات کامل آن ذکر شده است. همچنین اینجانب اظهار میکنم که تحقیق و موضوع پایاننامهام تکراری نبوده و تعهد مینمایم که بدون مجوز دانشگاه دستاوردهای حاصل شده را منتشر ننموده و یا در اختیار غیره قرار ندهم. کلیه حقوق این اثر مطابق با آیین نامه مالکیت فکری و معنوی متعلق به دانشگاه شیراز است.
تقدیم به مادرم:
مادرم،
بهشت وعده گاه تو است.
سپاسگذاری
اینجانب بر خود واجب میدانم که از حمایتهای بی دریغ استاد راهنمای ارجمندم، جناب دکتر سید مصطفی فخراحمد و همچنین استاد مشاور جناب دکتر محمدهادی صدرالدینی که در طول انجام پروژه همواره مشوق و حامی‌من بودهاند کمال تشکر و قدردانی را به جا آورم. همچنین از اعضای خانواده که همیشه همراه و یاور من در این راه بودهاند نیز بسیار سپاسگزارم.
فهرست مطالب
فصل اول پیشگفتار1
1-1-مقدمه2
1-3-تحلیل احساس در متن6
1-4-اهداف رساله8
1-5-روش کار9
1-6-ساختار پایان نامه9
فصل دوم کارهای انجام شده10
2-1-مقدمه11
2-2-تعریف مسئله11
2-3-گام اول تحلیل احساس در متن12
2-4-روش‌های مبتنی بر خصیصه‌های N-gram13
2-5-الگوریتم‌های انتخاب خصیصه18
فصل سوم روش پیشنهادی22
3-1-پیش گفتار23
3-2-منابع مورد نیاز23
3-3-روش پیشنهادی اول25
3-3-1.پیش پردازش اسناد26
3-3-2.برچسب گذاری ادات سخن29
3-3-3.استخراج بردار خصیصه‌ها و ترکیب خصیصه‌ها30
3-3-4.اعمال الگوریتم انتخاب خصیصه33
3-4-روش پیشنهادی دوم34
3-5-روش پیشنهادی سوم37
3-5-1.استخراج پلاریته کلمات و فیلتر بردار خصیصه38
فصل چهارم پیاده سازی و نتایج گرفته شده47
4-1-مقدمه48
4-2-مجموعه داده‌ها48
4-3-طبقه‌بندی داده‌ها48
4-4-نتایج روش اول49
4-5-نتایج روش دوم52
4-6-نتایج روش سوم53
4-7-مقایسه روش پیشنهادی با روش‌های قبل53
8-4-نتایج اعمال روش پیشنهادی برای زبان فارسی…………………………………………………………………………………………………………..54
4-9-کارهای آینده58
مراجع و منابع59
فهرست الگوریتم ها
Algorithm 1 Documents_To_model33
Algorithm 2 Documents_To_model235
Algorithm 3 Polarity_Filter40
فهرست تصاویر
شکل 1-1 دسته بندی متون5
شکل 1-2 تحلیلگر احساس در سطح کلمه7
شکل 1-3 تحلیلگر احساس در سطح جمله7
شکل 1-4 تحلیلگر احساس در سطح سند8
شکل 2-1 مهمترین الگوریتم های انتخاب خصیصه تک متغیره19
شکل 2-2 مهمترین روش های انتخاب خصیصه چند متغیره21
شکل 3-1 Sentiwordnet22
شکل 3-2 شمای کلی روش پیشنهادی اول26
شکل 3-3 شمای پیش پردازش اسناد27
شکل3-4 برچسب گذار استنفورد30
شکل3-5 مجموعه خصیصه‌های پیشنهادی برای تحلیل احساس32
شکل 3-6 شمای کلی روش پیشنهادی دوم36
شکل 3-7 شمای کلی روش سوم.38
شکل3-8 شمای کلی روش پیشنهادی43
شکل3-9 برچسب گذار زبان فارسی44
شکل3-10 مجموعه خصیصه‌های پیشنهادی برای تحلیل احساس متون فارسی45
فهرست جداول
جدول 2-1 مجموعه خصیصه‌ها N-gram و مثال برای هر خصیصه15
جدول 2-2 مجموعه کاملی از خصیصه ها N-gram16
جدول 3-1 لیست Stopwords28
جدول 3-2 مثال برای رفع ابهام با استفاده از برچسب ادات سخن31
جدول 3-3 کلمات هم معنای great35
جدول 3-3 محاسبه تفاضل نسبی پلاریتی کلمات39
جدول 3-5 مثال خصیصه استخراج شده از متن.45
جدول 4-1 مجموعه داده های مورد استفاده در این رساله49
جدول 4-2 تعداد خصیصه‌های پس از اعمال الگوریتم انتخاب خصیصه50
جدول 4-3 مقایسه روش های پیشنهادی50
جدول 4-4 مقایسه نتایج روش پیشنهادی با روش پیشین52
جدول 4-5 تعداد کل خصیصه ها بدون اعمال الگوریتم انتخاب خصیصه53
جدول 4-6 مقایسه نتایج روش پیشنهادی با روش ارائه شده توسط عباسی و همکارانش54
جدول 4-7 مقایسه نتایج روش پیشنهادی با روش ارائه شده توسط آگاروال و میتال.54
جدول4-8- نتایج طبقه‌بندی متون فارسی57
فصل اول پیشگفتار

مقدمه
برخی نویسندگان داده کاوی را به عنوان ابزاری برای جستجو کردن اطلاعات سودمند در حجم زیادی از داده ها تعریف می کنند. برای انجام فرایند داده کاوی با زمینه های گوناگون تحقیقی مواجه می‌شویم، مانند پایگاه داده، یادگیری ماشین و آمار. پایگاه داده‌ها برای تحلیل کردن حجم زیادی از داده‌ها ضروری هستند. یادگیری ماشین، یک ناحیه هوش مصنوعی است که با ایجاد تکنیک‌هایی امکان یادگیری به وسیله تحلیل مجموعه‌های داده‌ای را به کامپیوترها می‌دهند. تمرکز این روش‌ها روی داده سمبولیک است و با آنالیز داده‌های تجربی سر و کار دارد. پایه آن تئوری آماری است. در این تئوری عدم قطعیت و شانس به وسیله تئوری احتمال مدل می‌شوند. امروزه بسیاری از روش‌های آماری در زمینه داده کاوی استفاده می‌شوند. می‌توان گفت که متن کاوی از تکنیک‌های بازیابی اطلاعات، استخراج اطلاعات همچنین پردازش کردن زبان طبیعی استفاده می‌کند و آن‌ها را به الگوریتم‌ها و متدهای داده کاوی، یادگیری ماشین و آماری مرتبط می‌کند. با توجه به ناحیه‌های تحقیق گوناگون، بر هر یک از آن‌ها می‌توان تعاریف مختلفی از متن کاوی در نظر گرفت در ادامه برخی از این تعاریف بیان می‌شوند:
متن کاوی = استخراج اطلاعات: در این تعریف متن کاوی متناظر با استخراج اطلاعات در نظر گرفته می‌شود (استخراج واقعیت‌ها از متن).
متن کاوی = کشف داده متنی: متن کاوی را می‌توان به عنوان متدها و الگوریتم‌هایی از فیلدهای یادگیری ماشین و آماری برای متن‌ها با هدف پیدا کردن الگوهای مفید در نظر گرفت. برای این هدف پیش پردازش کردن متون ضروری است. در بسیاری از روش‌ها، متدهای استخراج اطلاعات، پردازش کردن زبان طبیعی یا برخی پیش پردازش‌های ساده برای استخراج داده از متون استفاده می‌شود، سپس می‌توان الگوریتم‌های داده کاوی را بر روی داده‌های استخراج شده اعمال کرد.
متن کاوی = فرایند استخراج دانش: که در بخش قبلی به طور کامل توضیح داده شده است و در اینجا دیگر بیان نمی‌شود. در این تحقیق ما بیشتر متن کاوی را به عنوان کشف داده متنی در نظر می‌گیریم و بیشتر بر روی روش‌های استخراج الگوهای مفید از متن برای دسته‌بندی مجموعه‌ های متنی یا استخراج اطلاعات مفید، تمرکز می‌کنیم.
در دنياي کنوني مشکل کمبود اطلاعات نيست، بلکه مشکل کمبود دانشي است که از اين اطلاعات مي توان بدست آورد. ميليونها صفحه ي وب، ميليونها کلمه در کتابخانه‌هاي ديجيتال و هزاران صفحه اطلاعات در هر شرکت، تنها چند دست از اين منابع اطلاعاتي هستند. اما نمي‌توان به طور مشخص منبعي از دانش را در اين بين معرفي کرد. دانش خلاصه‌ي اطلاعات است و نيز نتيجه گيري و حاصل فکر و تحليل بر روي اطلاعات.
داده کاوي، يک روش بسيار کارا براي کشف اطلاعات از داده‌هاي ساختيافته‌اي که در جداول نگهداري مي‌شوند، است. داده کاوي، الگوها را از تراکنش‌ها، استخراج مي‌کند، داده را گروه‌بندي مي‌کند و نيز آنرا دسته‌بندي مي‌کند. بوسيله‌ي داده کاوي مي‌توانيم به روابط ميان اقلام داده‌اي که پایگاه داده را پر کرده‌اند، پي ببريم. در عين حال ما با داده کاوي مشکلي داريم و آن عدم وجود عاميت در کاربرد آن است. بيشتر دانش ما اگر به صورت غير ديجيتال نباشند، کاملاً غير ساختيافته اند. کتابخانه‌هاي ديجيتال، اخبار، کتابهاي الکترونيکي، بسياري از مدارک مالي، مقالات علمي و تقريباً هر چيزي که شما مي‌توانيد در داخل وب بيابيد، ساختيافته نيستند. در نتيجه ما نمي‌توانيم آموزه‌هاي داده کاوي را در مورد آنها به طور مستقيم استفاده کنيم. با اين حال، سه روش اساسي در مواجهه با اين حجم وسيع از اطلاعات غير ساختيافته وجود دارد که عبارتند از: بازيابي اطلاعات، استخراج اطلاعات و پردازش زبان طبیعی.
بازیابی اطلاعات: اصولاً مرتبط است با بازيابي مستندات و مدارک. کار معمول دربازیابی اطلاعات اين است که با توجه به نياز مطرح شده از سوي کاربر، مرتبط ترين متون و مستندات و يا در واقع بقچه‌ي کلمه را ازميان ديگر مستندات يک مجموعه بيرون بکشد. اين يافتن دانش نيست بلکه تنها آن بقچه‌اي از کلمات را که به نظرش مرتبط‌تر به نياز اطلاعاتي جستجوگر است را به او تحويل مي‌دهد. اين روش به واقع دانش و حتي اطلاعاتي را برايمان به ارمغان نمي‌آورد.
پردازش زبان طبیعی: هدف کلی پردازش زبان طبیعی رسیدن به یک درک بهتر از زبان طبیعی توسط کامپیوترهاست. تکنیک‌های مستحکم و ساده‌ای برای پردازش کردن سریع متن به کار می‌روند. همچنین از تکنیک‌های آنالیز زبان شناسی نیز برای پردازش کردن متن استفاده می‌شود.
استخراج اطلاعات: هدف روش‌های استخراج اطلاعات، استخراج اطلاعات خاص از سندهای متنی است. استخراج اطلاعات مي‌تواند به عنوان يک فاز پيش پردازش در متن‌کاوی بکار برود. استخراج اطلاعات عبارتند از نگاشت کردن متن‌های زبان طبیعی (مثلا گزارش‌ها، مقالات journal، روزنامه‌ها، ایمیل‌ها، صفحات وب، هر پایگاه داده متنی و…..) به یک نمایش ساختیافته و از پیش تعریف شده یا قالب‌هایی که وقتی پر می‌شوند، منتخبی از اطلاعات کلیدی از متن اصلی را نشان می‌دهند. یکبار اطلاعات استخراج شده و سپس اطلاعات می‌توانند در پایگاه داده برای استفاده‌های آینده، ذخیره شوند.
کاربردهای متن کاوی
در این قسمت تعدادی از کاربردهای متن‌کاوری را بیان خواهیم کرد. امروزه با وجود حجم زیادی از اطلاعات متنی، متن‌کاوی از جمله روش های تحقیقی-تجاری می‌باشد که از اهمیت ویژه‌ای برخوردار است. همه شرکت‌های تجاری، تولید کنندگان کالاها، ارائه کنندگان خدمات و سیاست‌مداران قادرند با بهره‌گیری از فرایند متن‌کاوی دانش مفیدی را به عنوان بازخورد از کالا، خدمات و عملکرد خود دریافت کنند. از جمله کاربردهای متن کاوی می‌توان به موارد زیر اشاره نمود:
1.شناساییspam: آنالیز کردن عنوان و محتوای یک ایمیل دریافتی، برای تشخیص اینکه آیا ایمیل می‌تواند spam باشد یاخیر.
2 .نظارت :یعنی نظارت کردن رفتار شخص یا گروهی از انسان‌ها به صورت پنهان. پروژه‌ای به نام ENCODA تلفن، اینترنت و دیگر وسایل ارتباطی را برای شناسایی تروریسم نظارت می‌کند.
3. شناسایی نامهای مستعار: نام‌های مستعار در مراقبت‌های پزشکی برای شناسایی تقلب‌ها آنالیز می‌شوند. برای مثال یک صورت حساب ممکن هست با نام John Smith، J. Smith و Smith, John ارائه شود. از این طریق یا با استفاده از روش‌های دیگری مطالبه کنندگان امکان سوءاستفاده را خواهند یافت و مطالبات حق بیمه زیادی تحت نام‌های مستعار مختلف دریافت می‌کنند. استفاده از متن‌کاوی برای تشخیص این نام‌های مستعار می‌تواند در یافتن تقلب به شرکت‌های بیمه کمک فراوانی کند.
4.خلاصه سازی: منظور از خلاصه سازي، روند استخراج و ارائه مجموعه‌اي مفاهيم پايه‌اي از متن، تنها در چند خط است. اين کار مي‌تواند بررسي محتويات مستندات را براي کاربران ساده‌تر کند و آنها را در مسير رسيدن به آنچه نياز دارند، سرعت بخشد.
5. روابط میان مفاهیم: از جمله واقعيتهايي که مي توان از يک مجموعه متون دريافت، ارتباط و وابستگي برخی مفاهيم با مفاهيم ديگراست. اين واقعيات به طور مثال مي‌تواند بگويد که پديدار شدن بعضي کلمات ممکن است که وابسته باشد به ظاهر شدن بعضي ديگر از کلمات. منظور اين است که هرگاه مجموعه ي اول کلمات را ببينيم، مي‌توانيم انتظار داشته باشيم که مجموعه‌ي دوم لغات را نيز در ادامه مشاهده خواهیم کرد. اين مفهوم نيز از داده کاوي در ديتابيس به امانت گرفته شده است.
6. یافتن وتحلیل رفتارها: برای شرح این کاربرد فرض کنيد که مدير يک کمپاني تجاري هستيد. مشخصاً شما بايد همواره بر فعاليتهاي رقيبانتان نظارت داشته باشيد. اين مي‌تواند هر نوع اطلاعاتي باشد که شما از اخبار، معاملات بورس و يا از مستندات توليد شده توسط همان کمپاني رقيب گرفته‌ايد. امروزه اطلاعات به طور فزآينده‌اي در حال افزايش است، مديريت تمامي اين منابع داده‌اي قطعاً تنها به کمک چشمان ممکن نيست. متن‌کاوی اين امکان را مي‌دهد که به طور اتوماتيک رفتارها و تغييرات جديد را بيابيد. در واقع آنچه اصولاً بايد از متن‌کاوي انتظار برود اين است که به شما بگويد چه اخباري در ميان گستره‌اي از اخبار به آنچه مي خواهيد مرتبط است و در اين ميان کدام خبر جديداست، چه پيشرفتهايي در زمينه‌ي کاري شما صورت مي گيرد و علايق و رفتارهای فعلي چگونه است و با چه روندي تغيير مي‌کند. با استفاده از اين اطلاعات، مديران قادرند از اطلاعات کشف شده براي بررسي وضعيت رقيب سود جويند.
7. تحلیل احساس : در این کاربرد هدف از متن کاوی تشخیص احساس نویسنده متن است. درجه رضایت یا خوشحالی و ناراحتی نویسنده تشخیص داده می‌شود. این رساله به بررسی متن کاوی به منظور تحلیل احساس موجود در متون خواهد پرداخت، لذا در ادامه با جزئیات بیشتری تحلیل احساس در متون را بررسی خواهیم کرد.
همه اطلاعات متنی را می‌توان به دو دسته:حقایق1 و عقاید2 دسته بندی کرد. حقایق عبارات علمی‌ و عملی درباره موجودیت‌ها، رویدادها و ویژگی‌های آنها هستند که بصورت عینی و واقعی در دنیای بیرون وجود دارند یا به وقوع پیوسته‌اند. عقاید عبارات غیر عینی و ذهنی هستند که نظرات، ارزیابی‌ها یا احساسات افراد را درباره یک موجودیت، رویداد و ویژگی‌های آنها بیان می‌کنند [23]. شکل 1-1 مثالی را برای هر کدام بیان میکند. در این رساله تنها به یک جنبه از این مفهوم یعنی احساسات خواهیم پرداخت.
قبل از سال 2000 به دلیل کمبود منابع داده‌ای و کمبود متون حاوی نظرات و عقاید در تارنمای گسترده جهانی3 تحقیقات اندکی در این زمینه به انجام رسیده است. امروزه با گسترش اینترنت و همه‌گیر شدن شبکه‌های اجتماعی، کاربران می‌توانند نظرات خود درباره محصولات یا خدمات را در سایت‌های تجاری، شبکه‌های اجتماعی، وبلاگ‌ها بیان کنند؛ صفحات وب متون زیادی را در بر دارند که مشتمل بر نظرات، عقاید، ارزیابی کاربران پیرامون یک کالا یا خدمات خاص هستند. اطلاعاتی که از این نوع داده‌ها قابل دست‌یابی است، برای شرکت‌های سازنده و همچنین سازمان‌های ارائه کننده خدمات بسیار مفید و گاهی ضروری خواهند ‌بود. همچنین برای کاربرانی که قصد انتخاب خدمات یا یک نوع کالا را دارند راهنمایی مفیدی را ارائه می‌دهند. شخصی را در نظر بگیرید که قصد دارد موبایل یا دوربین دیجیتالی بخرد، برای آگاهی از کیفیت دوربین و مطلوبیت خدمات شرکت سازنده بدون شک به پرسش و جمع‌آوری اطلاعات از اطرافیان روی خواهد آورد، ولی امروزه با رشد اینترنت می‌توان بصورت آنلاین نظرات و تجربیات صدها نفر را درباره یک کالای خاص مطالعه کرد و برای تصمیم گیری از آنها مدد گرفت.
امروزه تعدد و گوناگونی منابع اینترنتی حاوی نظرات و احساسات کاربران به حدی زیاد شده است که یافتن و ارزیابی آنها کار بسیار پیچده‌ای است. در بسیاری موارد نظرات و عقاید کاربر در یک پست طولانی پنهان شده است. برای استخراج نظرات و عقاید درباره یک موجودیت باید در ابتدا منابع اینترنتی مرتبط با آن را یافت سپس متن مورد نظر خوانده شود، جملات بیان کننده نظرات و عقاید کاربر از متن استخراج شوند، خلاصه سازی شوند و به فرم قابل استفاده تبدیل شوند. از جمله مشکلاتی که در این زمینه وجود دارد حجم زیاد داده می‌باشد. در صفحه توییتر شخصی جاستین بیبر روزانه 300000 نظر ثبت می‌شود [22]. این حجم از داده‌ها میتوانند اطلاعات مفیدی را برای شرکت‌ها و همچنین مشتری‌ها به همراه داشته باشند؛ ولی پردازش آنها بصورت دستی و انسانی غیر ممکن می‌باشد، لذا طراحی یک روش اتوماتیک برای تحلیل متن و استخراج نظرات و عقاید موجود در متن ضروری است. در همین راستا تلاش‌های فراوانی صورت گرفته است، مثلا در کشور آمریکا 20 تا 30 شرکت به ارائه خدمات تخصصی تحلیل احساس می‌پردازند [17].
در این رساله روشی برای تحلیل احساس ارائه می‌شود. روش پیشنهادی سعی در ارائه مجموعه مناسبی از خصیصه‌ها4 را دارد به نحوی که بتوان به دقت بهتری در ارزیابی اتوماتیک متون دست یافت، همچنین تعداد خصیصه‌ها در حد متناسبی حفظ شود. برای انتخاب خصیصه‌ها از الگوریتم‌های ساده و با حداقل پیچیدگی زمانی بهره می‌بریم و نیاز به استفاده از الگوریتم انتخاب خصیصه با پیچیدگی زمانی بالا مرتفع شده است.
تحلیل احساس در متن
تحلیل احساس در واقع مطالعه محاسباتی نظرات عقاید و احساسات بیان شده در متن است. متن زیر نظر یک کاربر درباره iphone است.
“(1) I bought an iphone a few days ago. (2) It was such a nice phone. (3) The touch screen was really cool. (4) The voice quality was clear. (5) Although the battery life was not long, that is ok for me. (6) However my mother was mad with me as I did not tell her before I bough it. (7) She also thought the phone was too expensive, and wanted me to return it to shop……”
چه اطلاعاتی می‌توان از متن استخراج کرد ؟ ابتدا باید توجه کنیم چند نظر در این متن وجود دارد، جملات (2)، (3) و (4) نظرات مثبتی را بیان می‌کنند. جملات (5)، (6) و (7) نظرات منفی را بیان می‌کنند. آیا نظرات بیان شده درباره یک موجودیت بیان شده‌اند؟ این موجودیت کدام است؟ جمله (2) بصورت کلی نظری را درباره iphone بیان کرده است. جملات (3)، (4) و (5) نظراتی درباره صفحه لمسی، وضوح صدا و طول عمر باتری بیان می‌کنند. جمله (7) عقیده مشتری نسبت به قیمت موبایل را بیان می‌کند. ولی نظرات بیان شده در جمله (6) درباره شخص می‌باشد نه درباره موبایل iphone. این نکته بسیار مهم است باید توجه داشت متنی که حاوی نظرات کابران می‌باشد لزوما درباره یک موجودیت خاص نیست، ممکن است در طول متن نظرات مثبت و منفی درباره موجودیت‌های متفاوت بیان شده باشد.
تحلیلگر احساس و عقاید معمولا ورودی‌های خود(جملات، اسناد) را به دو گروه نظرات و عقاید مثبت و نظرات و عقاید منفی دسته‌بندی می‌کند. برخی از تحقیقات نیز ضعیف یا قوی بودن نظرات در نظر گرفته‌اند و متون در 4 گروه دسته بندی می‌شوند. گروه اول نظرات کاملا منفی، دوم نظرات کمی‌منفی، سوم نظرات کمی‌مثبت، چهارم نظرات کاملا مثبت.
فرایند تحلیل احساس در سه سطح انجام می‌شود:
در سطح کلمات
در سطح جمله
در سطح سند.
برای هر سطح پیش فرض‌ها و وظایفی برشمرده می‌شود که باید در تحلیلگر لحاظ شوند. در ادامه به تشریح تحلیلگر احساس در سطوح متفاوت خواهیم پرداخت.
تحلیلگر احساس در سطح کلمه یک سند یا مجموعه ای از جملات را به عنوان ورودی دریافت می‌کند. ابتدا کلمات متفاوت که ویژگی‌های یک موجودیت را بیان می‌کنند را از متن استخراج می‌کند. سپس نظرات بیان شده در متن پیرامون ویژگی‌های موجودیت را تشخیص می‌دهد. شکل1-2 یک مثال از عملکرد تحلیلگر احساس در سطح کلمه را بیان می‌کند.
همانطور که در شکل 1-2 قابل مشاهده است، تحلیلگر احساس در سطح کلمه یک سند را به عنوان ورودی دریافت می‌کند، ویژگی های شئ مورد بحث در سند را استخراج می‌کند(شئ مورد بحث:موبایل، ویژگی های شئ مورد بحث:کیفیت صدا و عمر باطری) و در پایان بر اساس نظرات بیان شده در سند به ویژگی‌های استخراج شده در مرحله قبل، نمره مثبت یا منفی می‌دهد.
تحلیل احساس در سطح جمله مانند تحلیلگر احساس در سطح کلمه یک سند یا مجموعه‌ای از جملات را به عنوان ورودی دریافت می‌کند. جملات متن را تشخیص داده و بر اساس محتوای متن آنها را دسته‌بندی می‌کند؛ دسته اول جملات حاوی نظرات مثبت و دسته دوم جملات حاوی نظرات منفی. شکل 1-3 مثال تحلیلگر احساس در سطح جمله را بیان می‌کند.
تحلیلگر احساس در سطح سند(شکل 1-4) که هدف از این رساله نیز می‌باشد، تعدادی اسناد را دریافت می‌کند و آنها را در دو دسته اسناد حاوی نظر مثبت و اسناد حاوی نظر منفی طبقه‌بندی می‌کند. در این روش تحلیل احساس فرض بر آن است که هر سند درباره یک موجودیت واحد بحث می‌کند و همه نظرات مثبت و منفی درون سند درباره یک موجودیت واحد می‌باشد. با این کار طراحی تحلیلگر ساده می‌شود.
با این فرض که در هر سند فقط درباره یک موجودیت بحث می‌شود دیگر نیازی نیست با بسیاری از پیچیدگی‌هایی که در پردازش زبان طبیعی با آن مواجه هستیم دست و پنجه نرم کنیم. پس از سال 2000 تا کنون تحقیقات فراوانی در این زمینه به انجام رسیده است؛ با این وجود بسیاری از مشکلات در این زمینه هنوز حل نشده باقی مانده‌اند. در این رساله به برخی از این مشکلات پرداخته و روش‌هایی را برای غالب آمدن بر این مشکلات بیان خواهیم کرد.
اهداف رساله
هدف از این رساله ارائه روشی برای تحلیل احساس در مجموعه‌ای از اسناد می‌باشد، به گونه ای که اسناد در دو گروه نظرات مثبت و نظرات منفی طبقه شوند. از جمله مشکلاتی که برای تحلیل احساس وجود دارد حجم زیاد متون است، برای مثال تعداد خصیصه‌های استخراج شده از مجموعه داده فیلم‌ها بالغ بر پنجاه هزار خصیصه بود [4]. همچنین خصیصه‌های زبان شناختی فراوانی وجود دارد که باید از این میان بهترین خصیصه‌های را بیابیم و برای مدل‌سازی متون از آنها استفاده کنیم. در این رساله تلاش بر آن بوده تا بتوانیم مجموعه مناسبی از خصیصه‌ها را انتخاب کنیم و با داشتن حداقل خصیصه‌ها از یک الگوریتم انتخاب خصیصه با پیچیدگی زمان کم استفاده شود. در این رساله دو مجموعه داده فارسی و انگلیسی بررسی خواهند شد. ابتدا سعی می‌کنیم روش مناسبی برای تحلیل احساس در متون انگلیسی ارائه دهیم سپس روش ارائه شده را به زبان فارسی تعمیم خواهیم داد.
روش کار
برای انجام پایان نامه در مرحله اول مبانی نظری و راهکارهای موجود، در ارتباط با تحلیل احساس موجود درمتن و تشکیل بردار خصیصه‌ها با استفاده از خصیصه‌های زبان شناختی مورد مطالعه قرار گرفته‌اند. سپس با تحلیل و بررسی روش‌های موجود نقات ضعف و قوت این روش‌ها را مورد توجه قرار داده تا بتوانیم با ترکیب یا بهبود آنها به روش بهتری دست یابیم. در ادامه روش پیشنهادی را با استفاده از داده‌های موجود مورد تست و ارزیابی قرار داده‌ایم. به دنبال آن، با تحلیل‌های انجام شده بر روش پیشنهادی، مشکلات موجود را تا حدی برطرف کرده و روشی جامع‌تر را با دقت عملکرد بهتر ارائه دادیم. در این رساله از ترکیب جدیدی از خصیصه‌های زبان شناختی استفاده شده است. همچنین برای اولین بار در تحلیل احساس از مفاهیم مبتنی بر Wordnet بهره برده‌ایم.
ساختار پایاننامه
فصل دوم به طبقه‌بندی و بررسی شیوه‌های موجود در تحلیل احساس وعقاید و بررسی روش‌های نوین ارائه شده در این زمینه پرداخته است، همچنین کارهای مرتبط و شیوه‌های مورد استفاده در آنها را بیان کرده‌ایم. در فصل سوم روش‌های پیشنهادی برای تحلیل احساسات و عقاید در راستای افزایش دقت و کاهش زمان طبقه‌بندی ارائه شده است. فصل چهارم عملکردِ روش‌های پیشنهادی ارزیابی شده و با روش‌های موجود در این زمینه مقایسه می‌شوند. در پایان فصل چهار نیز برخی از کارهایی که در آینده باید انجام شوند را بیان کرده‌ایم.
فصل دوم کارهای انجام شده

مقدمه
در این فصل ابتدا به بررسی کارهای که پیشتر انجام شده است خواهیم پرداخت و نقاط ضعف و قوّت هر کدام را بصورت کوتاه بیان می‌کنیم. هر چند تعداد آثار موجود در زمینه تحلیل احساس در متن، فراوان است ولی در این بخش ما تعدادی از تحقیقات مهم را بصورت منتخب بیان خواهیم کرد.
برای مدل‌سازی اسناد باید مجموعه خصیصه‌های مفیدی از متن استخراج کنیم. مجموعه خصیصه‌های مفید خصیصه‌های هستند که به الگوریتم یادگیری ماشین برای طبقه‌بندی داده‌ها کمک کنند. این خصیصه‌ها باید به نحوی انتخاب شوند که بهترین مدل ممکن از اسناد را ارائه دهند و باید توجه کنیم هدف این مدل تحلیل احساس است لذا باید بیشترین اطلاعات ممکن به منظور تحلیل احساس را در اختیار نرم‌افزار طبقه‌بندی قرار دهند. با توجه به حجم متن اسناد و تعداد این اسناد، بردار خصیصه‌‌ی حاصل بزرگ خواهد بود، که این امر مشکلاتی را به همراه دارد. از جمله‌ی این مشکلات کاهش کارایی و دقت طبقه‌بندی را می‌توان نام برد، لذا باید از روش انتخاب خصیصه استفاده کرد تا بتوان سودمندترین خصیصه‌ها را از میان هزاران خصیصه استخراج کرد. در ابتدا تاریخچه تحقیق در زمینه تحلیل احساس در متن را بیان خواهیم کرد، سپس مجموعه خصیصه‌های N-gram مورد استفاده و کارهایی که از آنها استفاده کرده‌اند را بیان می‌کنیم، پس از آن روش‌های انتخاب خصیصه معروف و تحقیقاتی که از آنها استفاده کرده‌اند را بیان خواهیم کرد.
تعریف مسئله
برای حل کردن هر مسئله، ابتدا باید یک تعریف مناسب از مسئله را ارائه دهیم. در فصل قبل هدف از این رساله را تحلیل احساسات و عقاید در سطح سند معرفی کردیم.
چنانچه D مجموعه ای از اسناد باشد، سیستم ارائه شده باید تشخیص دهد D d∈ نظر مثبت یا نظر منفی را درباره یک شی O بیان می‌کند.
تحلیلگر احساس یک مجموعه از اسناد D را که حاوی نظرات کاربران پیرامون یک شئ خاص O است را دریافت می‌کند و جهت گیری آنها را نسبت به آن شئ خاص تشخیص می‌دهد، به نحوی که هر سند D بطور قطعی نظر مثبت یا منفی را درباره شئ O بیان می کند.
بسیاری از تکنیک‌های تحلیل احساس در سطح سند بر پایه الگوریتم های یادگیری نظارت شده5 هستند؛ تعداد از روش های یادگیری بدون نظارت6 نیز وجود دارد [23]. در این رساله تمرکز بر روش‌های یادگیرنده‌ی مبتنی بر ناظر است.
گام اول تحلیل احساس در متن
سال 2002 pang و همکارانش تحقیقی را انجام دادند که سر آغاز این راه نامیده می‌شود. هر چند قبل از آن نیز کارهایی انجام شده‌اند که بطور ضمنی از تحلیل احساسات و عقاید سخن به میان آورده‌اند ولی pang و همکارانش اولین بار بطور صریح در سال 2002 به تحلیل احساس در متن پرداخته‌اند [4].
pang و همکارانش از مجموعه خصیصه‌های unigram، bigram، صفات و ترکیبی از این سه نوع مجموعه خصیصه‌ها استفاده کردند. همچنین برای طبقه‌بندی از الگوریتم‌های SVM7، بیز ساده و حداکثر آنتروپی بهره گرفته‌اند. روش‌های متفاوتی برای نمایش بردار خصیصه‌ها وجود دارد pang و همکارانش از دو روش فرکانس خصیصه8 و حضور خصیصه9 برای نمایش بردار خصیصه‌ها استفاده کرده‌اند. نتایج نشان داد روش حضور خصیصه نسبت به سایر روش‌های مورد استفاده نتایج بهتری به همراه خواهد داشت. روش‌های که آنها برای نمایش بردار خصیصه‌های بکار برده‌اند، تاکنون در تحقیقات متفاوت به کار گرفته شده است. نتایج تحقیق نشان داد خصیصه‌های unigram نسبت به سایر خصیصه‌های زبان شناختی عملکرد بهتری دارند و باعث بهبود طبقه‌بندی می‌شوند. خصیصه‌های bigram نسبت به خصیصه‌های unigram دقت کمتری در طبقه‌بندی از خود نشان دادند. در این تحقیق برای طبقه‌بندی اسناد از روش‌های بیز ساده SVM و حداکثر آنتروپی استفاده شده است. نتایج طبقه‌بند SVM نسبت به سایر الگوریتم‌های طبقه‌بندی دقت بهتری از خود نشان داد. علاوه بر مطالب ذکر شده آنها مجموعه داده‌های بازبینی فیلم‌ها را ارائه دادند. این مجموعه داده‌ها از سایت IMDB10 جمع‌آوری شده است، مجموعه داده بازبینی فیلم‌ها داده متشکل از 2000 فایل بازبینی فیلم بود، 1000 فایل آن حاوی نظرات مثبتی پیرامون فیلم‌ها و 1000 فایل دیگر نیز حاوی نظرات منفی پیرامون فیلم‌ها بودند. بهترین دقت بدست آمده توسط pang و همکارانش با استفاده از 16165 خصیصه unigram و در الگوریتم طبقه‌بندی SVM حاصل شده بود[4].
مهم‌ترین ویژگی این تحقیق ارائه زمینه تحقیقی جدید برای طبقه‌بندی متون بوده‌است. همچنین نمایش بردار خصیصه ارائه شده در این تحقیق، تا کنون به عنوان یکی از بهترین روش‌ها نمایش بردار خصیصه مورد استفاد قرار می‌گیرد. pang و همکارانش در این تحقیق بر غیر مفید بودن خصیصه‌های bigram و خصیصه‌های N-gram n>1 تاکید داشتند.
روش‌های مبتنی بر خصیصه‌های N-gram
یکی از مهمترین فازهای فرایند تحلیل احساسات و عقاید، مدلسازی متون با استفاده از خصیصه‌هایی است که قادرند بخوبی بیان کننده صفات اسناد باشند. این رساله بر روی خصیصه‌هایN-gram تاکید دارد.
خصیصه‌های N-gram به دو دسته تقسیم می‌شوند:
N-gram ثابت؛ یک توالی دقیق در سطح کاراکتر یا توکن می‌باشد. مانند unigram یا biram.
N-gram متغیر؛ الگوهایی برای استخراج اطلاعات از متن هستند. مانند <subj> Pass VP یا <subj> dealt bow.
خصیصه‌های N-gram متغیر قادرند مفاهیم پیچیده‌تر زبان شناختی را بیان کنند [1]. در این رساله هدف اصلی خصیصه‌های N-gram مانند، بسته کلمات11 همچنین N-gram با درجات بالاتر مانند bigram و trigram می باشند. N-pos ترکیب n تایی از ادات سخن می‌باشد. همچنین n-posword ترکیب n تای از کلمات به همراه برچسب ادات سخن آنها می‌باشد. در ادامه مثال‌هایی برای هر یک از انواع خصیصه‌های N-gram بیان خواهیم کرد(جدول 2-1).
همانطور که در بخش قبلی بیان شد، pang و همکارانش نشان داده‌اند استفاده از خصیصه‌های bigram برای تحلیل احساسات و عقاید عملکردی بدتری نسبت به خصیصه‌های unigram در پی خواهند داشت. تحقیقی که وینسنت و همکارانش سال 2006 انجام داده‌اند خصیصه‌های unigram، bigram و trigram را برای مدلسازی اسناد به کار بردند [25]. اسناد متنی به دو دسته حقایق و عقاید دسته‌بندی می‌شوند و مثال بخش 1-2 نشان می‌دهد اغلب متون حاوی ترکیبی از حقایق و عقاید هستند، بنابراین بیشتر اسناد متنی ترکیبی از متون جهت‌دار (عقاید و نظرات) با متون عینی و واقعی (حقایق) هستند. متون عینی و واقعی درون اسناد در واقع همان خصیصه‌های غیر مرتبط با تحلیل احساس هستند چون اطلاعات مفیدی برای الگوریتم یادگیری ماشین در جهت تحلیل احساس موجود در متون را فراهم نمی‌کنند. تعداد زیاد خصیصه‌ها و غیر مرتبط بودن بسیاری از این خصیصه‌ها به تحلیل احساس، مشکلات زیادی را موجب می شود، از جمله این مشکلات می‌توان کاهش دقت طبقه‌بندی وکاهش سرعت عملیات طبقه‌بندی را نام برد. بهتر است قسمتی از متن که حاوی حقایق است در فاز اول از متون حاوی نظرات و عقاید مجزا شود. وینسنت و همکارانش در ابتدا، بخش‌هایی از اسناد که عقاید و نظرات را بیان می‌کردند را تشخیص داده، از متن جدا کرده‌اند. آنها با فیلتر کردن متون حاوی حقایق از متون احساسی توانستند برای خصیصه‌ها unigram و bigram نتایج بهتری را نسبت به pang و همکارانش بدست آورند. همچنین آنها نشان دادن خصیصه‌های N-gram n>1 قادرند وابستگی کلمات موجود در متن، را در مدلسازی وارد کنند بنابراین به دقت عملکرد الگوریتم یادگیری ماشین در جهت طبقه‌بندی متون کمک می‌کنند. در این تحقیق دقت حاصله از طبقه‌بندی اسناد با استفاده از خصیصه‌های unigram به میزان 87.1 درصد گزارش شده است. این میزان نسبت به نتیجه بهترین روش ارائه شده توسط pang و همکارانش 5 درصد بهبود یافته است. همچنین با استفاده از خصیصه‌های unigram+bigram+trigram (ترکیب هر سه نوع خصیصه) فرایند طبقه‌بندی اسناد را با دقت 89.2 درصد انجام داده‌اند. در این تحقیق به بررسی اثر گذاری خصیصه‌های N-gram پرداخته شده است وینسنت و همکارانش نشان دادند استفاده از خصیصه‌های bigram به همراه unigram باعث بهبود عملکرد طبقه‌بندی می‌شود. همچنین به این نتیجه دست یافتند که خصیصه‌های bigram به تنهایی بهبودی در طبقه‌بندی ایجاد نمی‌کنند، دلیل این موضوع نیز پراکندگی خصیصه‌های bigram است؛ برخلاف آنچه در [4] اعلام شده، که خصیصه‌های bigram ذاتا به بهبود طبقه‌بندی کمک نمی‌کنند. بنابراین چنانچه بتوانیم پراکندگی موجود در خصیصه‌های bigram را کاهش دهیم می‌توانیم دقت عملکرد این نوع خصیصه‌ها را بهبود دهیم.
در برخی از تحقیقات برای مدلسازی اسناد از خصیصه‌های N-POS12 استفاده شده‌است. فی و همکارانش در سال 2004 از خصیصه‌های 1-pos و 2-pos استفاده کرده‌اند و بهترین دقت حاصل از طبقه‌بندی در این تحقیق 86% بوده است [26]. آنها الگوهایی نحوی را ارائه دادند که اغلب متون جهت‌دار در این الگوها قرار می‌گیرند، مثلا یکی از الگوهای ارائه شده n+adj13 بوده است. ابتدا متن را برچسب گذاری کرده‌اند و الگوهای مورد نظر را از متن استخراج کرده‌اند. مدلی که در این روش ارائه شده همانند روش وینسنت و همکارانش سعی دارد در ابتدا متن را فیلتر کند و فقط متن جهت‌دار(متن حاوی نظرات مثبت یا منفی کاربران درباره یک موجودیت مشخص) را برای مرحله طبقه‌بندی و مدلسازی استفاده کند. اما مشکل این روش آن است که نمی‌توان برای همه حالت های متن جهت‌دار الگویی ارائه داد و همواره ممکن است متن خاصی با الگوهای ارائه شده سازگار نباشد. مدلسازی متن با استفاده از الگوهای N-POS حتی نسبت به مدل unigram دقت کمتری را برای طبقه‌بندی به همراه داشت. لذا روش مناسبی برای مدل‌سازی اسناد نیست.
گامن سال 2004 4 گروه خصیصه را مورد بررسی قرار داد. گروه اول خصیصه‌های N-gram از ترکیب خصیصه‌های unigram، bigram و trigram تشکیل شده‌اند. گروه دوم خصیصه‌های متشکل از ترکیب N-gram و 3-POS بوده‌اند. گروه سوم، خصیصه‌های مانند طول جمله، طول عبارات، تعداد کلمات بوده‌اند و گروه چهارم ترکیب سه گروه خصیصه ذکر شده بوده‌اند. تعداد خصیصه‌ها در این روش از 1000 تا 40000 خصیصه بوده‌اند. بهترین دقت حاصله برای طبقه‌بندی متون با استفاده از خصیصه‌های گروه چهارم بدست آمده است که نشان می‌دهد ترکیب خصیصه‌ها مدل بهتری از اسناد به منظور تحلیل احساس در متن را ارائه می‌دهد. در بهترین حالت دقت طبقه‌بندی 89 درصد گزارش شده است. در این تحقیق ترکیب‌های متفاوت از خصیصه‌ها مورد بررسی قرار گرفت و میزان اثر گذاری آنها بحث شده‌است [20].
مدل N-gram کاراکترها(N-char) توسط عباسی و همکارانش مورد استفاده قرار گرفت. مثلا مدل Bigram عبارت Like بصورت “li ik ke” خواهد بود [2]. در این مدل تعداد بسیار زیاد خصیصه‌ها مشکل‌ساز خواهد بود و استفاده از الگوریتم‌های انتخاب خصیصه به دلیل تعداد بسیار زیاد خصیصه‌ها ما را با مشکل پیچیدگی زمانی روبرو خواهد کرد. استفاده از خصیصه‌ها N-char همواره باعث افزونگی و افزایش تعداد خصیصه‌های غیر مفید می‌شود، به این دلیل که همپوشانی بسیاری زیادی در خصیصه‌های n-char وجود دارد.
تحقیقات اندکی از مدل POSWORD14 (برچسب نقش کلمه در سخن به همراه خود کلمه) استفاده کرده‌اند. ویب و همکارانش در سال 2004 . به منظور کاهش ابهام کلمات در فرایند تحلیل احساس از 3-POSWORD استفاده کرده‌اند. با توجه به اینکه خصیصه‌های POS-Tag به همراه خود کلمه می‌تواند باعث کاهش ابهام کلمات شود در نتیجه باعث بهبود دقت ارزیابی و طبقه‌بندی اسناد می‌شود [12]. مهمترین دلیل استفاده از 3-POSWORD وارد کردن وابستگی به متن در مدل مورد استفاده می‌باشد. لذا اگر بتوان مشکلات ناشی از پراکندگی و افزونگی را مدیریت کرد به نظر می‌رسد استفاده از خصیصه‌های N-gram n>1 به بهبود نتایج کمک زیادی کند.
جدول 2-1 مثالی برای هر یک از خصیصه‌های N-gram مطرح شده را نشان می‌دهد.
عباسی و همکارانش در سال 2011 مجموعه کاملی از خصیصه‌های N-gram که در کارهای پیشین استفاده شده بود را جمع آوری کرده و برای مدلسازی اسناد از آنها استفاده کردند [1]. این مجموعه خصیصه‌ها در جدول 2-2 بیان شده‌اند. آنها در این تحقیق با استفاده از طبقه بند SVM به دقت 90 درصد برای طبقه‌بندی مجموعه داده‌های بازبینی فیلم‌ها دست یافتند. مدل ارائه شده که در جدول 2-2 قابل مشاهده است، بسیاری از خصیصه‌ها همدیگر را پوشش می‌دهند لذا باعث تشدید افزونگی در مدل حاصله می‌شوند. هر گروه از این خصیصه‌ها دارای تعداد زیادی خصیصه‌های غیرمرتبط با تحلیل احساس موجود در متن هستند، استفاده همزمان از همه این خصیصه‌ها باعث افزایش چشم‌گیر خصیصه‌های غیر مرتبط در نتیجه کاهش اثر گذاری خصیصه‌های مرتبط با تحلیل احساس و در نهایت کاهش دقت طبقه‌بندی می‌شود. آنها برای حل این مشکل یک روش انتخاب خصیصه شبکه ارتباطی خصیصه15 را ارائه دادند، که پیچیدگی زمانی بالایی دارد. می‌توان با بهره گیری از خصیصه‌های مطلوب‌تر خصیصه‌های افزونه و خصیصه‌های غیر مرتبط را کاهش داد و برای تعیین سودمندی خصیصه‌ها از الگوریتم انتخاب خصیصه ساده‌تر با پیچیدگی زمانی کمتر بهره برد.
جمله مثال I go home.خصیصه‌های N-gramUnigramI, go, homeBigramI go, go homeTrigramI go homeخصیصه‌های N-POS1-posFW, VBP,NN2-posFW VBP,VBP NN3-posFW VBP NNخصیصه‌های 3-POSWORD3-POSWORDI/FW go/VBP home/NN
آگراوال و میتال سال 2013 تحقیقی را انجام داده‌اند [5] که در این تحقیق از روش‌های انتخاب خصیصه سودمندی اطلاعات و حداقل‌ افزونگی – حداکثر ‌وابستگی استفاده شده است، همچنین از خصیصه‌های Unigram و Bigram و گزیده‌ای از کلمه‌-‌‌POS در جهت مدل‌سازی متن بهره‌گرفتند. طبقه‌بندی در این تحقیق بر روی مجموعه داده بازبینی فیلم‌ها دقت بالاتری نسبت به روش ارائه شده توسط عباسی و همکارانش داشت. آنها نشان دادند که روش انتخاب خصیصه حداقل ‌افزونگی – حداکثر وابستگی عملکرد بهتری نسبت به سودمندی اطلاعات دارد. از جمله مشکلات روش ارائه شده توسط آگراوال و میتال مجموعه خصیصه‌های مورد استفاده آنها می‌باشد که در این رساله مجموعه خصیصه‌های مناسب‌تری برای تحلیل احساس موجود در متن ارائه می‌شود.
همانطور که در جدول 2-2 می‌بینید مجموعه خصیصه‌هایی N-gram که برای مدلسازی اسناد می‌توان از آنها بهره گرفت بسیار زیاد هستند؛ هر کدام از این مجموعه خصیصه‌ها خود با یک بردار با هزاران خصیصه اسناد را مدلسازی می‌کنند، بسیاری از این خصیصه‌ها افزونه و یا با تحلیل احساس غیر مرتبط هستند. برای دستیابی به دقت و سرعت بالاتر در عملیات طبقه‌بندی بهتر است از یک الگوریتم انتخاب خصیصه بهره بگیریم تا بتوانیم سودمندترین خصیصه‌ها را از میان هزاران خصیصه استخراج کنیم و عملیات طبقه‌بندی و تحلیل احساس را با سرعت و دقت بیشتری انجام دهیم.
سی و گوپتا در سال 2013 مقاله‌‌ای را ارائه کرده‌اند، آنها بجای استفاده از روش‌های انتخاب خصیصه پیچیده تلاش کرده‌اند ترکیب مناسبی از خصیصه‌ها را جهت دستیابی به دقت بالاتر در عملیات طبقه‌بندی، بیابند. همچنین برای کاهش دادن اندازه بردار خصیصه و حذف خصیصه‌های غیر مرتبط از sentiwordnet استفاده کرده‌اند. مجموعه داده این تحقیق اندازه کوچکتری نسبت به مجموعه داده مورد بررسی در سایر تحقیقات ذکر شده داشته است[7]. در تحقیق مذکور با فیلتر کردن خصیصه‌هایی که وزن مثبت یا منفی آنها (وزن هر کلمه همان مقداری بین 0 و 1 است که از Sentiwordnetاستخراج شده است) کمتر از 0.5 بود، تعداد خصیصه‌ها را کاهش داده‌اند. ویژگی این روش استفاده از ترکیب های ساده و متفاوت، همچنین کاهش تعداد خصیصه‌ها با استفاده از Sentiwordnet است. مشکل اصلی این روش مجموعه داده مورد استفاده در آن است؛ این مجموعه داده قابلیت نشان دادن پایداری روش را ندارد.
فاز اول تحلیل احساس ارائه مدل مناسبی برای اسناد است. در رساله جاری از سه کار [1]، [7] و [5] برای مدل‌سازی اسناد الهام گرفته شده است. تحقیق [1] مدلی جامع از خصیصه‌های N-gram ارائه داده است، ولی تعداد مجموعه خصیصه‌های آن زیاد است، افزایش خصیصه‌ها در بردار خصیصه‌ها، باعث افزایش خصیصه‌های افزونه و غیر مفید خواهد شد. وجود خصیصه‌ی غیر مفید یا افزونه در بردار خصیصه‌های حاصل از مدلسازی اسناد باعث می‌شود، اثرگذاری سایر خصیصه‌های سودمند و مرتبط با تحلیل احساس کاهش یابد لذا به همان نسبت دقت طبقه‌بندی نیز کاهش می‌یابد، همچنین باعث افزایش حجم بردار خصیصه خواهد شد در نتیجه ما را با مشکل حافظه مواجه خواهد کرد و سرعت طبقه‌بندی را به شدت کاهش می‌دهد. تعداد زیاد خصیصه‌ها، ما را در استفاده از الگوریتم انتخاب خصیصه محدود می‌کند. در این رساله تلاش بر آن بوده مجموعه کاهش یافته‌ای از خصیصه‌ها را برای مدل‌سازی اسناد برگزینیم، به گونه‌ای که مدل مناسبی از اسناد را برای تحلیل احساس ارائه دهند. تحقیق [5] مدلی ترکیبی از خصیصه‌ها n-gram را را ارائه داده است و این مدل را روی 4 مجموعه داده تست کرده‌ تا پایداری روش پیشنهادی خود را بررسی کنند. مجموعه خصیصه‌های مورد استفاده در تحقیق مذکور عبارت بودند از: 1- خصیصه‌های unigram 2- خصیصه‌های bigram 3- ترکیب این دو مجموعه خصیصه‌ها.
الف- خصیصه‌های unigram: در ابتدا بردار خصیصه‌های unigram را از متن استخراج کرده‌اند سپس مدل حاصل را با استفاده از الگوریتم‌های یادگیری ماشین طبقه‌بندی کرده‌اند؛ در این روش آنها به دقت طبقه‌بندی 82.7% در مجموعه داده بازبینی فیلم ها دست یافتند. حالت دوم با الگوریتم انتخاب خصیصه حداقل افزونگی – حداکثر وابستگی خصیصه‌های غیرسودمند را از مدل حاصل در مرحله قبل فیلتر کرده‌اند؛ در این حالت به حداکثر دقت 89.2% دست یافتند.
ب- خصیصه‌های bigram: این مجموعه خصیصه بدون اعمال الگوریتم انتخاب خصیصه‌ای از متن استخراج شده‌اند و دقت بدست آمده از طبقه‌بندی 79.2% برای مجموعه داده بازبینی فیلم‌ها بوده است. در حالت دوم با اعمال الگوریتم انتخاب حداقل افزونگی – حداکثر وابستگی به حداکثر دقت 81.1% دست یافتند.
ج- ترکیب خصیصه‌های unigram و bigram: این مجموعه خصیصه بدون هیچ گونه انتخاب خصیصه‌ای از متن استخراج شده‌اند در این روش آنها توانستند مجموعه داده بازبینی فیلم‌ها را با دقت 87.0% طبقه‌بندی کنند. در روش دوم با الگوریتم انتخاب خصیصه حداقل افزونگی – حداکثر وابستگی به حداکثر دقت 91.1% دست یافتند و با اعمال الگوریتم انتخاب خصیصه سودمندی اطلاعات به دقت طبقه‌بندی 90.1% دست یافتند.
نتایج بالا نشان از عملکرد مطلوب خصیصه‌های unigram و سودمند نبودن خصیصه‌های bigram دارد، و تصدیق کننده نتایجی است که سال 2002 pang و همکارانش به آن دست یافتند، به این دلیل که آگراوال و میتال به پراکندگی و نرمالسازی خصیصه‌های bigram هیچ توجهی نکرده‌اند. آنها تلاش کرده‌اند تعداد خصیصه‌ها را کاهش دهند در صورتی که میتوان



قیمت: تومان

دسته بندی : پایان نامه ها

دیدگاهتان را بنویسید