بخشی از مقاله

چکیده :

در سالهای اخیر به علت رشد سریع و در دسترس قرار گرفتن متون به شکل دیجیتالی در فضای وب، مدیریت مبتنی بر محتوای متون تحت عنوان کلی بازیابی اطلاعات از اهمیتی دوچندان برخوردار شده است. با توجه به افزایش روزافزون این حجم از اطلاعات، وجود سیستمی برای رده بندی خودکار اسناد متنی در وب، ضروری بهنظر میرسد. رده بندی متون به عمل برچسبگذاری موضوعی متون زبان طبیعی بر مبنای یک مجموعه از پیش تعیین شده، اطلاق میشود. روشهای رده بندی متون عموما با تعداد ویژگی فراوان روبرو میشوند. ماشین بردار پشتیبان، یکی از روش های موثر در رده بندی متون میباشد. در این روش، اطلاعات در فضای موجود با استفاده از بردار پشتیبان به زیرفضاهایی تقسیم میشوند. مشکل عمدهای که در اینجا بروز میکند این است که تعداد ابعاد و ویژگیهای زیادی که متون دارند باعث بالا رفتن حجم محاسبات و کاهش دقت میشوند. در این مقاله، به منظور کاهش تعداد ویژگیها و انتخاب ویژگیهای مناسب و موثر مطابق، از تحلیل تفکیککننده خطی - LDA - استفاده شده است. نتایج حاصل از اجرای روش پیشنهادی برروی دادههای 20 News Group نشان از برتری روش پیشنهادی نسبت به روش پایه دارد.

کلید واژهها: پردازش زبان طبیعی، داده کاوی، رده بندی متن، ماشین بردار پشتیبان، .LDA

-1 مقدمه

در سالهای اخیر، استفاده از تکنیکهای دادهکاوی و الگوریتمهای هوشمند، فراگیر شده است. بسیاری از کارهایی که در گذشته با صرف هزینههای زمانی و مالی فراوان حاصل شدهاند، میتواند توسط این تکنیکها و الگوریتم ها انجام گردد . از سویی دیگر، بسیاری از منابع اطلاعاتی ما، منابع متنی هستند که آنها را موضوعبندی و طبقهبندی کردهایم. در طول این سالیان، طبقهبندیهای مختلف و با نگرشهای مختلفی برای این کار مطرح شده است. نکته قابل توجه، امکان خودکارسازی این طبقهبندیها بهازای متون جدید است. در زمینه پردازش زبان طبیعی و بهخصوص پردازش متن، یکی از پایهایترین و اساسیترین کارها، رده بندی خودکار متون است.

اختصاص متون زبان طبیعی به مجموعهای از ردههای از پیش تعیین شده رده بندی متون نامیده میشود. با توجه به افزایش حجم اطلاعات برخط موجود در منابع اینترنتی، رده بندی متون به صورت دستی غیرممکن به نظر میرسد و ناگزیر به استفاده از سیستمهای رده بندی خودکار خواهیم بود. عملکرد غالب این سیستمها به این صورت است که با مجموعهای از متون که از پیش تعیین کلاس شدهاند، مرحله آموزش صورت گرفته و سپس سیستم قادر خواهد بود متون جدید را به یک و یا بیش از یک کلاس آموزش دیده شده نسبت دهد. هر سند از مجموعه متون آموزشی شامل تعداد زیادی کلمات مرتبط و نامرتبط با کلاس متناظر با آن سند میباشد.

در رده بندی متون بطور معمول از کلمات متن به عنوان ویژگی های آن متن استفاده می شود در نتیجه روشهای رده بندی متون با تعداد زیادی ویژگی مواجه میباشند به منظور کاهش تعداد ویژگی ها و انتخاب ویژگیهای مرتبط از روشهای متعددی استفاده میشود. از جمله روشهای موجود در رده بندی متون نیز میتوان به روشهای بیزین ساده، K-NN، رگرسیون، درختهای تصمیمگیری، شبکههای عصبی، ماشین بردار پشتیبان - SVM - ، روشهای مبتنی بر قاعده و تکاملی اشاره نمود. روش SVM یکی از مطرحترین روشها در رده بندی متون میباشد .[17-15] در این روش که یکی از روشهای یادگیری با نظارت است اطلاعات را ازفضای حاضر به فضای برداری دیگری عموما با ابعاد بیشتر که در آن الگوریتم های یادگیری خطی قابل کاربرد است نگاشت می کند . در این مقاله به ترتیب از تحلیل تفکیککننده خطی - LDA - برای انتخاب ویژگی و از SVM برای انجام رده بندی متون استفاده خواهد شد.

-2 کارهای گذشته

