SWNPos(good_JJ)=13.5
SWNNeg(good_JJ)=0.125
|Synset|=21
SWNPD(go_V)=0.01666
SWNPos(go_V)=0.5
SWNNeg(go_V)=0.0
|Synset|=30
همانطور که در جدول ۳-۳ میبینیم، تفاضل نسبی پلاریته کلمات Good_JJ (کلمه good با برچسب ادات سخن صفت) ۰٫۶۳۶۹ و تفاضل نسبی پلاریته Well_JJ 0.83 میباشد؛ لذا این دو کلمه برای تحلیل احساس در متن نسبت به کلمه GO_V با تفاضل پلاریتی نسبی ۰٫۰۱۶۶۶ مفیدتر واقع خواهند شد. بنابراین بهتر است کلمه GO_V را فیلتر کنیم.
خروجی مرحله قبل مجموعه فایلها حاوی خصیصههای استخراج شده از اسناد است. در این مرحله خصیصههای هر سند خوانده شده، تفاضل پلاریتی نسبی آنها محاسبه شده و در صورتی که این مقدار از آستانه مورد نظر کمتر باشد خصیصه حذف خواهدشد. این عملیات توسط الگوریتم Polarity_Filter به انجام میرسد.
Algorithm 3 Polarity_Filter
Input: D set of document
Output: D set of document
foreach ( di IN D )
foreach ( feature fj IN di.features )
SWNPD ( fj ) = (Posscr ( fj ) – Negscr ( fj )) / (Posscr ( fj ) + Negscr ( fj ))
If ( SWNPD ( fj ) < threshold )
Remove ( di , fj ) // Remove token fj from document di
شبه کد این مرحله از فرایند تحلیل احساس را در Algorithm 3 ذکر کردهایم. با استفاده Polarity_Filter بسیاری از خصیصههای غیر مرتبط حذف میشوند. در ادامه خصیصههای باقی مانده را با هم ترکیب میکنیم و بردار خصیصه مطلوب را تشکیل میدهیم. تحقیقات پیشین ثابت کردهاند استفاده از حضور خصیصه بجای فرکانس خصیصه در بردار خصیصه باعث بهتر شدن دقت طبقهبندی میشود[۴]، لذا ما نیز از حضور خصیصه برای نمایش بردار خصیصه استفاده کردهایم.
اکنون بردار خصیصهها در دسترس میباشد، اسناد نیز به توکنهای تجزیه شدهاند. با بهره گرفتن از الگوریتم Documents_To_model، اسناد را به فایل خروجی مناسب برای استفاده در نرم افزار weka تبدیل میکنیم. فایل مدل ایجاد شده حاوی بردار خصیصهها برای همه اسناد می باشد. این مجموعه بردارهای خصیصه در مرحله بعد فرایند انتخاب خصیصهها بر آنها اعمال می شود سپس برای طبقه بندی به نرم افزار weka داده میشوند. همانطور که قبلا گفتیم برای طبقهبندی دادهها از الگوریتمهای یادگیری ماشین SVM و BMNB و با تنظیمات پیش فرض نرمافزار استفاده میکنیم.
- تعمیم روش اول برای اعمال به مجموعه داده های زبان فارسی
امروز صفحات وب شامل هزاران یادداشت از کاربران درباره موضوعات متفاوت میباشند، این یادداشتها (Comments) حاوی نظرات، عقاید، ارزیابی آنها پیرامون یک کالا یا خدمات خاص هستند. دانشی که از این یادداشتها بدست میآید، برای شرکتهای سازنده و همچنین سازمانهای ارائه کننده خدمات بسیار مفید و گاهی ضروری خواهند بود، مانند یک شرکت سازنده دستگاه تلفن همراه که از یادداشتهای کاربران برای رفع عیب محصولات خود و همچنین ارتقای کیفیت آنها استفاده میکند.
حجم زیاد دادهها و متناقض بودن محتوای بعضی از آنها، یکی از چالشهای مهم در تحلیل احساس میباشد، مثلا روزانه ۳۰۰۰۰۰ پیام در صفحه توییتر جاستین بیبر ثبت می شود ]۱۵[. فرایند تحلیل احساسکه از آن با نام تحلیل عقاید نیز یاد میشود، بخشی از مطالعات تحقیقی هست که عقاید، احساسات، ارزیابیها، برآوردها و گرایشها انسانها را درباره یک موجودیت مانند محصولات، خدمات، سازمانها، اشخاص، رویدادها، موضوعات و همچنین خصیصههای آنها را مورد بررسی و مطالعه قرار میدهد.
پرشیا (Persian) یکی از زبانهای هندی - ایرانی از مجموعه زبانهای هندی-اروپایی است، نام محلی آن در ایران فارسی(farsi) است. هم اکنون تقریبا ۱۱۰ میلیون نفر در دنیا به زبان فارسی سخن میگویند. این زبان در ایران افغانستان و بخشهایی از تاجیکستان مورد استفاده قرار میگیرد.
قبل از سال ۲۰۰۰ به دلیل کمبود منابع دادهای، تحقیقات اندکی در زمینه تحلیل احساس به انجام رسیده است، پس از سال ۲۰۰۰ با فراگیر شدن اینترنت و شبکههای اجتماعی و پدیدار شدن حجم زیاد دادهها یکی از زمینههای فعال در پردازش زبان طبیعی به شمار میآید. نظرات کاربران در صفحات وب سایتهای فارسی نیز روزبروز افزایش یافته، به نحوی که امروزه با حجم زیادی از متون حاوی نظرات کاربران درباره دستگاههای موبایل، وسایل الکترونیکی موضوعات سیاسی مواجه هستیم. تا کنون تحقیقات فراوانی به منظور تحلیل احساس در زبانهای انگلیسی، چینی، عربی و روسی انجام شده است. به دلایلی مانند کمبود منابع دادهای و همچنین پیچیدگیهای ذاتی زبان فارسی کارهای تحقیقی اندکی به منظور تحلیل احساس در زبان فارسی انجام شده است.
در این بخش از تحقیق به بررسی چالشهای مطرح در پردازش زبان فارسی خواهیم پرداخت، برای مدلسازی متن فارسی از مجموعه خصیصههای N-WORD و N-POSWORD استفاده میکنیم. مجموعه دادههای متنی موجود در ابتدا با پیشپردازشهایی به متون نرمال و قابل پردازش تبدیل شدهاند، سپس خصیصهها را از متون استخراج کرده مدل مناسبی از متون را ایجاد میکنیم. یکی از فرایندهای مهم در تحلیل احساس انتخاب خصیصههای سودمند و دور ریختن خصیصههای افزونه و غیر مفید است، در این تحقیق نیز با بهره گرفتن از روش نرخ سودمندی اطلاعات به این هدف دست خواهیم یافت.
شمای کلی روش پیشنهادی در شکل (۱) قابل مشاهده است. همانطور که قبلا بیان کردیم در تحقیق جاری برداری از خصیصههای مهم و تاثیرگذار در تحلیل احساس و همچنین ترکیب مناسبی از آنها را ارائه دهیم. از جمله مشکلات مطرح در پردازش زبان فارسی عدم وجود ابزارهای لازم برای ریشهیابی، برچسبگذاری POS کلمات و انتخاب خصیصههای سودمند است البته برای بعضی کاربردها ابزارهای وجود دارد، ولی این ابزارها از دقت کافی برخوردار نیستند. پیچیدگیهایی در ساختار زبان فارسی وجود دارد که فرایند پردازش و تحلیل ماشینی زبان فارسی را نسبت به زبان انگلیسی سختتر میکند، از جمله این مشکلات میتوان به پیشوند و پسوندهای متفاوت کلمات، فاصله و نیم فاصله بین کلمات اشاره کرد. کلماتی مانند “میپسندم” دارای پیشوند “می” و کلمه “دوستان” دارای پسوند “ان” است. بسیاری از کلمات فارسی در کاربردهای متفاوت با پیشوندها و پسوندهایی همراه میشوند، این امر باعث افزایش چشمگیر تعداد خصیصهها و همچنین افزایش پراکندگی آنها میشود، مثلا کلمات “میپسندم"، “پسندید"، “میپسندند” هر کدام یک خصیصه خواهند بود، در صورتی که بهتر است همه آنها را به عنوان یک خصیصه “پسندیدن” در نظر گرفت. یکی از چالشهای موجود در پردازش ماشینی زبان فارسی، فاصله بین کلمات در متون فارسی بوده است، به عنوان مثال “لذتبخش” در عبارت “مشاهده صفحه نمایش گوشی در زیر آفتاب هم برای شما لذتبخش خواهد بود” یک کلمه مرکب بوده که “لذت” و “بخش” با بهره گرفتن از نیم فاصله از هم جدا میشوند. اگر دو بخش “لذت” و “بخش” مانند “لذت بخش” با یک فاصله از هم جدا شوند دو نشانه مجزا خواهند بود. برای تشخیص کلمات و استخراج نشانههای متن مهمترین جداکننده نشانهها و اصطلاحات، فاصله بین آنها است. لذا باید قبل از انجام پردازشهای لازم برای تحلیل احساس، این فاصلهها را در حد امکان تنظیم کنیم. بازبینیهایی کاربران، مانند عبارت “عدم وجود دقت کافی در دوربین” ، غالبا از قوانین گرامری و نحوی زبان فارسی پیروی نمیکنند. علاوه بر اینکه در نوشتار امکان استفاده از کلمات عامیانه وجود دارد، این کلمات خود نیز در بازبینیهای کاربران متفاوت میتوانند قالب نوشتاری متفاوت داشته باشند. قالب نوشتاری متفاوت کلمات عامیانه باعث افزایش پراکندگی خصیصهها و همچنین کاهش دقت طبقهبندی میشود، به عنوان مثال عبارات “عالیه"، “عالللللییییییه” و ” عالی هس” همه یک مفهوم را بیان میکنند. به منظور حل کردن چالشهای مطرح شده، عملیات پیشپردازش بر روی متن انجام داده شده است. فرایند پیشپردازش بعضی کلمات و عبارات را به قالب نرمال و صحیح نحوی و گرامری تبدیل میکند.
در فرایند پیش پردازش کلمات عامیانه به شکل اصلیشان تبدیل میشوند، فاصلههای بین کلمات تنظیم میشود به گونهای که بتوان متن را به درستی به نشانههای سازندهاش تجزیه کرد. جدول (۱) تعدادی از عبارات حاوی کلمات عامیانه و فاصلههای نامنظم بین کلمات، همچنین اصلاح شده این عبارات پس از انجام پیشپردازشها را نشان میدهد.