واژگانکلیدی: متنکاوی، دستهبندی خودکار متون، جستجو، قرآن کریم، نرمافزار قرآنی.
1. مقدمه
در دنیایی زندگی میکنیم که اطلاعات ارزش بسیاری برای ما دارند. با افزایش حجم اطلاعات، نیاز فوق العاده به ابزارها و روشهایی که بتوانند در جستجو، فیلتر نمودن و مدیریت منابع کمک کنند، کاملاً محسوس است. یکی از انواع اطلاعات، متون موجود در کتابها است و یکی از انواع کتابها، کتابهای مقدس هستند که در این میان، قرآن کریم آخرین کتاب مقدس میباشد و برای ما مسلمانان ارزش بسیاری دارد. پژوهشگران قرآنی و دانشجویان علوم قرآنی، مبلغان دینی و حتی عامه مردم نیازمند جستجو در متن قرآن و آیات میباشند که البته نرمافزارهایی به این منظور طراحی و پیاده سازی شده است که آنها را میتوان به سه دسته کلی طبقهبندی کرد:
الف ـ نرمافزارهای تحلیلی و آماری قرآن: این نرمافزارها امکان جستجو آماری و تحلیلی را به پژوهشگران قرآنی که به دنبال اعجاز عددی و نظم ساختاری کلمات و موضوعات هستند، میدهد. سعی طراحان این گونه نرمافزارها پارامتریک کردن امکانات جستجو روی آیات و سورههای قرآن است تا محقق بتواند الگوی ذهنی خود را برای نرمافزار تعیین کند و نرمافزار با ساخت پرسوجو مطابق با الگوی ذهنی محقق محاسبات لازم را انجام دهد و نتایج را به محقق نمایش دهد. در شکل 1 نمونهای از این گونه نرمافزارها نشان داده شده است.
شکل 1: یک نمونه نرمافزار تحلیل آماری قرآن
ب ـ نرمافزارهای چند رسانهای و صوتی؛
ج ـ نرمافزارهای جستجو روی متن قرآن: اینگونه نرمافزارها را میتوان از لحاظ جستجو به سه دسته تقسیم کرد که در ادامه توضیح داده شده است:
- جستجوی ساده لفظی: در این دسته از نرمافزارها جستجو فقط برای پیدا کردن آیاتی مشتمل بر عبارت مورد جستجو صورت میگیرد.
- جستجو بر اساس ریشه لغات: در این دسته از نرمافزارها به جز خود لغت، ریشه لغت هم جستجو میشود. نرمافزار قرآنی جامع [10] از این دسته نرمافزارها است.
- جستجو موضوعی: در این نرمافزارها میتوان بر اساس موضوعات از پیش دستهبندیشده، جستجو را انجام داد. نرمافزار مایده نسخه 2[10] و مبین نسخه 2[10]، از این دسته نرمافزارها هستند.
یکی از کارهایی که میتواند فرآیند جستجو قرآنی را بهبود بخشد، طبقهبندی و دستهبندی آیات درون موضوعات و مفاهیم از پیش تعریف شده است که این امر در حوزه دستهبندی متون و متنکاوی میباشد و در این مقاله الگوریتمی به این منظور ارائه شده است. طبقه بندی متون، فرآیندی است که در آن متنها را به یک یا چند طبقه از قبل تعریف شده بر اساس محتوا یا زبان نگارش متن نسبت میدهیم.[2]
دستهبندی متون، زمینه تحقیقاتی مهم در دادهکاوی محسوب میشود[5][3]که این امر از دهه 1960 به بعد مورد توجه بسیاری قرار گرفته است[4]. دستهبندی متون به صورت دستی، علاوه بر هزینه زیاد، در بعضی موارد غیر ممکن میباشد[6].
از کاربردهای دستهبندی متون میتوان به سیستم پاسخگویی خودکار به سؤالات[7]، فیلتر کردن اطلاعات، تشخیص موضوعیت دادهها، دستهبندی برای جستجو به صورت موضوعی و مفهومی و تشخیص عنوان [9] اشاره کرد.
دستهبندی خودکار متون، داری مزایا و معایب مختلف است[6] که در جدول 1 مقایسه انجام شده است.
جدول 1: مقایسه دستهبندی خودکار متون با دستهبندی دستی
سیستمهای دستهبندی متون از مهندسی دانش به سوی روشهای آماری روی آورده است[23] و عمده روشهای دستهبندی، بر فرکانس تکرار کلمات و روشهای آماری مبتنی است.
در این مقاله، روشی آماری به منظور دستهبندی آیات برای کاربرد جستجوهای موضوعی ارائه شده که میتواند در بالا بردن توان جستجو موضوعی در نرمافزارهای قرآنی نقش مثبتی ایفا کند. این روش، گونهای از الگوریتم معروف TFIDFاست[1] که برای متن قرآن وفق داده شده است.
2. تفاوت متن قرآن با متون عمومی
در این قسمت متن قرآن از لحاظ کلمات مهم و موضوعات، با متون عمومی مقایسه شده است. متن نمونه متن سوره مبارکه یاسین میباشد که توسط استاد فولادوند ترجمه شده است.
شیوه کار به این صورت است که متن ترجمه سوره یاسین به عنوان نمونه از لحاظ کلمات تقسیمبندی شده است و کلمات عمومی و کلمات مهم به صورت دستی شمارش شده و در نهایت، آستانه تفکیک برای آن محاسبه شده است. کلمات از نظر بسامد تکرار، به دو دسته کمبسامد و پربسامد تقسیم شده است. به این منظور، یک تجزیه کننده متن طراحی شده است.
آستانه تفکیک، مرزی است که کلمات با بسامد بیشتر از آن حتماً از کلمات عمومی به شمار میرود. کلمات عمومی، کلماتی هستند که ارزش موضوعی و مفهومی ندارند و نمیتوانند نشانگر موضوع و مفهوم آیات باشند.
مقدار آستانه تفکیک، برابر با بیشترین درصد بسامد از میان کلمات برجسته متن است .بنابراین، میتوان از آن به عنوان فیلتر اولیه برای حذف کلمات عمومی و کاهش بار محاسباتی و ابعاد ماتریس دادهها، استفاده نمود.
در ادامه، یک متن عمومی انتخاب شده و عملیاتِ یادشده برای آن صورت گرفته و نتایج به صورت نمودار با هم مقایسه شده است.
جدول 2 قسمتی از دادههای قرآنی است که مقایسه بر پایه آن صورت گرفته است. در این مقاله، از آوردن دادههای متن عمومی که مقایسه بر پایه آن صورت گرفته، خودداری شده است.
جدول 2: کلمات پربسامد و کمبسامد و تعداد تکرارها در متن نمونه قرآن
شکل 2: نمودار درصد بسامد کلمات پربسامد و کمبسامد در قرآن (نمودار سمت چپ بسامد پایین و نمودار سمت راست بسامد بالا)
همان طور که در شکل مشخص است، تعداد کلمات برجسته نسبت به متن عمومی زیاد است.
شکل 3: نمودار درصد بسامد کلمات پربسامد و کمبسامد در متن عمومی (نمودار سمت چپ بسامد پایین و نمودار سمت راست بسامد بالا)
همان طور که در شکل مشخص است، تعداد کلمات برجسته نسبت به متن قرآن کمتر است.
شکل 4: آستانه تفکیک برای متن قرآن و متون عمومی (نمودار سمت چپ مربوط به قرآن و نمودار سمت راست متن عمومی)
همان طور که از نمودار مشخص است، آستانه تفکیک متن قرآن از متون عمومی بیشتر است.
نتیجهای که میتوان با توجه به به نمودارهای شکل 2 و 3 از تحلیل آماری بسامدهای کلمات در متن قرآن و متون عمومی گرفت، این است که در متن قرآن تعداد کلمات مهم نسبت به متون عمومی زیادتر است و بسامد کلمات مهم، کمتر است. برای روشنتر شدن موضوع، به ذکر یک مثال میپردازیم.
اگر فرض کنیم دو متن با تعداد کلمات مساوی و برابر 200 کلمه داشته باشیم و یکی متن شبیه قرآن باشد و دیگری یک متن عمومی باشد، تعداد کلمات مهم و برجسته در متن قرآنی، 20 با بسامد 10 میباشد و در متن عمومی تعداد کلمات مهم، 10 با بسامد 20 میباشد.
همان طور که در شکل 4 هم مشخص است، آستانه تفکیک محاسبهشده برای متن نمونه قرآن، کمتر از یک متن عادی میباشد که این بدین معنا است که اگر آستانه تفکیک متون عادی را روی متن قرآن استفاده کنیم، کلمات بسیاری را از نظر مفهومی و موضوعی از دست خواهیم داد. البته استفاده از آستانه تفکیک بسیار پایین، باعث بالا رفتن سربار محاسبات و نا کارآمد شدن سیستم میشود.
3. لزوم فرآیند مرجعیابی ضمیر در قرآن
این فرآیند را میتوان مخصوص متن قرآن دانست؛ زیرا در متنهای معمولی و در روشهای آماری معمولاً ضمیرها نقش مؤثری ایفا نمیکنند و بهراحتی میتوان از آنها به عنوان کلمات غیر اطلاعاتی و عمومی، چشمپوشی نمود.
اما با دیدن مثالهایی از متن قرآن، به این نتیجه خواهیم رسید که نمیتوان بهسادگی از ضمیر موجود در یک آیه صرف نظر کرد؛ زیرا بعید نیست که دربرگیرندۀ موضوع آیه باشد. برای نمونه، به شکل 5 که ترجمه یک آیه است، توجه کنید:
شکل 5: آیهای از قرآن و نقش ضمایر در آن
جملهای که در شکل 5 مشاهده میکنید، حاوی موضوعات «آیات خدا»، «مؤمنان»، «افزایش ایمان» است که بدون توجه به مرجع ضمایر، تنها موضوع سوم قابل تشخیص است. برای به دست آوردن درک بهتری از ارتباط احتمال بین ضمیر و مرجع آن در جمله و استخراج قوانینی برای این موضوع، میتوان مثالی را بررسی نمود. در این مثال که ترجمه سوره مبارکه انفال است و آن را در شکل6 مشاهده میکنید، جملاتی را بررسی میکنیم. در ضمن، اسامی و نیز محل وقوع ضمیر، در جدول 3 مشخص شده است.
شکل 6: ترجمه سوره مبارکه انفال
جدول3: اسامی و ضمایر در سوره مبارکه انفال
برای مرجع یابی ضمیر میتوان از تحلیل متون استفاده کرد. روش کار به این صورت است که باید الگو ساختار جملات زبان را با ضمایر و اسامی خاص تطبیق داد. ما در این مقاله برای اجتناب از پیچیدگی، یک روش ساده را برگزیدیم. در ابتدا هر سوره پشتهای ساخته شده و اسامی خاص که قبلاً به صورت دستی تعیین شده است، درون آن گذاشته میشود و حال، با رسیدن به هر ضمیر، احتمالاً ضمیر به یکی از اسامی خاص که قبلاً درون پشته گذاشته شده، ارجاع داده میشود. با بررسیهایی که روی متون آیات صورت گرفته است، معلوم میشود این فاصله به طور تقریبی، 2 میباشد. البته این روش در بعضی موارد دچار خطا میشود که با توجه به لزوم مرجعیابی ضمیر که توضیح داده شد، میتوان از خطاها، در مقابل اثربخشی آن چشمپوشی کرد.
4. الگوریتم دستهبندی آیات
الگوریتم پیشنهادی که در شکل 7 مشاهده میکنید، قادر است آیات درون سورهها را درون موضوعات از پیش تعیینشده دستهبندی کند. الگوریتم پیشنهادی قادر است کلمات مهم هر آیه را که جنبه موضوعی دارد، با توجه به موضوعات از قبل تعیینشده وزندهی کند و در نهایت، با جمع کردن وزن هر کلمه برای هر موضوع در هر آیه، وزن آیه را برای هر موضوع محاسبه کند و در نهایت، آیه را درون موضوع دستهبندی کند. در پایان، الگوریتم برای هر آیه جدول مشابه جدول 3 را محاسبه میکند. اعداد درون جدول، میزان ارتباط کلمه با موضوع است.
جدول 4: جدول میزان ارتباط کلمات با موضوعات برای هر آیه
در این الگوریتم میتوانیم پارامترهای زیر را داشته باشیم:
N: تعداد کلمات آیه بعد از نرمالسازی (تعداد توکنها)؛
M: تعداد موضوعاتی که Nکلمه درون آیه در مورد آن صحبت میکند؛
S: تعداد موضوع و مفهوم از پیش تعیینشده در کل قرآن؛
P(Si): نشاندهنده درصد اشاره موضوع خاص Si برای یک کلمه (وزن کلمه برای یک موضوع) که طبق رابطه 1 محاسبه میشود.
رابطه (1)
در ادامه، به صورت خلاصه مراحل دستهبندی آیه درون موضوع بیان شده است:
1. انتخاب یک آیه درون یک سوره؛
2. شناسایی و حذف کاراکترهای اضافی آیه؛
3. شناسایی ضمایر درون آیه؛
4. مرجع یابی ضمایر آیات؛
5. جایگزینی مراجع ضمایر و اسامی خاص به جای ضمایر؛
6. حذف کلمات عمومی به کمک آستانه تفکیک متن قرآن کریم؛
7. شناسایی کلمات مترادف و مرتبط با کلمات باقی مانده؛
8. ساخت مجموعه Token_Set(TS)؛
9. ارسال مجموعه TSبه واحد دستهبندی تعیین وزن کلمات درون TSبرای هر موضوع؛
10. محاسبه وزن هر آیه برای هر موضوع.
11. ثبت اطلاعات برای استفاده در زمان جستجو و بازیابی.
شکل 7: الگوریتم دستهبندی آیات
5. ارزیابی
به منظور ارزیابی روش استفاده شده و مقایسه، از دو معیار دقت و یادآوری استفاده شده است.[8] در زیر، تعریف این دو معیار آمده است:
a: تعداد آیاتی که درست به یک موضوع منسوب شدهاند؛
b: تعداد آیاتی که نادرست به یک موضوع منسوب شدهاند؛
c: تعداد آیاتی که نادرست از یک موضوع رد شدهاند.
در نهایت، برای ارزیابی کارایی روی تمام طبقات، از روش میانگین استفاده شده است. در میانگینگیری کلان [8] میانگین مقادیر دقت و یادآوری تمام طبقات محاسبه میشود. در این روش، به همه طبقات وزن مساوی داده میشود.
برای نمونه و فهم بیشتر، برای آیه «مالک یوم الدین» در جدول 5 نتایج آورده شده است و مشاهده میشود همان طور که یک انسان این آیه را در دسته معاد دستهبندی میکند، سیستم پیشنهادی هم این آیه را در دسته ارکان اسلام (معاد و...) دستهبندی میکند.
جدول 5: درصد ارتباط آیه «مالک یوم الدین» با موضوعات با روش پیشنهادی
برای ارزیابی سیستم، ده موضوع مختلف به منظور دستهبندی موضوعی و مفهومی انتخاب شده است که نتایج با نرمافزار مبین که دستهبندی آیات در آن به صورت دستی انجام شده، مقایسه شده است.
نتایج میزان فراخوانی، در جدول 6 و میزان دقت، در جدول 7 قابل مشاهده است. شکل 8، نمودار میزان فراخوانی سیستم پیشنهادی با نرمافزار مبین (روش دستی) است.
جدول 6: مقایسه میزان فراخوانی روش پیشنهادی با موضوعات مختلف
شکل 8: نمودار فراخوانی سیستم پیشنهادی
جدول 7: میزان دقت سیستم پیشنهادی
6. نتیجهگیری و کارهای آینده
این روش مانند روشهای دستهبندی متون و متنکاوی، مبتنی بر گزارش آماری میباشد و وزن کلمات آیات را برای هر موضوع به کمک فنون آماری محاسبه میکند و بدین منظور، از درخت ارتباطات و کلمات هممعنا هم برای بالا بردن دقت کمک میگیرد، که این امر مستلزم دانش اولیه میباشد.
همان طور که در بخش قبل مشاهده شد، میزان دقت سیستم پیشنهادی حدود 62 درصد و میزان فراخوانی حدود 82 درصد است که با توجه به اینکه هدف بر پایه کاوش معنایی تعیین شده، نتایج رضایت بخش است. البته بار محاسباتی بالا و کند بودن و پر هزینه روش، میتواند از معایب اصلی این سیستم باشد که میتوان آن را با مواردی چون کند بودن همه فنون دادهکاوی و خاص بودن کتاب آسمانی قرآن کریم توجیه کرد.
یکی از روشهایی که متخصصان علوم قرآنی برای تفسیر و موضوعیابی آیات قرآن استفاده میکنند، توجه به شأن نزول آیات است.
در روش ارائهشده در این مقاله همچون بیشتر روشهای متنکاوی و دستهبندی خودکار متون، نیاز به یک دانش پیشزمینه میباشد که این دانش میتواند از متون دیگر مرتبط با آیات، یعنی متونی مانند شأن نزول آیات، روایات و احادیث مرتبط، به صورت خودکار استخراج شود و این روش را تا حدی از دانش اولیه بینیاز سازد که این ایده میتواند در آینده پیادهسازی شود. دستهبندی متون میتواند مستقلاً روی نهج البلاغه، کتاب دوم ما شیعیان و احادیث نیز صورت گیرد.
پی نوشت ها:
* کارشناس ارشد مهندسی کامپیوتر- نرمافزار، این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید ** عضو هیأت علمی دانشگاه علم و صنعت ایران، این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید *** دانشجوی کارشناسی ارشد مهندسی کامپیوتر- نرمافزار دانشگاه شیخ بهایی اصفهان، این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت داریدمنابع:
1. K. Aas, L. Eikvil, "Text Categorization: A Survey", www.citeseer.nj.nec.com, June 1999.2. H. Berger, D. Merkl, A Comparision of Text-Categorization Methods applied to N-Gram Frequency Statistics, Report of University of Technology, NSW, 2006.
3. S. Dumais, J. Platt, D. Heckerman, M. Sahami. "Inductive learning algorithms and representations for text categorization", CIKM '98, pp. 148--155, 1998.
4. S. Eyheramendy, A. Genkin, W. Ju, D. Lewis, D. Madigan, "Sparse Bayesian Classifiers for Text Categorization", Joint Statistical Meeting in San Francisco, California, 2003.
5. U. Fayyad, G. Piatetsky-Shapiro, P. Smyth, "Data Mining to Knowledge Discovery in Databases", 2006.
6. M. Granitzer, "Hierarchical text classification using methods from machine learning", Master's Thesis, Graz University of Technology, 2003.
7. A. Moschitti, "Answer Filtering via Text Categorization in Question Answering Systems", ICTAI, pp. 241-248, 2003.
8. F. Sebastiani, "Machine Learning in Automated Text Categorization", ACM Computing Surveys, Vol. 34, No. 1, pp. 1–47, March 2002.
9. H. Yong. "Support vector machines for text categorization based on latent semantic indexing", Technical report, Electrical and Computer Engineering Department, Johns Hopkins University, 2003.
10. http://www. tebyan.net/index. aspx?pid=17257&threadID=59313