برای رده بندی متون انگلیسی و دیگر زبانهای خارجی، فعالیتهای متعددی در سطح جهان، انجام شده است. آدوا و همکاران [1] در سال 2014 با ترکیب متدهای مختلف یادگیری ماشینی و بهرهگیری از فوق دادههای اسناد پزشکی، اقدام به رده بندی اسناد پزشکی کردند و به دقت 84 درصد در رده بندی اسناد پزشکی دست یافتند. چوی و همکاران [2] با استفاده از مدل N-gram و WordNet متونی با موضوعات مرتبط در در حوزه تروریسم رده بندی کردند و به دقت قابل قبولی دست یافتند. تانجیل و همکاران [3] از رده بندی متن برای شناسایی بدافزارهای سیستم عامل اندروید استفاده کردند. آنها رده بندی متن را برروی کدمنبع برنامههای تحت اندروید اعمال کردند تا مشخص کنند که کدام کدهای منبع متعلق به بدافزارها هستند. کولاس و همکاران [4] روشی برای رده بندی متون به صورت تک برچسب در حالتی که تعداد اسناد برچسب خورده کم باشند را ارائه دادند. روش آنها برگرفته از تکنیکهای مدل موضوعی بوده و مبتنی بر الگوریتم تخصیص پنهان دیریکله کار میکرد.

پیریرا و همکاران [5] در سال 2013 روشی مبتنی بر رده بندی متن برای رده بندی کودکان مبتلا به صرع براساس پرونده پزشکی ایشان، ارائه دادند. آنها از الگوریتم KNN برای انجام رده بندی متون پروندههای پزشکی استفاده کردند. گارلا [6] و همکاران در سال 2013 از یک روش نیمه نظارت شده برای رده بندی متون پزشکی استفاده کردند. الگوریتم مورد استفاده آنها در این کار، ماشین بردار پشتیبان لاپلاسی بوده است. یو و همکاران [7] در سال 2014 روشی برای رده بندی چند برچسبه متون با استفاده از همبستگی بین برچسبها ارائه دادند. روش آنها تئوری مجموعه راف عمل میکرد . وان و همکاران [8] در سال 2012 یک متد ترکیبی برای رده بندی متون ارائه دادند که پیکربندی و پارامترهای اولیه آن حداقل بود. آنها این متد را با ترکیب الگوریتمهای SVN و KNN به دست آورند و نام این الگوریتم جدید را SVM-NN نامیدند.

یاو و مین [9] یک الگوریتم برای رده بندی متون بهنام DNB را ارائه کردند که رده بندی متون را با کیفیت خوبی انجام میداد و در مورد ردهها نیز اطلاعات توصیفی ارزندهای تولید میکرد. لی و همکاران [10] در سال 2011 یک روش برای رده بندی متون چینی ارائه دادند. این روش حتی در هنگامی که دادههای نمونه برای آموزش کم بودند نیز عملکرد خوبی داشت. آنها از الگوریتم Naïve Bayes با استفاده از توزیع پوآسون برای انجام این کار، استفاده کردند. در داخل نیز فعالیتهای محدودی در زمینه رده بندی متون، انجام شده است. براری و همکارانش [11] یکی از اولین کارها در زمینه رده بندی متون فارسی را انجام دادهاند. آنها اشاره کردهاند که پیکره خود را از سایت خبری ایسنا تهیه کردهاند. آزمایشهای انجام شده توسط ایشان %97 را در بهترین حالت برای رده بندی سه کلاسی متون فارسی نشان میدهد. روش به کار رفته این مقاله، نوعی از ردهبند بیزین است. در کاری دیگر، بینا و همکارانش [12] با استفاده از روش -kنزدیکترین همسایه و معیارهای مختلف فاصلهسنجی و نیز با کمک حذف کلمات توقف - stop words - در بیشترین حالت درصد دقت %78 را ثبت نمودهاند .[12]

در سال 2007 بصیری و همکارانش [13] طی آزمایشهای خود نشان دادند که ردهبند فازی شده -k نزدیکترین همسایه - FKNN - قابلیت بالاتری نسبت به خود آن ردهبند دارد. آنها پیکره آموزشی خود را با انتخاب 600 سند متنی از دو روزنامه آنلاین ایران و جامجم انجام دادهاند . بهترین درصد اعلام شده توسط ایشان %80 دقت برای معیار F1 بوده است. در یکی از آخرین کارها در سال 2009، مقصودی و همایونپور [14] روشی مبتنی بر دانش معنایی و گنجواژه - فرهنگ طیفی - ارائه کردهاند. این روش با استفاده از دادهگان فارسی پایگاه ویکیپدیا و استفاده از رده بند ماشین بردار پشتیبان در بهترین حالت به مقدار %86 معیار F1 دست پیدا کرده است.

-3 روش پیشنهادی

-1-3  کاهش ابعاد با استفاده از الگوریتم LDA

