ارائه روشی بر پایه کاوش معنایی به منظور بالا بردن دقت نتایج جستجو در نرم‌افزارهای قرآنی

پنج شنبه, 30 شهریور 1391 ساعت 15:18
    نویسنده: حسین دقاق زاده* و محمد عبداللهی ازگمی** و محمد دقاق زاده***
این مورد را ارزیابی کنید
(0 رای‌ها)

چکیده

متن قرآن كريم خصوصيت‌هاي منحصر به‌فردي از نظر چگالی موضوعی، مفهومي و دانه‌بندی در مقايسه با ساير متون دارد. يكي از نكات مهم در اين زمينه، لزوم مرجع‌یابی ضمیر است كه به افزايش دقت نتايج جستجو كمك شاياني مي‌نمايد.

هدف استفاده از دسته‌بندي خودكار متن (ATC)كه يكي از شاخه‌هاي متن‌كاوي است، به گونه‌اي است كه باعث بهبود جستجو در نرم‌افزارهاي قرآني شود. در این مقاله، پس از تحليل متن قرآن كريم و مقايسه آن با ساير متون، روشی ارائه شده است که با توجه به خصوصیات متن قرآن کریم قادر است آیات را ابتدا درون موضوعاتی از پیش تعریف‌شده دسته‌بندی کند. سپس، آیات همه سوره‌ها را با توجه به وزن کلمات آن برای هر موضوع، درون دسته‌‌ها طبقه‌بندی مي‌كند. در این زمينه، از ارتباط موضوعات و مفاهیم مختلف برای دسته‌بندی، مدد جسته و فرآیند دسته‌بندی را بهبود مي‌دهد. در پايان، با توجه به وزن کلمات هر آیه برای هر موضوع، میزان ارتباط آن آیه با موضوع محاسبه شده و دسته آيه مشخص مي‌شود. الگوريتم ارائه‌شده، مبتني بر TFIDF بوده و پارامترهاي مؤثر، نظير ضريب تفكيك متن، به شكلي تنظيم شده كه خصوصيات قرآن كريم را در نظر بگيرد. روش پيشنهادي در قالب يك نرم‌افزار نمونه جستجوي موضوعی قرآن كريم پياده‌سازي شده است. نتايج حاصل از اين نرم‌افزار با ساير نرم‌افزارهاي قرآني و نيز با دسته‌بندي دستي آيات از لحاظ پارامترهاي دقت و فراخواني مقایسه شده؛ كه نشان‌دهنده مزاياي روش پيشنهادي است.

واژگان‌كليدی: متن‌کاوی، دسته‌بندي خودكار متون، جستجو، قرآن کریم، نرم‌افزار قرآني.

1. مقدمه

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

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

 

شکل 1: یک نمونه نرم‌افزار تحلیل آماری قرآن

ب ـ نرم‌افزارهای چند رسانه‌ای و صوتی؛

ج ـ نرم‌افزارهای جستجو روی متن قرآن: اين‌گونه نرم‌افزارها را می‌توان از لحاظ جستجو به سه دسته تقسیم کرد که در ادامه توضیح داده شده است:

  1. جستجوي ساده لفظی: در این دسته از نرم‌افزارها جستجو فقط برای پیدا کردن آیاتی مشتمل بر عبارت مورد جستجو صورت می‌گیرد.
  2. جستجو بر اساس ریشه لغات: در این دسته از نرم‌افزارها به جز خود لغت، ریشه لغت هم جستجو می‌شود. نرم‌افزار قرآنی جامع [10] از این دسته نرم‌افزارها است.
  3. جستجو موضوعی: در این نرم‌افزارها می‌توان بر اساس موضوعات از پیش دسته‌بندی‌شده، جستجو را انجام داد. نرم‌افزار مائده نسخه 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 درصد است که با توجه به این‌که هدف بر پایه کاوش معنایی تعیین شده، نتایج رضایت بخش است. البته بار محاسباتی بالا و کند بودن و پر هزینه روش، می‌تواند از معایب اصلی این سیستم باشد که می‌توان آن را با مواردی چون کند بودن همه فنون داده‌کاوی و خاص بودن کتاب آسمانی قرآن کریم توجیه کرد.

یکی از روش‌‌هایی که متخصصان علوم قرآنی برای تفسیر و موضوع‌یابی آیات قرآن استفاده می‌کنند، توجه به شأن نزول آیات است.

در روش ارائه‌شده در این مقاله همچون بیشتر روش‌‌های متن‌کاوی و دسته‌بندی خودکار متون، نیاز به یک دانش پیش‌زمینه می‌باشد که این دانش می‌تواند از متون دیگر مرتبط با آیات، یعنی متونی مانند شأن نزول آیات، روایات و احادیث مرتبط، به صورت خودکار استخراج شود و این روش را تا حدی از دانش اولیه بی‌نیاز سازد که این ایده می‌تواند در آینده پیاده‌سازی شود. دسته‌بندی متون می‌تواند مستقلاً روی نهج البلاغه، کتاب دوم ما شیعیان و احادیث نیز صورت گیرد.

پی نوشت ها:

منابع:

اطلاعات تکميلي

  • تاریخ انتشار نسخه چاپی: یکشنبه, 26 شهریور 1391
  • صفحه در فصلنامه: صفحه 26
  • شماره فصلنامه: فصلنامه شماره 39
بازدید 16328 بار
شما اينجا هستيد:خانه آرشیو فصلنامه فصلنامه شماره 39 (تابستان 1391) ارائه روشی بر پایه کاوش معنایی به منظور بالا بردن دقت نتایج جستجو در نرم‌افزارهای قرآنی