راهکارهای رایانه ای شناسایی احادیث مشابه

    گفتگو با حجة الاسلام سقایی

دوشنبه, 30 شهریور 1383 ساعت 14:53
این مورد را ارزیابی کنید
(1 رای)

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

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

» در ابتدای بحث، لطفاً بفرمایید که مقارنة الاحادیث چیست و چه جایگاهی دارد؟

◊ در مورد مقارنة الاحادیث دو دیدگاه وجود دارد: اوّل، تعریف حدیث از نظر سندی و رجالی صرف نظر از متن آن. دوم، تعریف حدیث از لحاظ محتوا و متن حدیث بدون توجه به سند آن. بحث مقارنة الاحادیث در هر دو مورد مطرح است؛ به این معنا که گاهی پژوهشگر رجالی روی سندهای مشابه تفحص می کند و ممکن است متن حدیثی که از طریق سلسله سندهای مقارن و شبیه به هم نقل شده، با یکدیگر متفاوت باشند. از این رو، یافتن روایات تکراری از نظر سند، صرف نظر از محتوا، مبحث مقارنة الاحادیث در حیطه سند حدیث را تشکیل می دهد.

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

بنابراین، مقارنة الاحادیث به معنای بررسی و یافتن روایات مشابه از نظر سند، متن و یا هر دو است.

» به طور کلی برای یافتن متون مشابه در زبان های مختلف چه روشهائی وجود دارد؟

◊ فرایند یافتن متون مشابه و روشهای پردازش متن برای این منظور موضوع مباحث مهمی مانند «پردازش زبان طبیعی -Datamining (داده کاوی)» است که امروزه در مهندسی نرم افزار مطرح می باشد و برای این کار پروژه های مطالعاتی و تحقیقاتی در دنیا انجام گرفته که برخی از آنها نیز عملی گردیده است. بطور مشخص در برنامه های تحت وب و موتورهای جستجوی آن بکار رفته است. برای مثال «Stemming» (استفاده از ریشه های کلمات) برای جستجو در بانک های اطلاعاتی (Sql-Server , Index server) با قابلیت جستجوی متن کامل (Search full teut) برای برخی از زبانها مانند انگلیسی ارائه شده و مورد استفاده است.

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

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

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

» مشکلات موجود در زمینه استخراج متون مشابه حدیثی و ارائه آنها در قالب نرم افزار را چگونه ارزیابی می کنید؟ و اصولاً چه روش یا روش هایی برای برطرف کردن این موانع پیشنهاد می نمایید؟

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

مشکل دیگر، وجود انبوهی از الفاظ مشترک چه در حوزه لغت و چه در حوزه کتابت (با لحاظ عدم وجود مصوتها) است که در ارائه پاسخ های نادرست به کاربر مؤثر است و گاهی نیز یک لفظ مشترک در دو معنای کاملاً متفاوت و یا متناقض به کار می رود. بدیهی است این نوع موارد، مدّ نظر کاربر نبوده و نمی توان آنها را یکی فرض کرد. اگرچه ساختار زبانی، چنین اشکال هایی را در مسیر تهیه برنامه رایانه ای مقارنة الاحادیث موجب می شود، اما پایه های زبان عربی صرف نظر از نارسائی کتابتی آن به گونه ای است که می توان از طریق راه هائی این مشکلات را از پیش رو برداشت.

از جمله این روش ها تهیه فهرست «کلمات پیراسته» است. در این روش باید نخست کلمات یک عبارت را از پیشوندها و پسوندهای گوناگون پیراسته نمود و آنگاه در متن به جستجوی کلمه پیراسته با تمامی ترکیب های آن پرداخت.

به عنوان مثال، کلمه ترکیبی «فَضَرَبَ» از یک حرف (فاء عاطفه) و یک فعل (ضَرَبَ) تشکیل شده است. در اینجا چون بار مفهومی کلام به روی فاء کمتر از ضَرَبَ است، کلمه پیراسته شده و این واژه مرکب، ضرب خواهد بود و در فرایند جستجو کلمات مشابه این کلمه بازیابی می گردد. بنابراین عملیات مقارنة الاحادیث را می توان بر روی واژه های پیراسته انجام داد.

در این میان، برخی کلمات وجود دارند که نمی توان شکل پیراسته آن را به آسانی مشخص نمود، خاصه این که اگر اعراب نداشته باشند؛ مثلاً کلمه «بعد» اگر حرف نخست آن غیر مکسور باشد، می تواند خود یک واژه پیراسته به حساب آید؛ ولی چنانچه حرف اوّل آن مکسور باشد (بِعدٍ)، کلمه پیراسته اش «عد» خواهد بود. بنابراین، در کلماتی از این دست، به دلیل وجود احتمالات مختلف تعیین واژه، پیراسته به راحتی صورت نمی گیرد. در اینجا باید به موارد استعمال و قراین موجود در کلام توجه کرد و کلمه پیراسته را تشخیص داد.

» آیا می توان با اعراب گذاری درست کلمات، از بروز چنین مشکلاتی در امر بازیابی احادیث مشترک جلوگیری کرد؟