روش LDA به دلیل سادگی الگوریتم، یکی از بهترین روشها برای انجام همزمان کاهش بعد و رده بندی است. در روش LDA کلاسیک، هدف بیشینه کردن تابع J - w - است که به شکل زیر تعریف می شود. در این تابع SB ماتریس پراکندگی بین کلاسی و SW ماتریس پراکندگی درونکلاسی نامیده میشود. در این روش این دو ماتریس ناتکینه هستند. w نیز ماتریس وزنهای اولیه است. که برای یک مسئلهی C کلاسه، با فرض اینکه بردارهای ویژگی اولیه x باشند، و با این فرض که در هر دستهی i به تعداد Ni نمونه وجود دارد و میانگین هر دسته نیز i و میانگین کل دسته باشد؛ روابط حاکم بر مساله به صورت روابط - 2 - نوشته میشوند. هدف روش LDA یافتن مقداری برای w است که تابع J - w - را بیشینه میکند. نشان داده میشود که هر ستون ماتریس w بهینه، بردار ویژه متناسب با بزرگترین مقدار ویژهای است که از حل مسئلهی - 3 - بدست میآید.

-2-3 ردهبندی با استفاده از الگوریتم SVM

در این مقاله از الگوریتم ماشین بردار پشتیبان برای رده بندی اسناد متنی استفاده شده است. این الگوریتم برای رده بندی در فضای با ابعاد بالا و به ویژه برای رده بندی متن دارای کاربردهای بسیار وسیعی است .[15] فرض کنید مجموعه نقاط داده را در اختیار داریم و میخواهیم آنها را به دو رده   تفکیک کنیم. هر x i یک بردار P بعدی از اعداد حقیقی است که در واقع همان متغیرهای بیانگر رفتار نرم افزار هستند. روشهای رده بندی خطی، سعی دارند که با ساختن یک ابرسطح - معادله خطی - ، دادهها را از هم تفکیک کنند. روش رده بندی ماشین بردار پشتیبان که یکی از روشهای رده بندی خطی است، بهترین ابرسطحی را پیدا میکند که با حداکثر فاصله، داده های مربوط به دو رده را از هم تفکیک کند. جداسازهای بردار پشتیبان در فضای ورودی، مرزهای خطی را ایجاد میکنند.

میتوان با بسط دادن فضای ورودی به فضایی بزرگتر با استفاده از توابع پایه همانند چندجملهایها، درجه آزادی این روند را افزایش داد. به طور کلی مرزهای خطی در فضای ورودی جدید - بسط داده شده - جداسازی بهتری را در طبقههای آموزشی به وجود میآورند و در برگرداندن آنها به فضای ورودی اولیه به مرزهای غیرخطی تبدیل میشوند. بنابراین میتوان گفت ایده یک ماشین بردار پشتیبان شامل دو فرآیند ذیل است:

·    نگاشت غیر خطی بردار ورودی به یک فضای ویژگی با ابعاد بالاتر که از دیدگاه ورودی و خروجی پنهان است.

·    ایجاد یک ابرصفحه بهینه برای تفکیک ویژگیهایی که در مرحله یک ایجاد بدست آمدهاند.

مبنای فرآیند اول، تئوری کاور درباره تفکیکپذیری الگوها است. فرض کنید که فضای ورودی از مجموعهای از الگوهای تفکیکناپذیر تشکیل شده باشد. تئوری کاور توضیح میدهد که میتوان با انتقال الگوهای مذکور به یک فضای ویژگی جدید به ویژگیهایی دست یافت که با احتمال بالایی تفکیک پذیر خطی باشند، به شرط آنکه اول انتقال غیرخطی باشد و دوم ابعاد فضای ویژگی به اندازه کافی زیاد باشد. فرآیند یک متضمن دو شرط فوق است. توجه کنید که تئوری کاور بهینه بودن ابرصفحه جداکننده را شرح نمیدهد. بلکه فرآیند بهینهسازی ابرصفحه بهینه در فرآیند دوم در نظر گرفته شده است. به طور مشخص، فرآیند دوم از ایده ایجاد یک ابرصفحه بهینه استفاده می کند.

اما با یک تفاوت اساسی، در این حالت، ابرصفحه جداکننده به صورت یک تابع خطی از بردارهای نگاشتیافته در فضای ویژگی، به جای بردارهای اصلی در فضای ورودی، تعریف میشود. بنابراین در حالتی که توابع پایه مشخص شده باشند، طراحی مرزها در فضای بسط داده شده همانند مسألههای بهینه سازی مطرح شده در بخشهای قبل است که کاری سادهتر و با درجه آزادی بیشتر نسبت به طراحی در فضای ورودی است. جدیترین مسئله در روش SVM انتخاب تابع کرنل است. روشها و اصول متعددی برای این کار معرفی شده است: کرنل انتشار، کرنل فیشر، کرنل رشته و غیره. همچنین، تحقیقاتی نیز برای بدست آوردن ماتریس کرنل از روی دادههای موجود در حال انجام است. در عمل، یک کرنل چندجملهای با درجه پایین یا کرنل تابع پایه شعاعی - RBF - با پهنای قابل قبول تلاش آغازین خوبی است.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید