جدول ۴-۵ تعداد کل خصیصه ها بدون اعمال الگوریتم انتخاب خصیصه ۵۳
جدول ۴-۶ مقایسه نتایج روش پیشنهادی با روش ارائه شده توسط عباسی و همکارانش ۵۴
جدول ۴-۷ مقایسه نتایج روش پیشنهادی با روش ارائه شده توسط آگاروال و میتال. ۵۴
جدول۴-۸- نتایج طبقهبندی متون فارسی ۵۷
فصل اول پیشگفتار
مقدمه
برخی نویسندگان داده کاوی را به عنوان ابزاری برای جستجو کردن اطلاعات سودمند در حجم زیادی از داده ها تعریف می کنند. برای انجام فرایند داده کاوی با زمینه های گوناگون تحقیقی مواجه میشویم، مانند پایگاه داده، یادگیری ماشین و آمار. پایگاه دادهها برای تحلیل کردن حجم زیادی از دادهها ضروری هستند. یادگیری ماشین، یک ناحیه هوش مصنوعی است که با ایجاد تکنیکهایی امکان یادگیری به وسیله تحلیل مجموعههای دادهای را به کامپیوترها میدهند. تمرکز این روشها روی داده سمبولیک است و با آنالیز دادههای تجربی سر و کار دارد. پایه آن تئوری آماری است. در این تئوری عدم قطعیت و شانس به وسیله تئوری احتمال مدل میشوند. امروزه بسیاری از روشهای آماری در زمینه داده کاوی استفاده میشوند. میتوان گفت که متن کاوی از تکنیکهای بازیابی اطلاعات، استخراج اطلاعات همچنین پردازش کردن زبان طبیعی استفاده میکند و آنها را به الگوریتمها و متدهای داده کاوی، یادگیری ماشین و آماری مرتبط میکند. با توجه به ناحیههای تحقیق گوناگون، بر هر یک از آنها میتوان تعاریف مختلفی از متن کاوی در نظر گرفت در ادامه برخی از این تعاریف بیان میشوند:
متن کاوی = استخراج اطلاعات: در این تعریف متن کاوی متناظر با استخراج اطلاعات در نظر گرفته میشود (استخراج واقعیتها از متن).
متن کاوی = کشف داده متنی: متن کاوی را میتوان به عنوان متدها و الگوریتمهایی از فیلدهای یادگیری ماشین و آماری برای متنها با هدف پیدا کردن الگوهای مفید در نظر گرفت. برای این هدف پیش پردازش کردن متون ضروری است. در بسیاری از روشها، متدهای استخراج اطلاعات، پردازش کردن زبان طبیعی یا برخی پیش پردازشهای ساده برای استخراج داده از متون استفاده میشود، سپس میتوان الگوریتمهای داده کاوی را بر روی دادههای استخراج شده اعمال کرد.
متن کاوی = فرایند استخراج دانش: که در بخش قبلی به طور کامل توضیح داده شده است و در اینجا دیگر بیان نمیشود. در این تحقیق ما بیشتر متن کاوی را به عنوان کشف داده متنی در نظر میگیریم و بیشتر بر روی روشهای استخراج الگوهای مفید از متن برای دستهبندی مجموعه های متنی یا استخراج اطلاعات مفید، تمرکز میکنیم.
در دنیای کنونی مشکل کمبود اطلاعات نیست، بلکه مشکل کمبود دانشی است که از این اطلاعات می توان بدست آورد. میلیونها صفحه ی وب، میلیونها کلمه در کتابخانههای دیجیتال و هزاران صفحه اطلاعات در هر شرکت، تنها چند دست از این منابع اطلاعاتی هستند. اما نمیتوان به طور مشخص منبعی از دانش را در این بین معرفی کرد. دانش خلاصهی اطلاعات است و نیز نتیجه گیری و حاصل فکر و تحلیل بر روی اطلاعات.
داده کاوی، یک روش بسیار کارا برای کشف اطلاعات از دادههای ساختیافتهای که در جداول نگهداری میشوند، است. داده کاوی، الگوها را از تراکنشها، استخراج میکند، داده را گروهبندی میکند و نیز آنرا دستهبندی میکند. بوسیلهی داده کاوی میتوانیم به روابط میان اقلام دادهای که پایگاه داده را پر کردهاند، پی ببریم. در عین حال ما با داده کاوی مشکلی داریم و آن عدم وجود عامیت در کاربرد آن است. بیشتر دانش ما اگر به صورت غیر دیجیتال نباشند، کاملاً غیر ساختیافته اند. کتابخانههای دیجیتال، اخبار، کتابهای الکترونیکی، بسیاری از مدارک مالی، مقالات علمی و تقریباً هر چیزی که شما میتوانید در داخل وب بیابید، ساختیافته نیستند. در نتیجه ما نمیتوانیم آموزههای داده کاوی را در مورد آنها به طور مستقیم استفاده کنیم. با این حال، سه روش اساسی در مواجهه با این حجم وسیع از اطلاعات غیر ساختیافته وجود دارد که عبارتند از: بازیابی اطلاعات، استخراج اطلاعات و پردازش زبان طبیعی.
بازیابی اطلاعات: اصولاً مرتبط است با بازیابی مستندات و مدارک. کار معمول دربازیابی اطلاعات این است که با توجه به نیاز مطرح شده از سوی کاربر، مرتبط ترین متون و مستندات و یا در واقع بقچهی کلمه را ازمیان دیگر مستندات یک مجموعه بیرون بکشد. این یافتن دانش نیست بلکه تنها آن بقچهای از کلمات را که به نظرش مرتبطتر به نیاز اطلاعاتی جستجوگر است را به او تحویل میدهد. این روش به واقع دانش و حتی اطلاعاتی را برایمان به ارمغان نمیآورد.
پردازش زبان طبیعی: هدف کلی پردازش زبان طبیعی رسیدن به یک درک بهتر از زبان طبیعی توسط کامپیوترهاست. تکنیکهای مستحکم و سادهای برای پردازش کردن سریع متن به کار میروند. همچنین از تکنیکهای آنالیز زبان شناسی نیز برای پردازش کردن متن استفاده میشود.
استخراج اطلاعات: هدف روشهای استخراج اطلاعات، استخراج اطلاعات خاص از سندهای متنی است. استخراج اطلاعات میتواند به عنوان یک فاز پیش پردازش در متنکاوی بکار برود. استخراج اطلاعات عبارتند از نگاشت کردن متنهای زبان طبیعی (مثلا گزارشها، مقالات journal، روزنامهها، ایمیلها، صفحات وب، هر پایگاه داده متنی و…..) به یک نمایش ساختیافته و از پیش تعریف شده یا قالبهایی که وقتی پر میشوند، منتخبی از اطلاعات کلیدی از متن اصلی را نشان میدهند. یکبار اطلاعات استخراج شده و سپس اطلاعات میتوانند در پایگاه داده برای استفادههای آینده، ذخیره شوند.
-
- کاربردهای متن کاوی
در این قسمت تعدادی از کاربردهای متنکاوری را بیان خواهیم کرد. امروزه با وجود حجم زیادی از اطلاعات متنی، متنکاوی از جمله روش های تحقیقی-تجاری میباشد که از اهمیت ویژهای برخوردار است. همه شرکتهای تجاری، تولید کنندگان کالاها، ارائه کنندگان خدمات و سیاستمداران قادرند با بهرهگیری از فرایند متنکاوی دانش مفیدی را به عنوان بازخورد از کالا، خدمات و عملکرد خود دریافت کنند. از جمله کاربردهای متن کاوی میتوان به موارد زیر اشاره نمود:
۱٫شناساییspam: آنالیز کردن عنوان و محتوای یک ایمیل دریافتی، برای تشخیص اینکه آیا ایمیل میتواند spam باشد یاخیر.
۲ .نظارت :یعنی نظارت کردن رفتار شخص یا گروهی از انسانها به صورت پنهان. پروژهای به نام ENCODA تلفن، اینترنت و دیگر وسایل ارتباطی را برای شناسایی تروریسم نظارت میکند.
- شناسایی نامهای مستعار: نامهای مستعار در مراقبتهای پزشکی برای شناسایی تقلبها آنالیز میشوند. برای مثال یک صورت حساب ممکن هست با نام John Smith، J. Smith و Smith, John ارائه شود. از این طریق یا با بهره گرفتن از روشهای دیگری مطالبه کنندگان امکان سوءاستفاده را خواهند یافت و مطالبات حق بیمه زیادی تحت نامهای مستعار مختلف دریافت میکنند. استفاده از متنکاوی برای تشخیص این نامهای مستعار میتواند در یافتن تقلب به شرکتهای بیمه کمک فراوانی کند.
۴٫خلاصه سازی: منظور از خلاصه سازی، روند استخراج و ارائه مجموعهای مفاهیم پایهای از متن، تنها در چند خط است. این کار میتواند بررسی محتویات مستندات را برای کاربران سادهتر کند و آنها را در مسیر رسیدن به آنچه نیاز دارند، سرعت بخشد.
- روابط میان مفاهیم: از جمله واقعیتهایی که می توان از یک مجموعه متون دریافت، ارتباط و وابستگی برخی مفاهیم با مفاهیم دیگراست. این واقعیات به طور مثال میتواند بگوید که پدیدار شدن بعضی کلمات ممکن است که وابسته باشد به ظاهر شدن بعضی دیگر از کلمات. منظور این است که هرگاه مجموعه ی اول کلمات را ببینیم، میتوانیم انتظار داشته باشیم که مجموعهی دوم لغات را نیز در ادامه مشاهده خواهیم کرد. این مفهوم نیز از داده کاوی در دیتابیس به امانت گرفته شده است.
- یافتن وتحلیل رفتارها: برای شرح این کاربرد فرض کنید که مدیر یک کمپانی تجاری هستید. مشخصاً شما باید همواره بر فعالیتهای رقیبانتان نظارت داشته باشید. این میتواند هر نوع اطلاعاتی باشد که شما از اخبار، معاملات بورس و یا از مستندات تولید شده توسط همان کمپانی رقیب گرفتهاید. امروزه اطلاعات به طور فزآیندهای در حال افزایش است، مدیریت تمامی این منابع دادهای قطعاً تنها به کمک چشمان ممکن نیست. متنکاوی این امکان را میدهد که به طور اتوماتیک رفتارها و تغییرات جدید را بیابید. در واقع آنچه اصولاً باید از متنکاوی انتظار برود این است که به شما بگوید چه اخباری در میان گسترهای از اخبار به آنچه می خواهید مرتبط است و در این میان کدام خبر جدیداست، چه پیشرفتهایی در زمینهی کاری شما صورت می گیرد و علایق و رفتارهای فعلی چگونه است و با چه روندی تغییر میکند. با بهره گرفتن از این اطلاعات، مدیران قادرند از اطلاعات کشف شده برای بررسی وضعیت رقیب سود جویند.
- تحلیل احساس : در این کاربرد هدف از متن کاوی تشخیص احساس نویسنده متن است. درجه رضایت یا خوشحالی و ناراحتی نویسنده تشخیص داده میشود. این رساله به بررسی متن کاوی به منظور تحلیل احساس موجود در متون خواهد پرداخت، لذا در ادامه با جزئیات بیشتری تحلیل احساس در متون را بررسی خواهیم کرد.
همه اطلاعات متنی را میتوان به دو دسته:حقایق[۱] و عقاید[۲] دسته بندی کرد. حقایق عبارات علمی و عملی درباره موجودیتها، رویدادها و ویژگیهای آنها هستند که بصورت عینی و واقعی در دنیای بیرون وجود دارند یا به وقوع پیوستهاند. عقاید عبارات غیر عینی و ذهنی هستند که نظرات، ارزیابیها یا احساسات افراد را درباره یک موجودیت، رویداد و ویژگیهای آنها بیان میکنند [۲۳]. شکل ۱-۱ مثالی را برای هر کدام بیان میکند. در این رساله تنها به یک جنبه از این مفهوم یعنی احساسات خواهیم پرداخت.
[Sentimental ]
[ Factual ]
[Sentimental ]
The movie
was fabulous!
The movie
stars Mr. X
The movie
was horrible!
شکل ۱-۱ دسته بندی متون : متون به دو دسته حقایق و عقاید تقسیم میشوند. حقایق یک واقعیت که بصورت علمیو عملی در دنیای خارج وجود دارد را بیان میکنند(Factual). عقاید نظر، احساس یا عقیده کاربر را درباره موجودیت بیان میکنند(Sentimental).
قبل از سال ۲۰۰۰ به دلیل کمبود منابع دادهای و کمبود متون حاوی نظرات و عقاید در تارنمای گسترده جهانی[۳] تحقیقات اندکی در این زمینه به انجام رسیده است. امروزه با گسترش اینترنت و همهگیر شدن شبکههای اجتماعی، کاربران میتوانند نظرات خود درباره محصولات یا خدمات را در سایتهای تجاری، شبکههای اجتماعی، وبلاگها بیان کنند؛ صفحات وب متون زیادی را در بر دارند که مشتمل بر نظرات، عقاید، ارزیابی کاربران پیرامون یک کالا یا خدمات خاص هستند. اطلاعاتی که از این نوع دادهها قابل دستیابی است، برای شرکتهای سازنده و همچنین سازمانهای ارائه کننده خدمات بسیار مفید و گاهی ضروری خواهند بود. همچنین برای کاربرانی که قصد انتخاب خدمات یا یک نوع کالا را دارند راهنمایی مفیدی را ارائه میدهند. شخصی را در نظر بگیرید که قصد دارد موبایل یا دوربین دیجیتالی بخرد، برای آگاهی از کیفیت دوربین و مطلوبیت خدمات شرکت سازنده بدون شک به پرسش و جمع آوری اطلاعات از اطرافیان روی خواهد آورد، ولی امروزه با رشد اینترنت میتوان بصورت آنلاین نظرات و تجربیات صدها نفر را درباره یک کالای خاص مطالعه کرد و برای تصمیم گیری از آنها مدد گرفت.
امروزه تعدد و گوناگونی منابع اینترنتی حاوی نظرات و احساسات کاربران به حدی زیاد شده است که یافتن و ارزیابی آنها کار بسیار پیچدهای است. در بسیاری موارد نظرات و عقاید کاربر در یک پست طولانی پنهان شده است. برای استخراج نظرات و عقاید درباره یک موجودیت باید در ابتدا منابع اینترنتی مرتبط با آن را یافت سپس متن مورد نظر خوانده شود، جملات بیان کننده نظرات و عقاید کاربر از متن استخراج شوند، خلاصه سازی شوند و به فرم قابل استفاده تبدیل شوند. از جمله مشکلاتی که در این زمینه وجود دارد حجم زیاد داده میباشد. در صفحه توییتر شخصی جاستین بیبر روزانه ۳۰۰۰۰۰ نظر ثبت میشود [۲۲]. این حجم از دادهها میتوانند اطلاعات مفیدی را برای شرکتها و همچنین مشتریها به همراه داشته باشند؛ ولی پردازش آنها بصورت دستی و انسانی غیر ممکن میباشد، لذا طراحی یک روش اتوماتیک برای تحلیل متن و استخراج نظرات و عقاید موجود در متن ضروری است. در همین راستا تلاشهای فراوانی صورت گرفته است، مثلا در کشور آمریکا ۲۰ تا ۳۰ شرکت به ارائه خدمات تخصصی تحلیل احساس میپردازند [۱۷].
در این رساله روشی برای تحلیل احساس ارائه میشود. روش پیشنهادی سعی در ارائه مجموعه مناسبی از خصیصهها[۴] را دارد به نحوی که بتوان به دقت بهتری در ارزیابی اتوماتیک متون دست یافت، همچنین تعداد خصیصهها در حد متناسبی حفظ شود. برای انتخاب خصیصهها از الگوریتمهای ساده و با حداقل پیچیدگی زمانی بهره میبریم و نیاز به استفاده از الگوریتم انتخاب خصیصه با پیچیدگی زمانی بالا مرتفع شده است.
تحلیل احساس در متن
تحلیل احساس در واقع مطالعه محاسباتی نظرات عقاید و احساسات بیان شده در متن است. متن زیر نظر یک کاربر درباره iphone است.
“(۱) 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……”
چه اطلاعاتی میتوان از متن استخراج کرد ؟ ابتدا باید توجه کنیم چند نظر در این متن وجود دارد، جملات (۲)، (۳) و (۴) نظرات مثبتی را بیان میکنند. جملات (۵)، (۶) و (۷) نظرات منفی را بیان میکنند. آیا نظرات بیان شده درباره یک موجودیت بیان شدهاند؟ این موجودیت کدام است؟ جمله (۲) بصورت کلی نظری را درباره iphone بیان کرده است. جملات (۳)، (۴) و (۵) نظراتی درباره صفحه لمسی، وضوح صدا و طول عمر باتری بیان میکنند. جمله (۷) عقیده مشتری نسبت به قیمت موبایل را بیان میکند. ولی نظرات بیان شده در جمله (۶) درباره شخص میباشد نه درباره موبایل iphone. این نکته بسیار مهم است باید توجه داشت متنی که حاوی نظرات کابران میباشد لزوما درباره یک موجودیت خاص نیست، ممکن است در طول متن نظرات مثبت و منفی درباره موجودیتهای متفاوت بیان شده باشد.
تحلیلگر احساس و عقاید معمولا ورودیهای خود(جملات، اسناد) را به دو گروه نظرات و عقاید مثبت و نظرات و عقاید منفی دستهبندی میکند. برخی از تحقیقات نیز ضعیف یا قوی بودن نظرات در نظر گرفتهاند و متون در ۴ گروه دسته بندی میشوند. گروه اول نظرات کاملا منفی، دوم نظرات کمیمنفی، سوم نظرات کمیمثبت، چهارم نظرات کاملا مثبت.
فرایند تحلیل احساس در سه سطح انجام میشود:
- در سطح کلمات
- در سطح جمله
- در سطح سند.
برای هر سطح پیش فرضها و وظایفی برشمرده میشود که باید در تحلیلگر لحاظ شوند. در ادامه به تشریح تحلیلگر احساس در سطوح متفاوت خواهیم پرداخت.
تحلیلگر احساس در سطح کلمه یک سند یا مجموعه ای از جملات را به عنوان ورودی دریافت میکند. ابتدا کلمات متفاوت که ویژگیهای یک موجودیت را بیان میکنند را از متن استخراج میکند. سپس نظرات بیان شده در متن پیرامون ویژگیهای موجودیت را تشخیص میدهد. شکل۱-۲ یک مثال از عملکرد تحلیلگر احساس در سطح کلمه را بیان میکند.
شکل ۱-۲ تحلیلگر احساس در سطح کلمه: ورودی تحلیلگر احساس در سطح متن یک سری جملات هستند. خروجی آن ویژگی های موجودیت مورد بحث(در این مثال موبایل) و نمره مثبت یا منفی که بر اساس متن به هر کدام از ویژگی ها داده شده است.
همانطور که در شکل ۱-۲ قابل مشاهده است، تحلیلگر احساس در سطح کلمه یک سند را به عنوان ورودی دریافت میکند، ویژگی های شئ مورد بحث در سند را استخراج میکند(شئ مورد بحث:موبایل، ویژگی های شئ مورد بحث:کیفیت صدا و عمر باطری) و در پایان بر اساس نظرات بیان شده در سند به ویژگیهای استخراج شده در مرحله قبل، نمره مثبت یا منفی میدهد.
تحلیل احساس در سطح جمله مانند تحلیلگر احساس در سطح کلمه یک سند یا مجموعهای از جملات را به عنوان ورودی دریافت میکند. جملات متن را تشخیص داده و بر اساس محتوای متن آنها را دستهبندی میکند؛ دسته اول جملات حاوی نظرات مثبت و دسته دوم جملات حاوی نظرات منفی. شکل ۱-۳ مثال تحلیلگر احساس در سطح جمله را بیان میکند.
شکل ۱-۳ تحلیلگر احساس در سطح جمله : ورودی تحلیلگر احساس در سطح جمله یک سری جملات هستند. خروجی آن، جملات طبقهبندی شده در دو دسته مثبت و منفی هستند.
تحلیلگر احساس در سطح سند(شکل ۱-۴) که هدف از این رساله نیز میباشد، تعدادی اسناد را دریافت میکند و آنها را در دو دسته اسناد حاوی نظر مثبت و اسناد حاوی نظر منفی طبقهبندی میکند. در این روش تحلیل احساس فرض بر آن است که هر سند درباره یک موجودیت واحد بحث میکند و همه نظرات مثبت و منفی درون سند درباره یک موجودیت واحد میباشد. با این کار طراحی تحلیلگر ساده میشود.
با این فرض که در هر سند فقط درباره یک موجودیت بحث میشود دیگر نیازی نیست با بسیاری از پیچیدگیهایی که در پردازش زبان طبیعی با آن مواجه هستیم دست و پنجه نرم کنیم. پس از سال ۲۰۰۰ تا کنون تحقیقات فراوانی در این زمینه به انجام رسیده است؛ با این وجود بسیاری از مشکلات در این زمینه هنوز حل نشده باقی ماندهاند. در این رساله به برخی از این مشکلات پرداخته و روشهایی را برای غالب آمدن بر این مشکلات بیان خواهیم کرد.
شکل ۱-۴ تحلیلگر احساس در سطح سند: مجموعهای از اسناد را دریافت میکند با تحلیل محتوای هر سند و با بهره گرفتن از روشهای یادگیری ماشین، اسناد را در دو دسته اسناد حاوی نظرات مثبت و اسناد حاوی نظرات منفی تقسیم بندی میکند.
اهداف رساله
هدف از این رساله ارائه روشی برای تحلیل احساس در مجموعهای از اسناد میباشد، به گونه ای که اسناد در دو گروه نظرات مثبت و نظرات منفی طبقه شوند. از جمله مشکلاتی که برای تحلیل احساس وجود دارد حجم زیاد متون است، برای مثال تعداد خصیصههای استخراج شده از مجموعه داده فیلمها بالغ بر پنجاه هزار خصیصه بود [۴]. همچنین خصیصههای زبان شناختی فراوانی وجود دارد که باید از این میان بهترین خصیصههای را بیابیم و برای مدلسازی متون از آنها استفاده کنیم. در این رساله تلاش بر آن بوده تا بتوانیم مجموعه مناسبی از خصیصهها را انتخاب کنیم و با داشتن حداقل خصیصهها از یک الگوریتم انتخاب خصیصه با پیچیدگی زمان کم استفاده شود. در این رساله دو مجموعه داده فارسی و انگلیسی بررسی خواهند شد. ابتدا سعی میکنیم روش مناسبی برای تحلیل احساس در متون انگلیسی ارائه دهیم سپس روش ارائه شده را به زبان فارسی تعمیم خواهیم داد.
روش کار
برای انجام پایان نامه در مرحله اول مبانی نظری و راهکارهای موجود، در ارتباط با تحلیل احساس موجود درمتن و تشکیل بردار خصیصهها با بهره گرفتن از خصیصههای زبان شناختی مورد مطالعه قرار گرفتهاند. سپس با تحلیل و بررسی روشهای موجود نقات ضعف و قوت این روشها را مورد توجه قرار داده تا بتوانیم با ترکیب یا بهبود آنها به روش بهتری دست یابیم. در ادامه روش پیشنهادی را با بهره گرفتن از دادههای موجود مورد تست و ارزیابی قرار دادهایم. به دنبال آن، با تحلیلهای انجام شده بر روش پیشنهادی، مشکلات موجود را تا حدی برطرف کرده و روشی جامعتر را با دقت عملکرد بهتر ارائه دادیم. در این رساله از ترکیب جدیدی از خصیصههای زبان شناختی استفاده شده است. همچنین برای اولین بار در تحلیل احساس از مفاهیم مبتنی بر Wordnet بهره بردهایم.
ساختار پایان نامه
فصل دوم به طبقهبندی و بررسی شیوههای موجود در تحلیل احساس وعقاید و بررسی روشهای نوین ارائه شده در این زمینه پرداخته است، همچنین کارهای مرتبط و شیوههای مورد استفاده در آنها را بیان کردهایم. در فصل سوم روشهای پیشنهادی برای تحلیل احساسات و عقاید در راستای افزایش دقت و کاهش زمان طبقهبندی ارائه شده است. فصل چهارم عملکردِ روشهای پیشنهادی ارزیابی شده و با روشهای موجود در این زمینه مقایسه میشوند. در پایان فصل چهار نیز برخی از کارهایی که در آینده باید انجام شوند را بیان کردهایم.
فصل دوم کارهای انجام شده
مقدمه
در این فصل ابتدا به بررسی کارهای که پیشتر انجام شده است خواهیم پرداخت و نقاط ضعف و قوّت هر کدام را بصورت کوتاه بیان میکنیم. هر چند تعداد آثار موجود در زمینه تحلیل احساس در متن، فراوان است ولی در این بخش ما تعدادی از تحقیقات مهم را بصورت منتخب بیان خواهیم کرد.
برای مدلسازی اسناد باید مجموعه خصیصههای مفیدی از متن استخراج کنیم. مجموعه خصیصههای مفید خصیصههای هستند که به الگوریتم یادگیری ماشین برای طبقهبندی دادهها کمک کنند. این خصیصهها باید به نحوی انتخاب شوند که بهترین مدل ممکن از اسناد را ارائه دهند و باید توجه کنیم هدف این مدل تحلیل احساس است لذا باید بیشترین اطلاعات ممکن به منظور تحلیل احساس را در اختیار نرمافزار طبقهبندی قرار دهند. با توجه به حجم متن اسناد و تعداد این اسناد، بردار خصیصهی حاصل بزرگ خواهد بود، که این امر مشکلاتی را به همراه دارد. از جملهی این مشکلات کاهش کارایی و دقت طبقهبندی را میتوان نام برد، لذا باید از روش انتخاب خصیصه استفاده کرد تا بتوان سودمندترین خصیصهها را از میان هزاران خصیصه استخراج کرد. در ابتدا تاریخچه تحقیق در زمینه تحلیل احساس در متن را بیان خواهیم کرد، سپس مجموعه خصیصههای N-gram مورد استفاده و کارهایی که از آنها استفاده کردهاند را بیان میکنیم، پس از آن روشهای انتخاب خصیصه معروف و تحقیقاتی که از آنها استفاده کردهاند را بیان خواهیم کرد.
تعریف مسئله
برای حل کردن هر مسئله، ابتدا باید یک تعریف مناسب از مسئله را ارائه دهیم. در فصل قبل هدف از این رساله را تحلیل احساسات و عقاید در سطح سند معرفی کردیم.
چنانچه D مجموعه ای از اسناد باشد، سیستم ارائه شده باید تشخیص دهد D d نظر مثبت یا نظر منفی را درباره یک شی O بیان میکند.
تحلیلگر احساس یک مجموعه از اسناد D را که حاوی نظرات کاربران پیرامون یک شئ خاص O است را دریافت میکند و جهت گیری آنها را نسبت به آن شئ خاص تشخیص میدهد، به نحوی که هر سند D بطور قطعی نظر مثبت یا منفی را درباره شئ O بیان می کند.
بسیاری از تکنیکهای تحلیل احساس در سطح سند بر پایه الگوریتم های یادگیری نظارت شده[۵] هستند؛ تعداد از روش های یادگیری بدون نظارت[۶] نیز وجود دارد [۲۳]. در این رساله تمرکز بر روشهای یادگیرندهی مبتنی بر ناظر است.
گام اول تحلیل احساس در متن
سال ۲۰۰۲ pang و همکارانش تحقیقی را انجام دادند که سر آغاز این راه نامیده میشود. هر چند قبل از آن نیز کارهایی انجام شدهاند که بطور ضمنی از تحلیل احساسات و عقاید سخن به میان آوردهاند ولی pang و همکارانش اولین بار بطور صریح در سال ۲۰۰۲ به تحلیل احساس در متن پرداختهاند [۴].
pang و همکارانش از مجموعه خصیصههای unigram، bigram، صفات و ترکیبی از این سه نوع مجموعه خصیصهها استفاده کردند. همچنین برای طبقهبندی از الگوریتمهای SVM[7]، بیز ساده و حداکثر آنتروپی بهره گرفتهاند. روشهای متفاوتی برای نمایش بردار خصیصهها وجود دارد pang و همکارانش از دو روش فرکانس خصیصه[۸] و حضور خصیصه[۹] برای نمایش بردار خصیصهها استفاده کردهاند. نتایج نشان داد روش حضور خصیصه نسبت به سایر روشهای مورد استفاده نتایج بهتری به همراه خواهد داشت. روشهای که آنها برای نمایش بردار خصیصههای بکار بردهاند، تاکنون در تحقیقات متفاوت به کار گرفته شده است. نتایج تحقیق نشان داد خصیصههای unigram نسبت به سایر خصیصههای زبان شناختی عملکرد بهتری دارند و باعث بهبود طبقهبندی میشوند. خصیصههای bigram نسبت به خصیصههای unigram دقت کمتری در طبقهبندی از خود نشان دادند. در این تحقیق برای طبقهبندی اسناد از روشهای بیز ساده SVM و حداکثر آنتروپی استفاده شده است. نتایج طبقهبند SVM نسبت به سایر الگوریتمهای طبقهبندی دقت بهتری از خود نشان داد. علاوه بر مطالب ذکر شده آنها مجموعه دادههای بازبینی فیلمها را ارائه دادند. این مجموعه دادهها از سایت IMDB[10] جمع آوری شده است، مجموعه داده بازبینی فیلمها داده متشکل از ۲۰۰۰ فایل بازبینی فیلم بود، ۱۰۰۰ فایل آن حاوی نظرات مثبتی پیرامون فیلمها و ۱۰۰۰ فایل دیگر نیز حاوی نظرات منفی پیرامون فیلمها بودند. بهترین دقت بدست آمده توسط pang و همکارانش با بهره گرفتن از ۱۶۱۶۵ خصیصه unigram و در الگوریتم طبقهبندی SVM حاصل شده بود[۴].
مهمترین ویژگی این تحقیق ارائه زمینه تحقیقی جدید برای طبقهبندی متون بودهاست. همچنین نمایش بردار خصیصه ارائه شده در این تحقیق، تا کنون به عنوان یکی از بهترین روشها نمایش بردار خصیصه مورد استفاد قرار میگیرد. 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 متغیر قادرند مفاهیم پیچیدهتر زبان شناختی را بیان کنند [۱]. در این رساله هدف اصلی خصیصههای N-gram مانند، بسته کلمات[۱۱] همچنین N-gram با درجات بالاتر مانند bigram و trigram می باشند. N-pos ترکیب n تایی از ادات سخن میباشد. همچنین n-posword ترکیب n تای از کلمات به همراه برچسب ادات سخن آنها میباشد. در ادامه مثالهایی برای هر یک از انواع خصیصههای N-gram بیان خواهیم کرد(جدول ۲-۱).
همانطور که در بخش قبلی بیان شد، pang و همکارانش نشان دادهاند استفاده از خصیصههای bigram برای تحلیل احساسات و عقاید عملکردی بدتری نسبت به خصیصههای unigram در پی خواهند داشت. تحقیقی که وینسنت و همکارانش سال ۲۰۰۶ انجام دادهاند خصیصههای unigram، bigram و trigram را برای مدلسازی اسناد به کار بردند [۲۵]. اسناد متنی به دو دسته حقایق و عقاید دستهبندی میشوند و مثال بخش ۱-۲ نشان میدهد اغلب متون حاوی ترکیبی از حقایق و عقاید هستند، بنابراین بیشتر اسناد متنی ترکیبی از متون جهتدار (عقاید و نظرات) با متون عینی و واقعی (حقایق) هستند. متون عینی و واقعی درون اسناد در واقع همان خصیصههای غیر مرتبط با تحلیل احساس هستند چون اطلاعات مفیدی برای الگوریتم یادگیری ماشین در جهت تحلیل احساس موجود در متون را فراهم نمیکنند. تعداد زیاد خصیصهها و غیر مرتبط بودن بسیاری از این خصیصهها به تحلیل احساس، مشکلات زیادی را موجب می شود، از جمله این مشکلات میتوان کاهش دقت طبقهبندی وکاهش سرعت عملیات طبقهبندی را نام برد. بهتر است قسمتی از متن که حاوی حقایق است در فاز اول از متون حاوی نظرات و عقاید مجزا شود. وینسنت و همکارانش در ابتدا، بخشهایی از اسناد که عقاید و نظرات را بیان میکردند را تشخیص داده، از متن جدا کردهاند. آنها با فیلتر کردن متون حاوی حقایق از متون احساسی توانستند برای خصیصهها unigram و bigram نتایج بهتری را نسبت به pang و همکارانش بدست آورند. همچنین آنها نشان دادن خصیصههای N-gram n>1 قادرند وابستگی کلمات موجود در متن، را در مدلسازی وارد کنند بنابراین به دقت عملکرد الگوریتم یادگیری ماشین در جهت طبقهبندی متون کمک میکنند. در این تحقیق دقت حاصله از طبقهبندی اسناد با بهره گرفتن از خصیصههای unigram به میزان ۸۷٫۱ درصد گزارش شده است. این میزان نسبت به نتیجه بهترین روش ارائه شده توسط pang و همکارانش ۵ درصد بهبود یافته است. همچنین با بهره گرفتن از خصیصههای unigram+bigram+trigram (ترکیب هر سه نوع خصیصه) فرایند طبقهبندی اسناد را با دقت ۸۹٫۲ درصد انجام دادهاند. در این تحقیق به بررسی اثر گذاری خصیصههای N-gram پرداخته شده است وینسنت و همکارانش نشان دادند استفاده از خصیصههای bigram به همراه unigram باعث بهبود عملکرد طبقهبندی میشود. همچنین به این نتیجه دست یافتند که خصیصههای bigram به تنهایی بهبودی در طبقهبندی ایجاد نمیکنند، دلیل این موضوع نیز پراکندگی خصیصههای bigram است؛ برخلاف آنچه در [۴] اعلام شده، که خصیصههای bigram ذاتا به بهبود طبقهبندی کمک نمیکنند. بنابراین چنانچه بتوانیم پراکندگی موجود در خصیصههای bigram را کاهش دهیم میتوانیم دقت عملکرد این نوع خصیصهها را بهبود دهیم.
در برخی از تحقیقات برای مدلسازی اسناد از خصیصههای N-POS[12] استفاده شدهاست. فی و همکارانش در سال ۲۰۰۴ از خصیصههای ۱-pos و ۲-pos استفاده کردهاند و بهترین دقت حاصل از طبقهبندی در این تحقیق ۸۶% بوده است [۲۶]. آنها الگوهایی نحوی را ارائه دادند که اغلب متون جهتدار در این الگوها قرار میگیرند، مثلا یکی از الگوهای ارائه شده n+adj[13] بوده است. ابتدا متن را برچسب گذاری کردهاند و الگوهای مورد نظر را از متن استخراج کردهاند. مدلی که در این روش ارائه شده همانند روش وینسنت و همکارانش سعی دارد در ابتدا متن را فیلتر کند و فقط متن جهتدار(متن حاوی نظرات مثبت یا منفی کاربران درباره یک موجودیت مشخص) را برای مرحله طبقهبندی و مدلسازی استفاده کند. اما مشکل این روش آن است که نمیتوان برای همه حالت های متن جهتدار الگویی ارائه داد و همواره ممکن است متن خاصی با الگوهای ارائه شده سازگار نباشد. مدلسازی متن با بهره گرفتن از الگوهای N-POS حتی نسبت به مدل unigram دقت کمتری را برای طبقهبندی به همراه داشت. لذا روش مناسبی برای مدلسازی اسناد نیست.
گامن سال ۲۰۰۴ ۴ گروه خصیصه را مورد بررسی قرار داد. گروه اول خصیصههای N-gram از ترکیب خصیصههای unigram، bigram و trigram تشکیل شدهاند. گروه دوم خصیصههای متشکل از ترکیب N-gram و ۳-POS بودهاند. گروه سوم، خصیصههای مانند طول جمله، طول عبارات، تعداد کلمات بودهاند و گروه چهارم ترکیب سه گروه خصیصه ذکر شده بودهاند. تعداد خصیصهها در این روش از ۱۰۰۰ تا ۴۰۰۰۰ خصیصه بودهاند. بهترین دقت حاصله برای طبقهبندی متون با بهره گرفتن از خصیصههای گروه چهارم بدست آمده است که نشان میدهد ترکیب خصیصهها مدل بهتری از اسناد به منظور تحلیل احساس در متن را ارائه میدهد. در بهترین حالت دقت طبقهبندی ۸۹ درصد گزارش شده است. در این تحقیق ترکیبهای متفاوت از خصیصهها مورد بررسی قرار گرفت و میزان اثر گذاری آنها بحث شدهاست [۲۰].
مدل N-gram کاراکترها(N-char) توسط عباسی و همکارانش مورد استفاده قرار گرفت. مثلا مدل Bigram عبارت Like بصورت “li ik ke” خواهد بود [۲]. در این مدل تعداد بسیار زیاد خصیصهها مشکلساز خواهد بود و استفاده از الگوریتمهای انتخاب خصیصه به دلیل تعداد بسیار زیاد خصیصهها ما را با مشکل پیچیدگی زمانی روبرو خواهد کرد. استفاده از خصیصهها N-char همواره باعث افزونگی و افزایش تعداد خصیصههای غیر مفید میشود، به این دلیل که همپوشانی بسیاری زیادی در خصیصههای n-char وجود دارد.
تحقیقات اندکی از مدل POSWORD[14] (برچسب نقش کلمه در سخن به همراه خود کلمه) استفاده کردهاند. ویب و همکارانش در سال ۲۰۰۴ . به منظور کاهش ابهام کلمات در فرایند تحلیل احساس از ۳-POSWORD استفاده کردهاند. با توجه به اینکه خصیصههای POS-Tag به همراه خود کلمه میتواند باعث کاهش ابهام کلمات شود در نتیجه باعث بهبود دقت ارزیابی و طبقهبندی اسناد میشود [۱۲]. مهمترین دلیل استفاده از ۳-POSWORD وارد کردن وابستگی به متن در مدل مورد استفاده میباشد. لذا اگر بتوان مشکلات ناشی از پراکندگی و افزونگی را مدیریت کرد به نظر میرسد استفاده از خصیصههای N-gram n>1 به بهبود نتایج کمک زیادی کند.
جدول ۲-۱ مثالی برای هر یک از خصیصههای N-gram مطرح شده را نشان میدهد.
عباسی و همکارانش در سال ۲۰۱۱ مجموعه کاملی از خصیصههای N-gram که در کارهای پیشین استفاده شده بود را جمع آوری کرده و برای مدلسازی اسناد از آنها استفاده کردند [۱]. این مجموعه خصیصهها در جدول ۲-۲ بیان شدهاند. آنها در این تحقیق با بهره گرفتن از طبقه بند SVM به دقت ۹۰ درصد برای طبقهبندی مجموعه دادههای بازبینی فیلمها دست یافتند. مدل ارائه شده که در جدول ۲-۲ قابل مشاهده است، بسیاری از خصیصهها همدیگر را پوشش میدهند لذا باعث تشدید افزونگی در مدل حاصله میشوند. هر گروه از این خصیصهها دارای تعداد زیادی خصیصههای غیرمرتبط با تحلیل احساس موجود در متن هستند، استفاده همزمان از همه این خصیصهها باعث افزایش چشمگیر خصیصههای غیر مرتبط در نتیجه کاهش اثر گذاری خصیصههای مرتبط با تحلیل احساس و در نهایت کاهش دقت طبقهبندی میشود. آنها برای حل این مشکل یک روش انتخاب خصیصه شبکه ارتباطی خصیصه[۱۵] را ارائه دادند، که پیچیدگی زمانی بالایی دارد. میتوان با بهره گیری از خصیصههای مطلوبتر خصیصههای افزونه و خصیصههای غیر مرتبط را کاهش داد و برای تعیین سودمندی خصیصهها از الگوریتم انتخاب خصیصه سادهتر با پیچیدگی زمانی کمتر بهره برد.
جدول ۲-۱ مجموعه خصیصهها N-gram و مثال برای هر خصیصه
جمله مثال | I go home. | |
خصیصههای N-gram | Unigram | I, go, home |
Bigram | I go, go home | |
Trigram | I go home | |
خصیصههای N-POS | ۱-pos | FW, VBP,NN |
۲-pos | FW VBP,VBP NN | |
۳-pos | FW VBP NN | |
خصیصههای ۳-POSWORD | ۳-POSWORD | I/FW go/VBP home/NN |
آگراوال و میتال سال ۲۰۱۳ تحقیقی را انجام دادهاند [۵] که در این تحقیق از روشهای انتخاب خصیصه سودمندی اطلاعات و حداقل افزونگی - حداکثر وابستگی استفاده شده است، همچنین از خصیصههای Unigram و Bigram و گزیدهای از کلمه-POS در جهت مدلسازی متن بهرهگرفتند. طبقهبندی در این تحقیق بر روی مجموعه داده بازبینی فیلمها دقت بالاتری نسبت به روش ارائه شده توسط عباسی و همکارانش داشت. آنها نشان دادند که روش انتخاب خصیصه حداقل افزونگی - حداکثر وابستگی عملکرد بهتری نسبت به سودمندی اطلاعات دارد. از جمله مشکلات روش ارائه شده توسط آگراوال و میتال مجموعه خصیصههای مورد استفاده آنها میباشد که در این رساله مجموعه خصیصههای مناسبتری برای تحلیل احساس موجود در متن ارائه میشود.
جدول ۲-۲ مجموعه کاملی از خصیصه ها N-gram
همانطور که در جدول ۲-۲ میبینید مجموعه خصیصههایی N-gram که برای مدلسازی اسناد میتوان از آنها بهره گرفت بسیار زیاد هستند؛ هر کدام از این مجموعه خصیصهها خود با یک بردار با هزاران خصیصه اسناد را مدلسازی میکنند، بسیاری از این خصیصهها افزونه و یا با تحلیل احساس غیر مرتبط هستند. برای دستیابی به دقت و سرعت بالاتر در عملیات طبقهبندی بهتر است از یک الگوریتم انتخاب خصیصه بهره بگیریم تا بتوانیم سودمندترین خصیصهها را از میان هزاران خصیصه استخراج کنیم و عملیات طبقهبندی و تحلیل احساس را با سرعت و دقت بیشتری انجام دهیم.
سی و گوپتا در سال ۲۰۱۳ مقالهای را ارائه کردهاند، آنها بجای استفاده از روشهای انتخاب خصیصه پیچیده تلاش کردهاند ترکیب مناسبی از خصیصهها را جهت دستیابی به دقت بالاتر در عملیات طبقهبندی، بیابند. همچنین برای کاهش دادن اندازه بردار خصیصه و حذف خصیصههای غیر مرتبط از sentiwordnet استفاده کردهاند. مجموعه داده این تحقیق اندازه کوچکتری نسبت به مجموعه داده مورد بررسی در سایر تحقیقات ذکر شده داشته است[۷]. در تحقیق مذکور با فیلتر کردن خصیصههایی که وزن مثبت یا منفی آنها (وزن هر کلمه همان مقداری بین ۰ و ۱ است که از Sentiwordnetاستخراج شده است) کمتر از ۰٫۵ بود، تعداد خصیصهها را کاهش دادهاند. ویژگی این روش استفاده از ترکیب های ساده و متفاوت، همچنین کاهش تعداد خصیصهها با بهره گرفتن از Sentiwordnet است. مشکل اصلی این روش مجموعه داده مورد استفاده در آن است؛ این مجموعه داده قابلیت نشان دادن پایداری روش را ندارد.
فاز اول تحلیل احساس ارائه مدل مناسبی برای اسناد است. در رساله جاری از سه کار [۱]، [۷] و [۵] برای مدلسازی اسناد الهام گرفته شده است. تحقیق [۱] مدلی جامع از خصیصههای N-gram ارائه داده است، ولی تعداد مجموعه خصیصههای آن زیاد است، افزایش خصیصهها در بردار خصیصهها، باعث افزایش خصیصههای افزونه و غیر مفید خواهد شد. وجود خصیصهی غیر مفید یا افزونه در بردار خصیصههای حاصل از مدلسازی اسناد باعث میشود، اثرگذاری سایر خصیصههای سودمند و مرتبط با تحلیل احساس کاهش یابد لذا به همان نسبت دقت طبقهبندی نیز کاهش مییابد، همچنین باعث افزایش حجم بردار خصیصه خواهد شد در نتیجه ما را با مشکل حافظه مواجه خواهد کرد و سرعت طبقهبندی را به شدت کاهش میدهد. تعداد زیاد خصیصهها، ما را در استفاده از الگوریتم انتخاب خصیصه محدود میکند. در این رساله تلاش بر آن بوده مجموعه کاهش یافتهای از خصیصهها را برای مدلسازی اسناد برگزینیم، به گونهای که مدل مناسبی از اسناد را برای تحلیل احساس ارائه دهند. تحقیق [۵] مدلی ترکیبی از خصیصهها n-gram را را ارائه داده است و این مدل را روی ۴ مجموعه داده تست کرده تا پایداری روش پیشنهادی خود را بررسی کنند. مجموعه خصیصههای مورد استفاده در تحقیق مذکور عبارت بودند از: ۱- خصیصههای unigram 2- خصیصههای bigram 3- ترکیب این دو مجموعه خصیصهها.
الف- خصیصههای unigram: در ابتدا بردار خصیصههای unigram را از متن استخراج کردهاند سپس مدل حاصل را با بهره گرفتن از الگوریتمهای یادگیری ماشین طبقهبندی کردهاند؛ در این روش آنها به دقت طبقهبندی ۸۲٫۷% در مجموعه داده بازبینی فیلم ها دست یافتند. حالت دوم با الگوریتم انتخاب خصیصه حداقل افزونگی – حداکثر وابستگی خصیصههای غیرسودمند را از مدل حاصل در مرحله قبل فیلتر کردهاند؛ در این حالت به حداکثر دقت ۸۹٫۲% دست یافتند.
ب- خصیصههای bigram: این مجموعه خصیصه بدون اعمال الگوریتم انتخاب خصیصهای از متن استخراج شدهاند و دقت بدست آمده از طبقهبندی ۷۹٫۲% برای مجموعه داده بازبینی فیلمها بوده است. در حالت دوم با اعمال الگوریتم انتخاب حداقل افزونگی – حداکثر وابستگی به حداکثر دقت ۸۱٫۱% دست یافتند.
ج- ترکیب خصیصههای unigram و bigram: این مجموعه خصیصه بدون هیچ گونه انتخاب خصیصهای از متن استخراج شدهاند در این روش آنها توانستند مجموعه داده بازبینی فیلمها را با دقت ۸۷٫۰% طبقهبندی کنند. در روش دوم با الگوریتم انتخاب خصیصه حداقل افزونگی – حداکثر وابستگی به حداکثر دقت ۹۱٫۱% دست یافتند و با اعمال الگوریتم انتخاب خصیصه سودمندی اطلاعات به دقت طبقهبندی ۹۰٫۱% دست یافتند.
نتایج بالا نشان از عملکرد مطلوب خصیصههای unigram و سودمند نبودن خصیصههای bigram دارد، و تصدیق کننده نتایجی است که سال ۲۰۰۲ pang و همکارانش به آن دست یافتند، به این دلیل که آگراوال و میتال به پراکندگی و نرمالسازی خصیصههای bigram هیچ توجهی نکردهاند. آنها تلاش کردهاند تعداد خصیصهها را کاهش دهند در صورتی که میتوان تعداد خصیصهها را با حفظ تعادل تعداد بین خصیصههای unigram، bigram و trigram تا حدی افزایش داد، تا بتوانیم به نتایج بهتر دست یابیم.
در رساله جاری برای تست پایداری روش پیشنهادی، ۴ مجموعه داده را برای تست و ارزیابی در نظر گرفتهایم، مدلی که در این رساله ارائه شده است دقت طبقهبندی را نسبت به [۱] و [۵] افزایش داده است. محققین در [۷] با بررسی انواع خصیصههای متفاوت ترکیب مناسبی از خصیصهها را ارئه دادهاند. ما نیز برای یافتن خصیصههای مطلوب در جهت مدلسازی اسناد ترکیب خصیصههای متفاوت را مورد بررسی قرار دادهایم.
الگوریتمهای انتخاب خصیصه
در عصر فناوری اطلاعات با حجم زیادی از دادهها روبرو هستیم. میتوان دانش مفیدی از این حجم زیاد داده استخراج کرد. بهتر است بگوییم به دلیل مشکلاتی که برای نگهداری، ذخیره سازی و پردازش این حجم دادهها مطرح میشود، اگر اطلاعاتی از داده استخراج نکنیم یک فقدان است. حجم زیاد دادهها به رسانههای ذخیره سازی و همچنین حافظه اصلی زیادی برای پردازش نیاز دارند. باید توجه داشته باشیم حجم قابل توجهی از این دادهها، غیر مفید، افزونه و یا غیر مرتبط هستند. لذا ضرورتی در نگهداری و یا پردازش همه این داده ها وجود ندارد. بهتر است فکری اندیشیده شود تا این دادههای غیر ضروری حذف شوند و در فرایندهای مهم و پرهزینه وارد نشوند. الگوریتمهای انتخاب خصیصه نیز همین هدف را دنبال میکنند. چنانچه مدلی ارائه شود این مدل متشکل از دهها هزار خصیصه باشد، بسیاری از این خصیصهها برای فرایند تحلیل احساس مفید نخواهند بود پس بهتر است این خصیصهها به اشغال کردن حافظه و گرفتن سرعت عملیات منجر نشوند. ضمن اینکه از طرفی دقت عملیات را نیز کاهش خواهند داد.
الگوریتمهای انتخاب خصیصه متعددی وجود دارد و در تحقیقات از اغلب آنها استفاده شده است.
بطور کلی دو نوع روش انتخاب خصیصه وجود دارد:
- تک متغیره.
- چند متغیره.
روش تک متغیره هر خصیصه را به تنهایی در نظر میگیرد، خصیصه را ارزیابی کرده و یک رتبه به آن میدهد. مانند الگوریتمهای مربع کای[۱۶] ، درست نمایی لگاریتمی[۱۷] و سودمندی اطلاعات[۱۸] . هر چند این روشها سریع هستند ولی چون هر خصیصه را به تنهایی ارزیابی میکنند و به ارتباط بین آن خصیصه با سایر خصیصهها توجهی ندارند، دقت کمتری دارند. این نوع الگوریتمها به دلیل پیچیدگی زمانی کمتری که دارند، برای مجموعه دادههایی که بردار خصیصههای بزرگتری دارند مناسباند [۱].
انتخاب سودمندترین خصیصهها از میان تعداد بسیار زیاد خصیصهها میتواند باعث افزایش دقت عملکرد الگوریتم طبقهبندی شود [۲۶]. شکل ۲-۱ مهمترین الگوریتمهای انتخاب خصیصه تک متغیره را نشان میدهد.
شکل ۲-۱ مهمترین الگوریتم های انتخاب خصیصه تک متغیره
روشهای انتخاب خصیصهی تک متغیره نسبت به روشهای چند متغیره پیچیدگی زمانی کمتری دارند به همین دلیل در بسیاری از تحقیقها از روشهای تک متغیره استفاده شده است.
[۸] و [۱۵] برای طبقهبندی متن از سودمندی اطلاعات استفاده کردهاند. تحقیق [۳] با اتکا به نتایج [۸] و [۱۵] روش سودمندی اطلاعات را برای انتخاب سودمندترین خصیصهها برگزید. عباسی و همکارانش با بهره گرفتن از سودمندی اطلاعات و انتخاب سودمندترین خصیصهها به دقت ۹۲٫۵% در تحلیل احساسات و عقاید موجود در متن مجموعه داده بازبینی فیلم دست یافتند. آنها در این تحقیق برای طبقهبندی از روش SVM بهره بردهاند.
در [۱۶] برای انتخاب خصیصه از روش مربع کای استفاده شده است. آنها بهترین نتیجه خود را با بکارگیری طبقه بند SVM و حداکثر آنتروپی به صورت ترکیبی بدست آوردند. باید توجه کنیم برای بهبود طبقهبندی بهتر است، بتوانیم مدل درستی از اسناد را ارائه دهیم، تا به دقت بالاتری دست یابیم. استفاده همزمان و ترکیبی از چند الگوریتم طبقهبندی باعث افزایش پیچیدگی زمانی خواهد شد و نهایتا برای مجموعه دادهای متفاوت لزوما باعث افزایش دقت طبقهبندی نخواهد شد. استفاده ترکیبی از چند الگوریتم طبقهبند برای یک مجموعه داده نمیتواند راه حلی برای بهبود سرعت و دقت طبقهبندی متون باشد. در عوض استفاده از چند طبقهبند میتواند از چند فیلتر انتخاب خصیصه استفاده کرد، یا به دنبال مدل مناسبتری برای مدلسازی اسناد باشیم.
[۲۰], [۲۵],[۱۴] از روش درست نمایی لگاریتمی استفاده کردند. در بین سه مقاله ذکر شده مقاله [۲۰] به حداکثر دقت ۹۰% دست یافت.
روشهای چند متغیره پر استفادهای نیز وجود دارد که استفاده از آنها باعث کاهش معقول تعداد خصیصهها و افزایش نامعقول پیچیدگی زمانی خواهد شد
شکل ۲-۲ تعدادی از روشهای چند متغیره انتخاب خصیصه که در سالهای اخیر ارائه شدهاند را نشان میدهد. در این قسمت بحث زیادی نخواهیم کرد، فقط کارهایی که از این روشها استفاده کردهاند را بیان میکنیم. مهمترین مشکل این روشها پیچیدگی زمانی آنها است. اگر اسناد بزرگ باشند و تعداد خصیصهها زیاد باشد این روشها عملا ناکارآمد خواهند بود. چنانچه اسناد کوچک باشند و تعداد خصیصهها نیز کم باشد میتوان از روشهای چند متغیره استفاده کرد، ولی امروزه در عصر اطلاعات با حجم فراوانی از دادهها مواجه هستیم بهتر است راه حلهایی برای مدیریت داده ها ارائه شود.
عباسی و همکارانش در سال ۲۰۰۷ با ترکیب کردن الگوریتم ژنتیک با الگوریتم سودمندی اطلاعات روش انتخاب خصیصه EWGA[19] را ارائه دادند با بهره گرفتن از این روش توانستند به دقت طبقهبندی ۹۵% دست یابند[۳] . این الگوریتم انتخاب خصیصه به خوبی کار میکند، ولی پیچیدگی زمانی این روش قابل توجه است. عباسی و همکارانش مقایسهای که در مقاله سال ۲۰۱۳ خود انجام دادهاند زمان لازم برای انتخاب سودمندترین خصیصهها برای الگوریتم ژنتیک/سودمندی اطلاعات را بالغ بر ۶۰۰۰ دقیقه بیان کردهاند. لذا برای تحلیل داده ها با حجم زیاد نمیتوان به این روش ها متکی بود.
ما برای حذف خصیصههای غیر مفید همانطور که پیش از این نیز به آن اشاره کردهایم از روشهای تک متغیره استفاده خواهیم کرد.
فصل بعد به ارائه روش پیشنهادی خواهیم پرداخت. در این رساله سه روش با کاربردهای متفاوت ارائه شده است. سپس روش های مورد نظر برای زبان فارسی نیز تعمیم داده شدهاند و بر مجموعه داده زبان فارسی نیز اعمال شده اند.
شکل ۲-۲ مهمترین روش های انتخاب خصیصه چند متغیره
فصل سوم روش پیشنهادی
پیش گفتار
هدف اصلی این نوشتار ارائه مدلی جامع برای اسناد میباشد. قصد داریم مجموعهای از خصیصهها را ارائه دهیم و با بهره گرفتن از آنها به مدلی از اسناد دست یابیم. با داشتن مدل مناسب از اسناد دیگر نیازی به استفاده کردن از روشهای پیچیده انتخاب خصیصه نخواهد بود.
در این فصل به توضیح و تشریح روش ارائه شده خواهیم پرداخت. با مطالعه و بررسی مقالات و تحقیقات ارائه شده به این نتیجه دست یافتیم که بهتر است برای تحلیل احساس در متن، از مجموعه خصیصههایی استفاده کنیم که قادر باشند بیشترین اطلاعات لازم برای تحلیل احساس را در اختیار الگوریتم طبقهبندی اسناد قرار دهند، به این ترتیب میتوان دقت طبقهبندی اسناد را افزایش داد.
هدف این رساله ارائه روشی برای تحلیل احساسات و عقاید موجود در متن میباشد. به گونهای که این تحلیلگر اسناد موجود در مجموعه دادهها را در دو طبقه، اسناد حاوی نظرات مثبت و اسناد حاوی نظرات منفی دسته بندی کند. اولین مشکلی که برای تحلیل احساس وجود دارد ارائه مدلی کامل و مفید برای اسناد متنی میباشد. برای حل این مشکل مجموعه خصیصههای متفاوتی مورد بررسی قرار گرفتهاند و از این میان تلاش شده مناسبترین خصیصهها را انتخاب کنیم.
مشکل دوم در تحلیل احساسات و عقاید تعداد زیاد خصیصهها میباشد. این مسئله باعث بروز مشکلاتی دیگری مانند خصیصههای افزونه و خصیصههای غیر مرتبط میشود. لذا باید برای انتخاب کردن خصیصههای سودمند از میان هزاران خصیصه راهی اندیشیده شود. روشی که اینجا ارائه شده است فیلتر کردن خصیصهها در چند مرحله است. در ابتدا با بهره گرفتن از Wordnet و Sentiwordnet خصیصهها را فیلتر میکنیم، به این ترتیب تعداد خصیصهها کاهش مییابد. در مرحله بعد از الگوریتم انتخاب خصیصه ساده و با حداقل پیچیدگی زمانی استفاده میکنیم.
یکی از ویژگیهای ذاتی خصیصههای N-gram پراکندگی آنها است. پراکندگی باعث افزایش تعداد خصیصهها همچنین کاهش اثرگذاری خصیصههای bigram و trigram میشود.
منابع مورد نیاز
برای پیاده سازی روش پیشنهادی به منابع دادهای و نرم افزاری نیاز خواهیم داشت. در این رساله برای آزمودن پایداری روش پیشنهادی از چهار مجموعه داده[۲۰] استفاده شده است.
مجموعه داده بازبینی فیلمها یکی از معروفترین مجموعه دادهها است که در سال ۲۰۰۲ توسط pang و همکارانش ارائه شده است [۴]. این مجموعه حاوی ۲۰۰۰ سند بازبینی استخراج شده از سایت IMDB است. این اسناد در دو گروه نظرات مثبت و نظرات منفی دسته بندی شدهاند. ۱۰۰۰سند حاوی نظرات مثبت درباره فیلمها میباشد و ۱۰۰۰ سند نیز حاوی نظرات منفی کاربران میباشند، لذا میتوان برای طبقهبندی اسناد، مبتنی بر ناظر از آنها استفاده کرد.
مجموعه دادههایی از بازبینیهای کاربران در سایت آمازون جمع آوری شده است[۱۳]. این مجموعه داده حاوی نظرات کاربران درباره کالاهای متفاوت آمازون است. از این دادهها، سه مجموعه داده بازبینی کالاهای الکترونیکی،dvd و کتاب را برای تست و ارزیابی عملکرد روش پیشنهادی انتخاب کردهایم. این مجموعه دادهها هر کدام شامل ۲۰۰۰ سند بازبینی میباشد. این اسناد مانند مجموعه داده بازبینی فیلمها در دو گروه اسناد مثبت و منفی دسته بندی شدهاند.
در خلال پیادهسازی نیاز خواهیم داشت نقش ادات سخن[۲۱] هر کلمه را در جمله داشته باشیم لذا برای دست یافتن به این هدف از کتابخانه جاوا دانشگاه استنفورد[۲۲] که توسط تیم پردازش زبان طبیعی این دانشگاه تهیه شده است استفاده کردیم.
برای یافتن معادلهای معنایی کلمات[۲۳] به Wordnet[24] و کتابخانه ای جاوا JWNL[25] نیاز خواهیم داشت. در این رساله از Sentiwordnet[26] نیز استفادده میکنیم. Sentiwordnet نسخه ای از wordnet است، که در آن علاوه بر اطلاعات Wordnet، به هر کلمه یک وزن مثبت و یک وزن منفی داده میشود. مجموع وزن مثبت و وزن منفی یک کلمه را پلاریته کلمه گویند(شکل ۳-۱) [۹].
برای طبقهبندی اسناد از نرم افزار weka 3.6 استفاده میکنیم.
شکل ۳-۱ Sentiwordnet برای هر کلمه یک وزن مثبت و منفی تخصیص میدهد. مجموع این وزن را پلاریته کلمه گویند.
در ادامه روشهای پیشنهادی و مراحل هر کدام از آنها را بیان خواهیم کرد. روش پیشنهادی اول دارای مشکلاتی است که با حل کردن آنها به روشهای دوم و سوم دست مییابیم که دقت عملکرد بهتری نسبت به روش اول را دارند. در پایان نیز روش پیشنهادی اول را به مجموعه داده زبان فارسی اعمال می کنیم.
روش پیشنهادی اول
در روش پیشنهادی اول قصد داریم مجموعه مفیدی از خصیصه را ارائه دهیم. کارهای و تحقیقات قبلی که به منظور تحلیل احساس در متن به انجام رسیدهاند نشان دادهاند که بکار گرفتن ترکیبی از خصیصهها همواره با بهبود دقت طبقهبندی همراه خواهد بود. مدلسازی اسناد با بهره گرفتن از ترکیب خصیصه ها باعث افزایش قابل توجه تعداد خصیصهها خواهد شد این خود مشکلی بر سر راه ترکیب خصیصهها است. در این رساله پیشنهاد شده است با بهره گرفتن از فیلترینگ چند مرحله از این مشکل رها شویم.
شکل ۳-۲ نمای کلی روش پیشنهادی اول را نشان میدهد.
در ابتدا مجموعهای از اسناد را درون یک پایگاه داده داریم. اسناد خوانده شده و پیش پردازشهایی بر روی آنها انجام میشود. پیش پردازش، متن را برای مراحل بعدی آماده خواهد کرد. پس از آن برچسب گذاری ادات سخن با بکارگیری کتابخانه جاوا استنفورد انجام میشود. حال نقش هر کلمه مشخص شده است و میتوان پلاریته آن را از Setniwordnet استخراج کرد. مرحله بعد خصیصههای مورد نیاز را استخراج میکنیم. فیلترهای اولیه را بر روی بردار خصیصهها اعمال میکنیم، و در پایان فایل ساختار یافته از بردار خصیصهها را با بهره گرفتن از WEKA طبقهبندی میکنیم.
شکل ۳-۲ شمای کلی روش پیشنهادی اول
پیش پردازش اسناد
هر سند حاوی متون بازبینی، نظرات، احساسات و عقاید کاربران است. همه متن این اسناد در تحلیل احساس مفید واقع نخواهد شد. همچنین قالب و فرمت متن باید به گونهای تغییر یابد تا علاوه براینکه بتواند مدل مناسبی از اسناد را ارائه دهد، به قالب ساده و مناسب برای پردازش در مراحل بعدی تبدیل شود. شکل ۳-۳ شمای کلی پیش پردازش را نشان میدهد.
شکل ۳-۳ شمای پیش پردازش اسناد
ورودی این مرحله، مجموعهای از اسناد متنی، حاوی نظرات، احساسات و عقاید کاربران است. در مرحله اول از فرایند پیش پردازش کلمات Stopword حذف میشوند. Stopword کلمات و عباراتی هستند که هیچ کمکی به فرایند طبقهبندی اسناد، در جهت تحلیل احساس موجود در متون نمیکنند. در جدول زیر مجموعهای از Stopword مورد استفاده در این رساله را تدارک دیدهایم. مجموعه ثابت و یکسانی برای Stopword ها وجود ندارد بلکه برای حوزههای متفاوت در پردازش زبان طبیعی از Stopword های متفاوتی استفاده شده است. مجموعه Stopword های مورد استفاده در این تحقیق را در جدول ۳-۱ میبینیم. در این مرحله از فرایند پیش پردازش ابتدا هر سند خوانده شده و پس از حذف Stopword ها سایر کلمات باقی مانده به مرحله بعدی هدایت میشوند.
در مرحله دوم از فرایند پیشپردازش مدیریت کلمات منفی ساز انجام میشود. کلمات منفی سازی که در این تحقیق مورد توجه قرار گرفتهاند، عبارتاند از not، never و no.
جدول ۳-۱ لیست Stopwords
were what when where which while who whom why with would you your yours yourself yourselvesno nor not of off on once only other |
ourselves or |
down during each few for from further had has have having he her here hers herself him himself his how i if in into is it itself me more most my myself ought our ours |
a about above after again against all am an and any are as at be because been before being below between both but by cannot could did do |
جملاتی که حاوی کلمات منفی ساز هستند به این طریق اصلاح میشوند، که دو کلمه قبل از کلمه منفیساز و دوکلمه بعد از آن را با افزودن NOT به فرم منفی قراردادی تبدیل میکنیم، در هر صورت اگر به علامت نقطهگذاری رسیدیم منفیسازی را متوقف میکنیم و در نهایت کلمه منفیساز را از جمله حذف میکنیم. مثلا جمله “I like hamid, but I don’t like javad.” پس از حذف Stopwordها به فرم “Like hamid, do not like javad” تبدیل میشود. در مرحله بعد دو کلمه قبل و دو کلمه بعد از کلمه منفیساز به فرم “Like hamid, do_NOT not Like_NOT javad_NOT.” تبدیل میشود. در گام آخر نیز کلمه منفی ساز از جمله حذف میشود، بنابراین جمله مذکور به شکل “Like hamid, do_NOT Like_NOT javad_NOT“ تبدیل میشود، قبل از کلمه منفیساز Not کلمه do و یک کاما وجود دارد. لذا با رسیدن به اولین علامت نقطهگذاری(کاما در این مثال) منفیسازی را متوقف میکنیم، و تنها یک کلمهی do قبل از not به فرمت منفی قراردادی تبدیل میشوند، ولی بعد از not دو کلمه به فرمت منفی قراردادی تبدیل میشوند. اصلاح جملات حاوی کلمات منفی ساز به این دلیل انجام میشود که در مدل Unigram اسناد بتوانیم معنای منفی جمله را وارد کنیم. خروجی این مرحله جملات اصلاح شده متن هستند؛ جملاتی که برخی کلمات غیرمفید آنها حذف شده است و ساختار جملات حاوی کلمات منفی ساز نیز با ساختار قرار دادی جایگزین شده است. اسناد برای پردازش به مرحله بعدی هدایت میشود.
در ادامه فرایند پیشپردازش نیز همه اسناد به توکنهای تشکیل دهنده خود تجزیه میشوند. در ادامه بیشتر با توکنهای هر سند کار خواهیم کرد و دیگر کمتر به متن خام و بدون پیش پردازش نیاز خواهیم داشت.
برچسب گذاری ادات سخن
در این مرحله با بهره گرفتن از کتابخانه پردازش زبان طبیعی استنفورد، برچسب ادات سخن هر کلمه را مشخص میکنیم. استفاده از برچسب ادات سخن برای رفع ابهام کلمات با چند معنای متفاوت بسیار مفید خواهد بود و تا حدی قادر است این ابهام را رفع کند. شکل ۳-۴ مثالی از عملکرد برچسب گذار استنفورد را مشخص میکند. همانطور که در شکل ۳-۴ دیده میشود کلمه Like در متن با دو معنای متفاوتش به کار رفته است. معنای اول “علاقمند بودن” که میتواند به فرایند تحلیل احساس کمک کند، معنای دوم “مانند"، که بیشتر نقش یک Stopword را دارد و کمکی به فرایند تحلیل احساس نمیکند. در این مرحله متون پیش پردازش شده با بهره گرفتن از کتابخانه استنفورد برچسب گذاری میشوند و سپس هر سند به مجموعه توکن/نقش سخن توکن تبدیل میشود.
POS Tagger
I/PRP like/VBP you/PRP ./. You/PRP are/VBP like/IN my/PRP$ mother/NN ./.
I like you. You are like my mother.
شکل۳-۴ برچسب گذار استنفورد: در این شکل یک مثال از عملکرد POS Tagger استنفورد را میبینیم، خروجی به این شکل تولید میشود که به هر کلمه POS آن اضافه شده و کلمه-POS مطابق شکل تولید میشود.
استخراج بردار خصیصهها و ترکیب خصیصهها
این مرحله مهمترین مرحله از فرایند تحلیل احساس میباشد. باید مجموعه خصیصههایی را انتخاب کنیم که به خوبی اسناد موجود در مجموعه دادهها را مدلسازی کنند. همچنین این مدلهای ایجاد شده سودمندترین اطلاعات برای تحلیل احساس را در خود داشته باشند. توجه داشته باشیم مدلهای مناسب زیادی برای یک سند میتوان ارائه داد ولی مهمترین مسائله که باید مورد توجه قرار گیرد، این است که کدام یک از این مدلها برای فرایند تحلیل احساس مفید میباشد. مثلا عباسی و همکارانش برای ارائه مدل مناسب از هر سند مجموعه بسیار کاملی از خصیصهها را بکار گرفتند [۱]. این مجموعه خصیصهها در جدول ۲-۲ بیان شدهاند. استفاده از این مجموعه کامل از خصیصهها که بسیاری از آنها با یکدیگر همپوشانی دارند باعث افزایش غیر قابل توجیه تعداد خصیصهها خواهد شد، عباسی و همکارانش برای حل این مشکل از الگوریتم انتخاب خصیصه شبکه ارتباطی خصیصهها استفاده کردهاند، این الگوریتم پیچیدگی زمانی بالایی دارد؛ علاوه بر آن افزایش قابل توجهی در دقت طبقهبندی نیز حاصل نشده است. میتال و آگراوال در سال ۲۰۱۳ مدلی ارائه دادهاند، آنها در این مدل تنها ترکیبی از خصیصههای unigram و bigram را استفاده کردهاند [۵]. آنها از الگوریتم انتخاب حداقل افزونگی – حداکثر وابستگی استفاده کردند؛ این الگوریتم علارغم اینکه پیچیدگی زمانی کمتری نسبت به شبکه ارتباطی خصیصه(ارائه شده در [۱] ) دارد ولی نسبت به سایر الگوریتمهای تک متغیره بیان شده در بخشهای قبل پیچیدگی زمانی بیشتری دارد.
خصیصههای ۲-gram و ۳-gram دارای پراکندگی بیشتری نسبت به خصیصههای unigram هستند. به همین دلیل استفاده از این خصیصهها باعث کاهش دقت طبقهبندی میشود. ولی چنانچه این خصیصهها به همراه unigram برای مدلسازی سند به کار روند، باعث بهبود دقت طبقهبندی میشوند [۲۵].
خصیصههای N-POSWORD که مثالهایی از آن را در بخش قبل بیان کردیم باعث کاهش ابهام معنایی کلمات چند معنای خواهند شد لذا به فرایند تحلیل احساس کمک میکنند. جدول۳-۳ مثالی برای رفع ابهام نشان میدهد؛ در این مثال کلمه مبهم کلمه like است. like با دو معنای متفاوت بکار رفته، این ابهام معنایی با بهرهگیری از خصیصههای N-POS برای طبقه بند[۲۷] قابل رویت خواهد بود.
جدول ۳-۲ مثال برای رفع ابهام با بهره گرفتن از برچسب ادات سخن
I like you. | You are like my mother. | جمله مثال |
I/PRP like/VBP you/PRP ./. | You/PRP are/VBP like/IN my/PRP$ mother/NN ./. | عبارت برچسب گذاری شده |
Like | Like mother | مدل bigram پس ازپیش پردازش |
Like/VBP | Like/IN mother/NN | مدل ۲-POSWORD |
جدول ۳-۳ مثالی را برای رفع ابهام با بهره گرفتن از برچسب گذاری نقش کلمات بیان میکند. دو سطر آخر جدول مدل bigram و ۲-POSWORD این جملات را نشان میدهد. اگر توجه کنیم در سطر آخر با اضافه کردن برچسب ادات سخن و مشخص شدن نقش like در دو عبارت، ابهام برطرف شده است، به این معنی که با اضافه کردن برچسب سخن قادرخواهیم بود متفاوت بودن like در دو عبارت را تشخیص دهیم.
خصیصههای پیشنهادی ما برای مدلسازی اسناد در شکل ۳-۵ بیان شدهاند. با توجه به توضیحات بیان شده استفاده از این خصیصهها میتواند مدل مناسبی از سند را در اختیار ما قرار دهد. مدل پیشنهادی در این نوشتار از مدل پیشنهادی در [۵] خیلی کوچکتر است و نسبت به روش پیشنهادی در [۵] نیز دقت طبقهبندی بیشتری دارد.
شکل۳-۵ مجموعه خصیصههای پیشنهادی برای تحلیل احساس.
در تحقیقات پیشین ثابت شده است خصیصههای ۱-word یا unigram خصیصههایی هستند که اطلاعات مفیدی را در اختیار طبقهبند برای تحلیل احساس قرار میدهند. خصیصههای ۲-word یا bigram و ۳-word یا trigram قادرند ارتباط و همبستگی بین کلمات درون متن را مدلسازی کنند، این امکان برای خصیصههای ۱-word وجود ندارد. خصیصههای ۱-POSWORD، ۲-POSWORD و ۳-POSWORD نیز برای کاهش ابهامات موجود در خصیصههای n-word بیان شده، در مجموعه خصیصههای لازم برای مدلسازی متن وارد شدهاند. استفاده همزمان از این خصیصهها برای تشکیل بردار خصیصه، ما را با مشکل افزایش فضای بردار خصیصه و مشکلات ناشی از این موضوع روبرو خواهد کرد با فیلتر کردن چند مرحلهای خصیصهها این مشکل حل خواهد شد. ضمن اینکه در مرحله آخر حداقل تعداد خصیصه را خواهیم داشت لذا میتوانیم از روشهای انتخاب خصیصه تک متغیر با حداقل پیچیدگی زمانی استفاده کنیم.
در این مرحله فایلهای اسناد، حاوی توکنها، به عنوان ورودی دریافت میشود و خصیصههای بیان شده در شکل ۳-۵ استخراج میشوند.
الگوریتم ۲ (Algorithm 2) مجموعه اسناد و بردار خصیصهها را به عنوان ورودی دریافت میکند. توجه شود که بردار خصیصه در مراحل قبلی ایجاد شده است، همچنین اسناد به توکنها تجزیه شدهاند. همه توکنهای یک سند بررسی میشوند: چنانچه در بردار خصیصهها وجود داشته باشند به فایل مدل اضافه میشوند، چنانچه در بردار خصیصهها وجود نداشتند نیز به فایل مدل اضافه نمیشوند.
Algorithm 1 Documents_To_model
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 ) |
اعمال الگوریتم انتخاب خصیصه
برای انتخاب سودمندترین خصیصهها از الگوریتم نرخ سودمندی اطلاعات[۲۸] بهره گرفته ایم، که یک روش تک متغیره است. الگوریتم نرخ سودمندی اطلاعات تغییر یافته الگوریتم سودمندی اطلاعات[۲۹] است. الگوریتم نرخ سودمندی اطلاعات هر خصیصهای که اطلاعات سودمندی را برای طبقهبندی در خود داشتهباشد وزنی مخالف صفر میدهد. وزنی که الگوریتم سودمندی اطلاعات به هر خصیصه میدهد از معادله ۳-۴ بدست میآید.
۳-۴
p(Cj) کسری از اسناد است که به کلاس Cj تعلق دارند. p(w) کسری از اسناد است که کلمه w در آنها وجود دارد. p(Cj|w) کسری از اسناد متعلق به کلاس Cj میباشد که کلمه w در آنها رخ دادهاست. حال خصیصههایی که وزن بیشتری دارا باشند را به عنوان سودمندترین خصیصهها انتخاب میکنیم.
نرخ سودمندی اطلاعات با نرمالسازی سودمندی اطلاعات، وزنی را به هر خصیصه اختصاص میدهد (معادله ۳-۶ ). این وزن بیان کننده اهمیت آن خصیصه میباشد.
۳-۵
۳-۶
نرمالسازی سودمندی اطلاعات این امکان را به ما میدهد که بتوانیم با دقت بیشتری خصیصهها را از همدیگر تمیز دهیم، لذا بهتر است بجای الگوریتم سودمندی اطلاعات از الگوریتم نرخ سودمندی اطلاعات استفاده کنیم. خصیصههایی که InfoGainRation بیشتری دارند را برای طبقهبندی انتخاب میکنیم. در این روش نیز خصیصهها با وزن بیشتر خصیصههای سودمنتر هستند.
روش پیشنهادی دوم
روش اول قصد دارد مجموعه خصیصههایی را برای مدلسازی اسناد ارئه دهد، به گونه ای که این مجموعه خصیصهها اطلاعات مفیدی از محتوای اسناد برای فرایند تحلیل احساسات و عقاید مهیا کرده و دقت طبقهبندی را افزایش دهند. مجموعه خصیصههای پیشنهادی در شکل ۳-۵ قابل مشاهده هستند. در اغلب تحقیقات گذشته برای مدلسازی متن تنها از خصیصههای unigram استفاده شده است و گاهی ترکیبی از Unigram و bigram را بکار بردهاند. به این دلیل که خصیصههای bigram به تنهایی عملکرد بدتری نسبت به unigram دارند به طور کلی خصیصههای N-gram با n بزرگتر عملکرد بدتری نسبت به خصیصههای با n کوچکتر دارند. این عملکرد بد به دلیل غیر مرتبط بودن و غیر مفید بودن این مجموعه خصیصههای نیست، بلکه دلیل پراکندگی آنها است، با بزرگتر شدن n پراکندگی این خصیصهها نیز بیشتر میشود که خود عاملی بر زیاد شدن تعداد خصیصهها، کاهش دقت طبقهبندی و افزایش زمان اجرا خواهد بود. زبان طبیعی ما کلمات هم معنای زیادی در خود دارد که قابلیت استفاده بجای یکدیگر را دارند، استفاده از کلمات هم معنا در عبارات باعث ایجاد این پراکندگی میشود. این پراکندگی نه تنها برای خصیصههای N-gram با n > 1 مطرح است بلکه برای خصیصههای ۱-gram نیز مطرح است. جدول ۳-۳ مثالی را از پراکندگی خصیصههای unigram نشان میدهد. همانطور که در جدول ۳-۳ میبینیم برای کلمه great_JJ (کلمه great با ادات سخن صفت) ۱۵ کلمه هم معنا قابل استفاده است
جدول ۳-۳ کلمات هم معنای great : این کلمات از Wordnet استخراج شدهاند. این کلمات در یکی از ۷ معنای متفاوت great در نقش صفت با آن هم معنا هستند.
Great_JJ | ||||||||||||||
Smashing | slap-up | Peachy | Not bad | Nifty | neat | keen | groovy | swell | dandy | dandy | cracking | corking | bully | bang-up |
کاربران متفاوت بجای استفاده از کلمه great از هر کدام از معادلهای معنایی آن نیز میتوانند استفاده کنند، این امر باعث ایجاد پراکندگی در خصیصههای unigram میشود.
در روش پیشنهادی دوم پراکندگی خصیصههای unigram مورد توجه قرار گرفته است و تلاش کردیم راه حلی برای این مشکل ارائه دهیم. شکل ۳-۶ شمای کلی روش دوم را نشان میدهد. برای حل کردن مشکل پراکندگی در کلمات unigram الگوریتم Document_to_Model تغییراتی را ایجاد کردیم.
Algorithm 2 Documents_To_model2
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 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 کلمات و انتخاب خصیصههای سودمند است البته برای بعضی کاربردها ابزارهای وجود دارد، ولی این ابزارها از دقت کافی برخوردار نیستند. پیچیدگیهایی در ساختار زبان فارسی وجود دارد که فرایند پردازش و تحلیل ماشینی زبان فارسی را نسبت به زبان انگلیسی سختتر میکند، از جمله این مشکلات میتوان به پیشوند و پسوندهای متفاوت کلمات، فاصله و نیم فاصله بین کلمات اشاره کرد. کلماتی مانند “میپسندم” دارای پیشوند “می” و کلمه “دوستان” دارای پسوند “ان” است. بسیاری از کلمات فارسی در کاربردهای متفاوت با پیشوندها و پسوندهایی همراه میشوند، این امر باعث افزایش چشمگیر تعداد خصیصهها و همچنین افزایش پراکندگی آنها میشود، مثلا کلمات “میپسندم"، “پسندید"، “میپسندند” هر کدام یک خصیصه خواهند بود، در صورتی که بهتر است همه آنها را به عنوان یک خصیصه “پسندیدن” در نظر گرفت. یکی از چالشهای موجود در پردازش ماشینی زبان فارسی، فاصله بین کلمات در متون فارسی بوده است، به عنوان مثال “لذتبخش” در عبارت “مشاهده صفحه نمایش گوشی در زیر آفتاب هم برای شما لذتبخش خواهد بود” یک کلمه مرکب بوده که “لذت” و “بخش” با بهره گرفتن از نیم فاصله از هم جدا میشوند. اگر دو بخش “لذت” و “بخش” مانند “لذت بخش” با یک فاصله از هم جدا شوند دو نشانه مجزا خواهند بود. برای تشخیص کلمات و استخراج نشانههای متن مهمترین جداکننده نشانهها و اصطلاحات، فاصله بین آنها است. لذا باید قبل از انجام پردازشهای لازم برای تحلیل احساس، این فاصلهها را در حد امکان تنظیم کنیم. بازبینیهایی کاربران، مانند عبارت “عدم وجود دقت کافی در دوربین” ، غالبا از قوانین گرامری و نحوی زبان فارسی پیروی نمیکنند. علاوه بر اینکه در نوشتار امکان استفاده از کلمات عامیانه وجود دارد، این کلمات خود نیز در بازبینیهای کاربران متفاوت میتوانند قالب نوشتاری متفاوت داشته باشند. قالب نوشتاری متفاوت کلمات عامیانه باعث افزایش پراکندگی خصیصهها و همچنین کاهش دقت طبقهبندی میشود، به عنوان مثال عبارات “عالیه"، “عالللللییییییه” و ” عالی هس” همه یک مفهوم را بیان میکنند. به منظور حل کردن چالشهای مطرح شده، عملیات پیشپردازش بر روی متن انجام داده شده است. فرایند پیشپردازش بعضی کلمات و عبارات را به قالب نرمال و صحیح نحوی و گرامری تبدیل میکند.
در فرایند پیش پردازش کلمات عامیانه به شکل اصلیشان تبدیل میشوند، فاصلههای بین کلمات تنظیم میشود به گونهای که بتوان متن را به درستی به نشانههای سازندهاش تجزیه کرد. جدول (۱) تعدادی از عبارات حاوی کلمات عامیانه و فاصلههای نامنظم بین کلمات، همچنین اصلاح شده این عبارات پس از انجام پیشپردازشها را نشان میدهد.
جدول۳-۴ عبارات که حاوی کلمات عامیانه هستند. با انجام پیش پردازش، عبارات اصلاح شده و به فرم قابل مشاهده در جدول تبدیل میشوند.
عبارت حاوی کلمات عامیانه و فاصلههای نامنظم | عبارت پیش پردازش شده با تنظیم فاصلهها و تبدیل کلمات به فرم رسمی |
آخرین ایرادی که این گوشی داره حافظه ی داخلیه کمیه که داره | آخرین ایرادی که این گوشی دارد حافظهی داخلی کمی هست که دارد |
افتضاس | افتضاح است |
یه کم سنگینه | یک کم سنگین است |
روش پیشنهادی شامل پنج فاز اصلی میباشد، که در شکل (۱) قابل مشاهده هستند. همانطور که در شکل مشخص شده، ورودی تحلیلگر احساس مجموعهای از اسناد هستند، در ابتدا همه اسناد پیشپردازش میشوند تا به قالب مناسب برای تحلیل در فازهای بعدی تبدیل شوند. پس از انجام پیشپردازشها با بهرهگیری از کتابخانه Persian POS Tagger برچسب POS کلمات را به متن اضافه میکنیم. در فاز دوم روش پیشنهادی، خصیصههای مورد نیاز از متن استخراج میشوند، سپس با ترکیب کردن خصیصهها، بردار خصیصههای را تشکیل میدهیم، با داشتن بردار خصیصهها باید هر سند را بصورت یک بردار خصیصه نمایش دهیم. در پایان نیز خصیصههای سودمند را انتخاب میکنیم و عملیات طبقهبندی را انجام میدهیم.
شکل۳-۸ شمای کلی روش پیشنهادی.
-
-
- ریشه یابی و برچسبگذاری نقش کلمات
-
برای ریشهیابی و برچسبگذاری نقش کلمات از نرم افزار برچسب گذاری نقش کلمات فارسی دانشگاه فردوسی مشهد[۳۰] استفاده شدهاست. این نرم افزار توسط تیم پردازش زبان طبیعی دانشگاه فردوسی مشهد طراحی و پیادهسازی شد. شکل۳-۹ یک مثال از عملکرد این نرم افزار را نشان می دهد.
ریشه یاب و برچسب گذار نقش کلمات فارسی
البته<ADV> تنها<ADV> بدی<N> که<SUBR> داشت<V> که<SUBR> البته<ADV> دی<N> کالا<N> هم<ADV> به<PREP> آن<PREM> اشاره<N> کرد<V> یک<PRENUM> کیفیت<N> پایین<ADJ> فیلم<N> آن <PR> است<V>
شکل۳-۹ برچسب گذار زبان فارسی: در این شکل یک مثال از عملکرد ریشهیابی و برچسبگذاری کلمات فارسی را میبینیم، خروجی به این شکل تولید میشود: ابتدا ریشه هر کلمه مشخص میشود سپس به هر کلمه نقش سخن آن اضافه شده و کلمه-POS مطابق شکل تولید میشود.
البته تنها بدیهایی که دارد که البته دیجی کالا هم به آنها اشاره کرده یکی کیفیت پایین فیلمبرداری آن است . . .
تعداد زیاد خصیصهها در متون از جمله مشکلات مطرح در تحلیل احساسات و عقاید موجود درمتن برای همه زبانها است، با ریشهیابی کلمات میتوانیم تعداد خصیصهها را کاهش دهیم. در این تحقیق ابتدا ریشهی کلمات استخراج شد ، و در مرحله بعد برچسب نقش کلمات به متن اضافه شد.
-
-
- استخراج خصیصهها
-
هدف اصلی این تحقیق استخراج خصیصههای مطلوب برای مدل سازی متن میباشد. در شکل (۳) این مجموعه