◊ اعراب گذاری یکی از مشکلات که نبود مصوتها است را از پیش رو بر می دارد ولی وجود اشتراک های لغوی و کتابتی باز ممکن است حتی فرایند پیراسته ساختن کلمات را هم دچار چالش کند که در این صورت باید متن را نیز مورد دقت قرار داد؛ مثلاً کلمه «أهْلَک» هم محتمل است که فعل ماضی باب افعال باشد، هم احتمال دارد که دو اسم مضاف باشد (أهْلَ + ک). در اینجا اعراب گذاری به پیراسته سازی کلمات کمک نمی کند؛ بلکه باید به متن رجوع کرد و شکل پیراسته را شناخت.

البته راه حل دیگری نیز وجود دارد و آن این است که بدون مراجعه به متن، احتمالات گوناگون یک کلمه را در نظر گرفت و با ارائه فهرستی از کلمات محتمل در هر یک، به انجام جستجو پرداخت؛ به عنوان نمونه، در مورد واژه «أهَلَک» یک بار کلمه «أهْلَک» را به عنوان فعل ماضی مورد جستجو قرار می دهیم و یک بار دیگر کلمه «أهْل» را در خط ورود جستجو درج می نماییم.

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

» جهت دستیابی به احادیث مشابه، آیا فقط از طریق امکان پیراسته سازی می توان اقدام کرد؟ با توجه به نقصی که این روش دارد، چه راه حل های دیگری را پیشنهاد می کنید؟

◊ گاهی استفاده از فهرست کلمات پیراسته موجب بروز احتمالات و به تبع سردرگمی بیشتر کاربر خواهد شد. از این رو، باید به راهکارهای دیگری تمسک جست. قدم اوّل، این است که عبارت انتخابی را بدون هیچ کم و کاستی جستجو کنیم. در این حالت، ممکن است برخی جوابهای موجود ارائه نگردد.

قدم بعدی این است که کاربر به وسیله ریشه عبارات به انجام پژوهش اقدام نماید؛ زیرا ریشه کلمات بسیار کارآمدتر از کلمات پیراسته پژوهشگر را در امر تحقیق یاری می رساند و در واقع، پاسخ های ارائه شده بیشتر به موارد دلخواه کاربر نزدیک است. و در عین حال کامل تر و جامع تر ارائه خواهد شد.

» در مواردی ممکن است که نقل های متفاوتی از یک متن صورت گرفته باشد؛ مثل اینکه عبارت ها جابه جا شده یا ضمیر به جای اسم آمده است. در این گونه مواقع، چه باید کرد؟

◊ قبل از توضیح برخی از این الگوریتم ها، بعنوان یکی از مقدمات کار بایستی این مطلب را در نظر داشت که در میان کلمات واژه هائی وجود دارند که به آنها Noise word)کلمات پر ارزش) گفته می شود. تهیه فهرستی از این واژه گان و جدا کردن آنها از پردازش، بسیار مؤثر و مهم است.

1- جستجوی عبارت:

این روش ابتدائی ترین روش برای یافتن یک عبارت از متون و استخراج مشابهات آن می باشد در این گام عین عبارت (البته صرف نظر ازNoise word ها) مورد جستجو قرار می گیرد.

2- جستجوی کلمات عبارت با حفظ ترتیب:

در این روش کلمات عبارت مورد نظر با در نظرداشت توالی کلمات و ترتیب آنها (ضمن آنکه می توان فاصله کلمات را نیز تنظیم کرد) مورد پردازش خواهد بود.

3- جستجوی کلمات عبارت:

در این مرحله کلمات عبارت در متون مورد جستجو قرار گرفته و به میزان فراوانی کلمات می توان حکم به مشابهت متون یا عدم مشابهت داد.

4- جستجوی کلمات پیراسته عبارت مورد نظر با حفظ ترکیب:

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

5- جستجوی کلمات پیراسته عبارت با حفظ ترتیب:

در این جا نیز واژگانِ پیراسته مورد پردازش خواهد بود ولی نسبت به ترکیب حساسیت از بین می رود و در حدّ ترتیب و توالی کلمات پیراسته (با امکان تنظیم میزان فاصله بین کلمات) عملیات مشابه یابی انجام خواهد شد.

6- جستجوی کلمات پیراسته بدون در نظر گرفتن ترتیب و ترکیب:

در این روش، کلمات پیراسته در متن مورد جستجو قرار گرفته و به میزان جواب و نسبت آن می توان مشابه یابی کرد.

7- جستجوی واژگان ریشه با حفظ ترکیب

