پروژه های پژوهشی دانشگاه ها درباره ارائه یک مدل مبتنی بر خصیصه جهت تحلیل احساس موجود در ... |
Input: D set of document, FeatuerVector
Output: OutputFile model file
foreach ( di IN D )
foreach ( token tj IN di.tokens )
If ( FeatureVector.Contain(tj) )
OutputFile.Add( tj )
Else{
SynSet=WordNet.GetSynSet( tj )
For sk IN SynSet
If ( FeatureVector.Contain( s k) )
{
OutputFile.Add( sk )
Break
}
}
شکل ۳-۶ شمای کلی روش پیشنهادی دوم. در این روش الگوریتم Polarity_Filter حذف شده و تغییراتی در Documents_To_Model ایجاد شده است. و الگوریتم Document_To_model2 ارائه شده است.
در روش دوم برای کاهش پیچیدگی زمانی از الگوریتم Polarity_Filter (این الگوریتم در روش سوم بطور کامل شرح داده شده است) استفاده نکرده ایم. و الگوریتم Polarity_Filter تنها برای مجموعه داده بازبینی فیلمها استفاده شده است. مجموعه داده بازبینی فیلمهای شامل ۱۰۰۰ سند در طبقه بازبینیها با نظرات مثبت و ۱۰۰۰ سند در طبقه بازبینی با نظرات منفی است. این مجموعه از سایر مجموعههای مورد استفاده حجم بیشتری دارد، تعداد توکنهای این مجموعه بالغ بر ۱۰۰۰۰۰ توکن میباشد، پس از انجام پیش پردازشها تعداد توکنهای به ۶۰۰۰۰ توکن کاهش مییابد؛ این حجم از توکنهای برای پردازش در مراحل بعدی بسیار زیاد و زمانبر است، لذا برای کاهش تعداد توکنهای مجموعه داده بازبینی فیلمها از Polarity_Filter استفاده کردیم. بدین ترتیب تعداد خصیصهها به کمتر از ۴۰۰۰۰ هزار خصیصه کاهش یافت.
الگوریتم Document_To_model2 تغییر یافته الگوریتم Document_To_model است. الگوریتم Document_To_model به نحوی تغییر یافته تا قادر باشد پراکندگی خصیصهها را کاهش دهد. الگوریتم Document_To_model2 به این شکل عمل میکند که اگر توکن مورد نظر در بردار خصیصهها وجود داشته باشد: مانند Document_To_model توکن مورد نظر را به فایل مدل اضافه میکند ولی چنانچه توکن مورد نظر در بردار خصیصه وجود نداشته باشد: همه کلمات هم معنای کلمه مورد نظر را با بهره گرفتن از کتابخانه JWNL از Wordnet استخراج میکند، سپس به ترتیب بررسی میکند، اگر یکی از کلمات هم معنا با توکن مورد نظر در بردار خصیصهها وجود داشته باشد، بجای توکن مورد نظر کلمه هم معنای آن را به فایل مدل اضافه میکند.
در پایان الگوریتم انتخاب خصیصه نرخ سودمندی اطلاعات را بر مدل حاصله از پردازشهای مراحل قبل اعمال میکنیم. الگوریتم نرخ سودمندی اطلاعات بر اساس ارزش خصیصهها به هر کدام رتبه میدهد. خصیصههای با نرخ سودمندی اطلاعات بیشتر انتخاب میشوند و برای طبقهبندی به نرم افزار weka داده میشوند.
روش پیشنهادی سوم
از جمله مشکلات روش اول و دوم تعداد خصیصههای آنها میباشد. با ترکیب این مجموعه خصیصهها به تعداد خصیصههای موجود در بردار خصیصه نیز افزایش خواهد یافت. در ادامه قصد داریم روش سوم را ارائه دهیم در این روش هدف کاهش تعداد خصیصههای بردار خصیصه است. بنابر نظریه اولیه که در این رساله ارائه شده است میتوان با بهره گرفتن از فیلترینگ چند مرحله تعداد خصیصهها را کاهش داد. شماتیک کلی روش سوم در شکل ۳-۷ نشان داده شده است. این روش مراحل مشترک زیادی با روش اول دارد. لذا در ادامه تنها مراحل اضافه شده را توضیح خواهیم داد.
شکل ۳-۷ شمای کلی روش سوم. این روش در واقع همان روش اول است فقط مرحله Polarity_Filter به آن اضافه شده است. هدف از این کار کاهش تعداد خصیصههای بردار خصیصه است.
استخراج پلاریته کلمات و فیلتر بردار خصیصه
همانطور که در بخشهای قبل بیان کردیم، Sentiwordnet برای هر کلمه یک وزن مثبت و یک وزن منفی را در نظر میگیرد. در این مرحله با داشتن برچسب ادات سخن مربوط به هر کلمه میتوان وزن مثبت و منفی کلمه را از Sentiwordnet استخراج کرد. وزن مثبت و منفی کلمات با بهره گرفتن از فرمول ۳-۱ محاسبه میشود.
۳-۱
۳- ۲
داشتن وزن مثبت و منفی کلمات به تنهایی نمیتواند اطلاعات مفیدی را در اختیار ما قرار دهد. ما در این مرحله قصد داریم اطلاعاتی را استخراج کنیم تا با بهره گرفتن از آن خصیصههای غیر مفید را فیلتر کنیم. مثلا اگر یک سند کلمه ای با وزن مثبت ۰٫۵ و وزن منفی ۰٫۵ را حاوی باشد؛ آیا میتوان گفت سند نظر مثبتی را بیان میکند یا نظر منفی؟ قطعا نمیتوان تشخیص داد. ولی اگر کلمه مدل کننده سند، وزن مثبت ۰٫۷۰ و وزن منفی ۰٫۰۲۰ را داشته باشد قطعا ما را به این نتیجه رهنون میکند که سند مذکور میتواند حاوی نظر مثبتی باشد. بنابراین بجای نمره مثبت یا منفی کلمات بهتر است از تفاصل نسبی پلاریتی (فرمول ۳-۳) برای رتبه دهی به خصیصهها استفاده کنیم.
۳-۳
جدول ۳-۳ تفاصل نسبی پلاریتی برای تعدادی از کلمات مهم و پر استفاده را نشان میدهد.
جدول ۳-۳ محاسبه تفاضل نسبی پلاریتی کلمات: وزن مثبت و منفی تعدادی از کلمات مهم و تفاصل نسبی پلاریتی آنها . این مقادیر با بهره گرفتن از Sentiwordnet محاسبه شده است.
SWNPD(well_JJ)=0.83
SWNPos(well_JJ) =2.5
SWNNeg(well_JJ)=0.0
|Synset|=3
SWNPD(good_JJ)=0.6369
فرم در حال بارگذاری ...
[یکشنبه 1400-08-02] [ 05:51:00 ق.ظ ]
|