مقدمه
در سالهای اخیر استفاده از تکنیکهای دادهکاوی و الگوریتمهای هوشمند فراگیر شده است. بسیاری از کارهایی که در گذشته با صرف هزینههای زمانی و مالی فراوان حاصل شدهاند، میتواند توسط این تکنیکها و الگوریتمها انجام گردد. از سویی دیگر، بسیاری از منابع ما منابع متنی هستند که آنها را موضوعبندی و طبقهبندی کردهایم. در طول این سالیان، طبقهبندیهای مختلف و با نگرشهای مختلفی برای این کار مطرح شده است. نکته قابل توجه، امکان خودکارسازی این طبقهبندیها بهازای متون جدید است. در زمینه پردازش زبان طبیعی و بهخصوص پردازش متن، یکی از پایهایترین کارها ردهبندی یا طبقهبندی خودکار متون(3) است. شناسایی رده، دسته یا طبقه یک متن میتواند اطلاعات مفیدی برای فرایندهای همچون ترجمه ماشینی(4) ، تبدیل نوشتار به گفتار(5) و نویسهخوان نوری (OCR)(6) به دست دهد. از این رو و با توجه به وابستگیهای زبانی، لازم دیدیم تا ردهبند کارایی را برای زبان فارسی فراهم کنیم. ادامه این مقاله، از چند بخش تشکیل شده است؛ در بخش 1 و 2 توصیفی از ردهبندی متون و کارهای گذشته در آن زمینه آمده است. بخش 3 روش ارائه شده ما برای انجام این کار را نشان میدهد. در بخش 4 هم آزمایشها و نتایج را قرار دادهایم. در انتها و در بخش 5 و 6 سپاسگزاری و منابع ارائه شده است.
1. ردهبندی متون
اگر فرض کنیم که متنهای مورد بررسی ما، در n رده تقسیمبندی شوند (برای نمونه، حوزههای: ورزشی، سیاسی، خانواده، تغذیه و ...) که مجموعه این ردهها به صورت { C={c1c2...cN نشان داده شده است، به عمل مشخص کردن حوزه یک متن ناشناخته، عمل ردهبندی آن متن گفته میشود. رابطه 1 تابع ردهبندی کننده f را که با گرفتن متن نمونه t رده متناظر آن را (c) محاسبه میکند، نشان میدهد.
رابطه1- تابع ردهبندی کننده f.
برای نمونه، اگر حوزهها یا همان ردههای متنهای ما، به دو رده «ورزشی» و «اجتماعی» تقسیمبندی شده باشد، مطابق شکل 1 رده متناظر با متن نمونه، «ورزشی» است:
شکل1: نمونهای از فرآیند ردهبندی متن
2. کارهای گذشته
براری و همکارانش یکی از اولین کارها در زمینه طبقهبندی متون فارسی را انجام دادهاند. آنها در ذیل مقالهشان [5] اشاره کردهاند که پیکره خود را از سایت خبری ایسنا تهیه کردهاند. آزمایشهای انجام شده توسط ایشان 97% را در بهترین حالت برای ردهبندی سه کلاسی متون فارسی نشان میدهد. روش به کار رفته این مقاله، نوعی از ردهبند بیزین است. در کاری دیگر، بینا و همکارانشان با استفاده از روش k نزدیکترین همسایه و معیارهای مختلف فاصلهسنجی و نیز با کمک حذف کلمات توقف (stop words) در بیشترین حالت درصد دقت 78% را ثبت نمودهاند [6]. این نکته را یادآوری میکنیم که ما نیز بر روی همان دادهها و با یکی از روشی مشابه با روش به کار رفته آنان تحقیقاتمان را انجام دادهایم؛ اما نتایج ما بسیار بهتر به دست آمده است. در سال 1386 بصیری و همکارانش طی آزمایشهای خود نشان دادند که ردهبند فازی شده K نزدیکترین همسایه (FKNN) قابلیت بالاتری نسبت به خود آن ردهبند دارد[7] . آنها پیکره آموزشی خود را با انتخاب 600 سند متنی از دو روزنامه آنلاین ایران و جامجم انجام دادهاند. بهترین درصد اعلام شده توسط ایشان 8% دقت معیار-F1 بوده است. در یکی از آخرین کارها در سال 1388، مقصودی و همایونپور روشی مبتنی بر دانش معنایی و گنجواژه (فرهنگ طیفی) ارائه کردهاند [8]. این روش با استفاده از دادهگان فارسی پایگاه ویکیپدیا و استفاده از ردهبند ماشین بردار پشتیبان در بهترین حالت به مقدار 86% معیار F-measure دست پیدا کرده است.
3. ردهبندی متن در این پروژه
در این پروژه برای نمایش متون از چند گرمهای (N-gram) آماری استفاده کردهایم. همان طور که میدانیم، هر متن را میتوان به کلمات تشکیلدهنده آن متن شکست. حال برای ساخت سهگرمهای این متن، هر یک کلمات آن متن را برداشته و سهکارکتریهای کنار هم را تفکیک میکنیم. برای نمونه، در عبارت «پدرم به مدرسه رفت»، پس از عمل ساخت سهگرمها خواهیم داشت: «پدر درم مدر درس رسه رفت».
حال اگر این سهگرمها را بر حسب تعداد تکرارشان منظم کرده و عناصر تکراری را حذف کنیم، به خروجی حاصل، یک پروفایل گفته میشود؛ برای مثال، پروفایل حاصل از عبارت «باران میبارد»، به صورت جدول ۱ نمایش داده شده است:
جدول ۱: پروفایل محاسبه شده برای عبارت «باران میبارد»
* دو معیار فاصله سنجی در این پروژه: معیار اول، معیار Dice است که هر چه بیشتر باشد، نشان میدهد که دو متن بیشتر به هم شباهت دارند. اگر فرض کنیم، پروفایل متن 1 با P1 و پروفایل متن 2 با P2 مشخص گردد، فاصله Dice به صورت رابطه زیر محاسبه میگردد.
رابطه2: معیار فاصله Dice برای مقایسه فاصله پروفایل دو متن
در این رابطه، قدر مطلق، نشانه تعداد عناصر در آن پروفایل است. در الگوریتم k نزدیکترین همسایه و با معیار فاصله اول، ردهای برنده میشود که بیشترین تعداد را در میان جوابهای نزدیک به خود اختصاص داده است. معیار دوم هم مانند معیار اول عمل میکند؛ اما با این تفاوت که ردهی برنده بیشترین مجموع فاصله Dice را به خود اختصاص داده است.
در هر یک از دو معیار فاصله اگر دو دسته از لحاظ فاصله با هم برابر شدند، برای حل مشکل به احتمال رخداد هر یک از دستهها باز میگردیم و دسته محتملتر را برنده اعلام میکنیم.
4. آزمایشها و نتایج
* مجموعه دادههای این پروژه: این پژوهش، عمل آموزش و آزمون خود را بر روی پیکره همشهری انجام داده است. این پیکره شامل بیش از 100،000 متن میباشند که در 82 دسته مختلف، دستهبندی شدهاند. از میان این 82 دسته، هفت دسته را جهت انجام عمل آموزش و آزمون ابزار خود انتخاب کردهایم (جدول ۲). تعداد متن مورد استفاده ما برای این هفت دسته، مجموعا 4000 متن است. علت استفاده از این هفت دسته، داشتن قدرت مقایسه با مقاله [6] بوده است.
جدول۲: فهرست دستههای متن انتخاب شده جهت آزمایشها این پژوهش
در شکل ۲ چگونگي توزیع میزان تکرار سهگرمیهای مجموعه آموزش این پژوهش نمایش داده شده است. همان طور که دیده میشود، از میان 100 سهگرمی پرتکرار، به ازای هر دسته، توزیع تکرار سهگرمیها یک روند کاهشی را طی میکند.
شکل۲: توزیع میزان تکرار سهگرمها در هفت دسته متن موجود
برای انجام آزمایشها، از میان 4000 متن، میزان 70% آنها، یعنی 2800 متن جهت آموزش و 1200 متن (30%) جهت آزمون به کار رفته است. همان طور که گفته شد، دو معیار فاصلهسنجی با ترکیب با روش نزدیکترین همسایه از 1 تا 20، چهل نوع جواب را به دست میدهد که با اعمال این روشها بر روی مجموعه آزمون، نتایج مطابق با شکل 3 به دست آمده است:
شکل 3: نتایج دقت عمل دستهبندی بهازای هر یک از معیارهای فاصله و هر تعداد همسایه تاثیرگذار در رنج 1 تا 20
نقطه اوج این دو نمودار، در یک نزدیکترین همسایه با دقت 89% بوده است. این به معنی دقت 89% در شناسایی رده متون ناشناخته است. همچنین با افزایش تعداد همسایههای تاثیرگذار، درصد دقت معیار وزن گرفته Dice بالاتر بوده است. نتایج این موتور دستهبندی کننده، بر اساس معیارهای دقت(7) و بازخوانی(8) و معیار F که در مقالهBaeza-Yates وRibeiro-Neto([3,4]) برای هر دسته به صورت زیر تعریف شده، در جدول ۳ محاسبه کردهایم.
رابطه۴: معیار دقت ردهبندی یک رده
رابطه۵: معیار بازخوانی ردهبندی یک رده
رابطه۶: معیار F ردهبندی یک دسته
به طوری که CC بیانگر تعداد متنهايی میباشد که برای آن دسته درست ردهبندی شدهاند، TCF برابر با مجموع تعداد متنهای که برای آن دسته درست ردهبندی شدهاند بعلاوهی تعداد متنهایی که به غلط جزو این دسته شمرده شدهاند و TC بیانگر تعداد کل متنهایی که جزو آن دسته میباشند، بدون توجه به اینکه موتور ما چه خروجی داده باشد.
جدول 3: نتایج حاصل شده ردهبندی کننده به ازای هریک از دستهها
* نتیجهگیری: نتایج به ما نشان داد که ردهبند K نزدیکترین همسایه میتواند به عنوان یکی از ردهبندهای قوی در این زمینه به کار رود؛ به طوری که کارایی ردهبند طراحی شده این پژوهش، از بسیاری از کارهای مشابه خود بالاتر بوده و دقت قابل توجی را به دست آورده است. معیار استفاده شده در این پژوهش (معیار Dice)، با وجود سادگی زیاد، توانسته بهخوبی عمل کند. این ممکن است به جهت چگونگي محاسبه مشابهت در این معیار باشد (کلمات همریشه به احتمال زیاد دارای سهگرمیهای مشترکی هستند و این امر به گونهاي مشابه روش مشابهت بر اساس ریشهیابی کلمات است). همچنین استفاده از معیارهای دقیقتری برای فاصلهسنجی میتواند مفید واقع گردد. ترکیب نتایج چند معیار فاصلهسنجی هم میتواند معیار فاصله مناسبتری را فراهم سازد.
5. سپاسگزاری
در پایان، از تلاش و توجه همکاران مرکز تحقیقات کامپیوتری علوم اسلامی و دوستان گروه پژوهشی متنکاوی نور(9) و نیز دانشگاه آزاد اسلامی قزوین(10) برای حمایت از این مقاله تشکر میکنیم. همچنین امید داریم تا بتوانیم با انجام این تحقیقات، علاوه بر اعتلای زبان فارسی، به زبان عربی نيز که زبان مشترک مسلمانان عالم است، خدمتی کرده باشیم.
پی نوشت ها:
منابع:
[1]. Ehsan Darrudi, Mohammad Reza Hejazi, Farhad Oroumchian, Assessment of a Modern Farsi Corpus, In Proceedings of the 2nd Workshop on Information Technology & its Disciplines (WITID'04), ITRC, Kish Island, Iran, 2004.[2]. Egghe, L. (2000). "The distribution of N-grams".Scientometrics, 47((February) 2), 237–252 (16).
[3]. Baeza-Yates, R., & Ribeiro-Neto, B. (1999). Chapter 3 Retrieval evaluation.In Modern information retrieval.AddisonWesley.
[4]. Khreisat L., 2009, "A machine learning approach for Arabic text classification using N-gram frequency statistics", Proceeding of the 3nd Journal of Informetrics, page 72-77.[5]. براری ل.، آنالوئی م.، گرمه م.، 1384، «تکنیکهای یادگیری ماشین برای ردهبندی متون فارسی»، ارائه شده در یازدهمین کنفرانس بین المللی کامپیوتر انجمن کامپیوتر ایران، بهمن 1384، تهران.
[6]. بینا ب.، رهگزر م.، دهموبد آ.، 1386، «طبقهبندی خودکار متون فارسی»، ارائه شده در سیزدهمین کنفرانس ملی انجمن کامپیوتر ایران، جزیره کیش 19-21 اسفند 1386.
[7]. بصیری م. ا.، نعمتی ش.، قاسمآقایی ن.، 1386، «مقایسه ردهبندی متون فارسی با استفاده از الگوریتم knn و fknn و انتخاب ویژگیها براساس بهره اطلاعات و فرکانس سند»، ارائه شده در سیزدهمین کنفرانس ملی انجمن کامپیوتر ایران، جزیره کیش 19-21 اسفند 1386.
[8]. مقصودی ن.، همایونپور م.م.، 1388، «ارائه روشي جديد در طبقهبندي متون فارسي با استفاده از دانش معنايي»، ارائه شده در پانزدهمین کنفرانس بینالمللی سالانه انجمن کامپیوتر ایران.