8- جستجوی واژگان ریشه با حفظ ترتیب (با تنظیم میزان فاصله بین ریشه ها(

9- جستجوی واژگان ریشه (با در نظر گرفتن نسبت وجود ریشه ها در متون(

در این سه روش اخیر کلمات عبارت به ریشه برگردانده شده و عملیات فوق مانند پردازش های قبلی انجام خواهد شد.

از آنجا که نتایج بدست آمده از این روشها از لحاظ درستی و جامعیت با هم متفاوتند، استفاده از هر کدام از این ها نیاز به آزمایش و تجربه خواهد داشت. ولی درستی و جامعیت معمولاّ بصورت متعاکس می باشند به این معنی که در جاهائی که جواب درست داده می شود تمامی موارد بدست نمی آید و در جائی که با جوابهای فراوان تری مواجه هستیم، جوابهای نادرست کم نخواهیم داشت.

» تا اینجا روش های کلی همچون: جستجو از طریق عبارات، کلمات پیراسته، ریشه، ترتیب و عدم ترتیب را برای دستیابی به متون مشابه ارائه دادید. در خصوص مقارنة الاحادیث که محور بحث ماست و اقتضائات مرتبط با خود را می طلبد، چه منطق پردازش دیگری قابل ارائه است؟

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

در اینجا ما از یک ابزار متنی به عنوان یک معیار استفاده نمودیم و مقوله پیدا کردن اسانید مشترک را سامان بخشیدیم که خود بسیار ثمربخش و مفید است.

از جمله اموری که در اسناد روایات به صورت چشمگیر موجود و از دیرباز موجب بروز مشکلاتی در استناد به متون روایی گشته، عناوینی است که مشترک بین دو یا چند راوی است. به چنین عناوینی در اصطلاح رجال، عناوین مشترک، و به بحثی که عهده دار حل این مشکل است، «تمییز مشترکات» می گویند.

به عنوان مثال، اگر در اسناد کافی به عنوان «احمد بن محمد» برخورد کنیم و به جای عنوان مشترک در سند توجهی ننماییم، دامنه بسیار گسترده ای را پیش رو خواهیم داشت؛ چرا که عنوان فوق در نگاه اوّل، مردد بین پنج نفر است که عبارت اند از: احمد بن محمد بن سعید بن عقده، احمد بن محمد العاصمی، احمد بن محمد بن عیسی، احمد بن محمد بن خالد، احمد بن محمد بن ابی نصر. در قدم اوّل باید با مشخص کردن طبقه عنوان، از دامنه تردید کاست. البته در برخی موارد، صرفاً با شناخت طبقه راوی و جایگاه خاص او در سند، عنوان مردد از حالت اشتراک خارج می شود.

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

اما در بحث نظام مترادفات، محقق با عناوین متعددی روبه روست که در واقع از یک نفر حکایت می کنند. به شیوه ای که عهده دار حل این مشکل است، «توحید مختلفات» می گویند؛ مثلاً وقتی به کتب رجال مراجعه می کنیم، با شش نوع تعبیر از «احمد بن محمد بن خالد البرقی» مواجه می شویم که از آن جمله است: «احمد بن ابی عبدالله» و «احمد البرقی». بدیهی است شناخت این موضوع که تمام این عناوین از یک نفر حکایت دارد، برای تشخیص احادیث مشابه ضرورت دارد. در اینجا با در نظر گرفتن عنوان معیاری با نام مثلاً «احمد بن محمد بن خالد البرقی» این امکان برای کاربر فراهم می آید که به راحتی تشخیص دهد که در سند روایت از یک شخص واحد به گونه های متفاوت تعبیر شده است. چه بسا روایت های مشابهی که نام راوی مذکور در سلسله سندش به شکل های مختلف آمده است و محقق به کمک عنوان معیار خواهد توانست به مقارنه در سند احادیث حکم نماید و به مجموع حدیث راوی مذکور دست یابد.

روش دیگری که الگوریتم های مشابه یابی متن را کاراتر می کند. استفاده از تکنیک Ranking و دسته بندی و ارزش گذاری متون، متناسب با عناصر علمی و مفهومی (مثلاّ در حدیث استفاده از ابواب حدیثی) مثل اینکه تعیین کنید این روایت در کدام یک از ابواب روایی قرار گرفته است. اگر به دنبال احادیثی در مورد طهارت هستید، با وجود این قابلیت می توانید در جستجوی روایاتی که در فصول طهارت منابع حدیثی آمده است و دیگر نیازی به ملاحظه ابوابی چون قصاص یا دیات نخواهید داشت.

روش دیگر، جستجوی موضوعی است. با توجه به اینکه ما در حوزه متون به کارهایی نظیر: موضوع برداری، نمایه سازی و تهیه فهرست کلیدواژه ها اقدام نموده ایم، از طریق پژوهش های لفظی و موضوعی با استفاده از اشتراک های متون در این عناصر نیز می توان به نتیجه مطلوب در زمینه مقارنةالاحادیث دست یافت.

» جایگاه مرکز تحقیقات کامپیوتری علوم اسلامی را در خصوص تولید نرم افزاری درباره مقارنة الاحادیث چگونه ارزیابی می نمایید؟

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

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

  • تاریخ انتشار نسخه چاپی: دوشنبه, 23 شهریور 1383
  • صفحه در فصلنامه: صفحه 10
  • شماره فصلنامه: فصلنامه شماره 7
بازدید 13763 بار
شما اينجا هستيد:خانه سایر مقالات فصلنامه شماره 07 (تابستان 1383) راهکارهای رایانه ای شناسایی احادیث مشابه