نگاهى از درون و برون به نرمافزارهاى معجم الفاظ نور
احمد مينايى (بخش چهارم و پايانى)
در چند نوبت گذشته، معجمهاى لفظى نور از جنبههاى مختلف مورد بررسى قرار گرفت. در بند هشتم مقاله، نقاط ضعف و قوت اين برنامهها مورد مداقه قرار گرفت. در قسمت پيشين، پنج نقطه ضعف اين نرمافزار توضيح داده شد. آنگاه اندكى در باب قدرت و سرعت موتور جستجوى نرمافزارهاى نور، به عنوان اولين نقطه قوت توضيحاتى به صورت فشرده ارائه گرديد.اينك و در قسمت پايانى اين مقاله، به دومين نقطه قوت اين نرمافزار يعنى «فشردهسازى اطلاعات» پرداخته مىشود.
فشردهسازى اطلاعات
2-2-8- يكى از نقاط قوت و از امتيازات برنامههاى نور، ويژگى فشردهسازى اطلاعات آن مىباشد. بخصوص كه در اوايل توليد برنامه، اكثر رايانههاى آن زمان داراى حافظه جانبى (سختديسك) با ظرفيتحداكثر 40 مگا بايتبودند. از اين جهت، آمادهسازى و توليد برنامهها با بهرهگيرى از ويژگى فشردهسازى اطلاعات، امكانات بسيار زيادترى را در اختيار كاربران و محققان قرار مىداد. نقطه شروع كار فشردهسازى، معجم الفاظ بحار الانوار بود. اين كتاب با بيش از 13 ميليون كلمه، نمونه خوبى براى آزمون روشهاى فشردهسازى اطلاعات بود. در ابتدا روشهاى معمول در فشردهسازى اطلاعات مورد بحث و بررسى قرار گرفت. كارآمدترين روشهاى فشردهسازى، روشى مبتنى بر دو مدل آمارى و لغتنامهاى - Based Compression Dictionary تشخيص داده شد.مدل آمارى، نمادهاى ورودى را يكى يكى مىخواند و براساس احتمال رخداد آنها، كار كدگذارى را انجام مىدهد. سادهترين شكل اين نوع مدل، استفاده از يك جدول ثابت «كدهافمن» مىباشد كه اين جدول بر اساس احتمالات به دست آمده براى حروف و با استفاده از درخت هافمن توليد مىشود. براى كارآيى بيشتر، بهتر استبراى هر متن چنين جدولى ساخته شود و بر پايه آن فشردهسازى صورت گيرد. اگر از يك جدول كلى براى تمامى متون استفاده شود، ممكن است در بعضى متنها نسبت فشردهسازى پايينى به دست آيد، چرا كه جدول بر اساس احتمالات واقعى متن مربوطه ساخته شده است.يكى از نقاط قوت و از امتيازات برنامههاى نور، ويژگى فشردهسازى اطلاعات آن مىباشد. آمادهسازى و توليد برنامهها با بهرهگيرى از ويژگى فشردهسازى اطلاعات، امكانات زيادترى را در اختيار كاربران و محققان قرار مىداد اما استفاده از يك جدول ثابتبراى هر متن داراى يك هزينه بالاسرى است. در چنين حالتى بايد اين جدول به طريقى به الگوريتم رمزگشايى (Decoding) منتقل شود. در يك فشردهسازى مرتبه صفر، آمار واقعى براى توليد جدول هافمن، ممكن است تا 256 بايت را به خود اختصاص دهد، اما در فشردهسازى مرتبههاى بالاتر، مقدار حافظه بسيار زيادترى مورد نياز مىباشد. به عنوان مثال حركت از يك مرتبه صفر به مرتبه يك، نياز به حافظه را از 256 بايتبه 65536 بايت مىرساند.به همين دليل تحقيقات فشردهسازى در دو دهه اخير بر روى روشهاى وفقى تمركز يافته است. با استفاده از يك مدل وفقى، ابتدا دادهها براى جمعآورى اطلاعات آمارى جاروب نمىشوند تا بر اساس اين اطلاعات تبديل به كد گردند، بلكه اطلاعات آمارى با خوانده شدن هر داده از ورودى به روز شده و براساس اطلاعات موجود، كار كدگذارى انجام مىگيرد. الگوريتم رمزگشايى نيز به همين طريق بر اساس به روز آورى اطلاعات آمارى رمزگشايى مىكند.1-2-2-8- فشردهسازى لغتنامهاى:در فشردهسازى لغتنامهاى از يك لغتنامه (جدول) مشتمل بر رشتههاى حرفى مانند كلمات و عبارات استفاده مىشود. الگوريتم فشردهساز، حروف متن اصلى را يكى يكى مىخواند و ضمن دستهبندى آنها به رشتههاى حرفى به جستجو در لغتنامه مىپردازد. در صورت يافته شدن رشته مربوطه، آن را با يك كد چند بيتى كه نشانى آن در لغتنامه و يا يك كد اختصاص يافته به آن مىباشد، در متن فشرده شده جايگزين مىكند.به دليل بسيار كمتر بودن تعداد بيت جايگزين شده با متوسط تعداد كل بيتهاى رشتههاى حرفى، در عمل نسبت فشردهسازى بالايى به دست مىآيد.مهمترين مسئلهاى كه الگوريتمهاى فشردهسازى مبتنى بر لغتنامه بايد به حل آن بپردازند، مسئله چگونگى توليد، نگهدارى و استفاده از لغتنامه يا به طور خلاصه مديريت لغتنامه مىباشد. براى بعضى متنهاى خاص شايد استفاده از يك لغتنامه از پيش تعريف شده يا لغتنامه ثابت (Static Dictionary) داراى مزيت مىباشد. اين در حالتى است كه از ماهيت متن، اطلاعات كافى در اختيار داشته باشيم. اما بيشتر الگوريتمهاى فشردهسازى لغتنامهاى براى كارآمد بودن بيشتر و قابل اعمال بودن بر روى هر نوع متنى، وفقى (Adaptive) مىباشند. در اين حالت، الگوريتم با يك لغتنامه خالى يا يك لغتنامه كوچك به عنوان لغتنامه پايه، كار فشردهسازى را شروع مىكند و همزمان با جاروب كردن متن، رشتههاى حرفى (كلمات) جديد به لغتنامه افزوده مىشوند تا در فشردهسازى مورد استفاده قرار گيرند. به عبارت ديگر، در يك گذر، هم متن فشرده مىشود و هم لغتنامه تكميل مىگردد. هر دو الگوريتم فشردهساز و رمزگشا در حين انجام عمليات فشردهسازى و رمزگشايى، چنين لغتنامهاى را براى استفاده مىسازند.روش فشردهسازى لغتنامهاى يكى از روشهاى فشردهسازى فيزيكى اطلاعات مىباشد. روشهاى ديگرى مانند گاشتبيتى (1) ، حذف تكرار طولانى (2) ، حذف نيم بايت (3) ، كدگذارى جفتى (4) ، جايگزينى الگو (5) ، كدگذارى تفاضلى (6) ، كدگذارى آمارى (7) و... نيز وجود دارند.مقايسه عملكرد اين روشها با يكديگر و كارآيى آنها در امر فشردهسازى فيزيكى، و تبيين فشردهسازى فيزيكى و فشردهسازى منطقى امرى است كه مجال طولانىترى را مىطلبد كه در اين مختصر نمىگنجد (8) .2-2-2-8- الگوريتم ابداعى در فشردهسازى:كارآيى روشهاى فشردهسازى وابسته به طبيعت متنى است كه مورد فشردهسازى قرار مىگيرد. از ديدگاه كلى، ملاك ارزيابى و مقايسه روشهاى فشردهسازى پيرامون دو محور «ميزان فشردهسازى» و «سرعت فشردهسازى» مىچرخد. اما طبيعت اطلاعاتى كه در معجمهاى لفظى نور با آن سر و كار داشتيم، به علت اينكه محيط بستهاى است و اطلاعات و كلمات متن لحظه به لحظه عوض نمىشود، محور دوم يعنى سرعت فشردهسازى اهميت چندانى ندارد، اما به عكس، نرخ فشردهسازى و ميزان كم شدن حجم اطلاعات اهميت دو چندانى دارد.با شيوه انتخابى برنامه نور، عبارت مورد جستجو به عبارت فشرده تبديل مىشود، آنگاه عمليات جستجو در متن فشرده شده كه طبيعتا از حجم كمترى برخوردار است، صورت مىگيرد. با در نظر گرفتن اين نكته عمليات جستجو نه تنها كند نمىشود بلكه از افزايش سرعتى قابل توجه بهرهمند مىگردد.با توجه به اين ديدگاه، نقاط قوت بيش از 10 الگوريتم مختلف ارائه شده در فشردهسازى اطلاعات مورد ارزيابى قرار گرفت و با تركيب اين نقاط قوت و افزودن نكات ابداعى ديگر چند روش به عنوان روشهاى موفق فشردهسازى انتخاب شدند. يكى از آنها استفاده از 6 بيتبراى ذخيرهسازى يك حرف بود. به طور عادى براى هر حرف از يك بايتحاوى 8 بيت ا ستفاده مىشد. با 8 بيت مىتوان به دو به توان 8 يعنى 256 حرف مختلف مىتوان اشاره نمود. اما چون دامنه حروف فارسى و عربى در محدوده 32 حرف الفبا يعنى دو به توان 5 حرف مىباشد و با 5 بيت مىتوان تمامى حروف را پوشش داد. اما براى پوشش دادن علائم ويرايشى و دو حالتى بودن بعضى از حروف مجموعا از 6 بيت استفاده شد. 6 يتبراى پوشش دادن دو به توان 6 يعنى 64 حرف كافى بود. اين تعداد از مقدار نياز ما هم بيشتر بود، لذا با برنامهاى ساده تمامى كلمات با حروف 6 بيتى ذخيره شدند و هنگام نمايش اطلاعات، با برنامهاى ديگر عمليات رمزگشايى و تبديل به حروف قابل نمايش انجام مىگرفت.اين روش در مجموع، شيوه خوب و مناسبى بود اما امكان نمايش سريع اطلاعات از دست مىرفت چون براى بازيابى هر حرفى بايستى عمليات رمزگشايى انجام مىگرفت.از آنجا كه هزينه بالاسرى روش اخير در مقابل ميزان فشردهسازى اطلاعات بهينه نبود، روشهاى ديگر كدگذارى كلمات به محك تجربه گذاشته شد. با برنامههايى چند، آمار دقيق كلمات در كل متن (يعنى 110 جلد بحار الانوار) و نيز آمار رخداد كلمات در صفحههاى كتاب و نيز صفحههاى مجازى استخراج گرديد. ميان كلماتى كه از آمار رخداد بالاترى در متن برخوردار هستند، با كلمات ديگر در رمز كردن تفاوت نهاده مىشود. اين روش براى جملات تكرارى با تكرار بالا نيز انجام گرفت. مشكل رمز كردن جملهها و فرازهاى پر تكرار، در جستجوى كلمات و زيرفرازهاى آن فراز پر تكرار بود. يعنى همواره نرخ فشردهسازى اطلاعات با دو مسئله ديگر يعنى نمايش سريع اطلاعات و نيز سرعت جستجو در متن، بايستى هماهنگ مىگرديد. در واقع هيچگاه نمىبايستيكى از اين سه مسئله فداى ديگرى شود بلكه مىبايست تا جايى كه ممكن است الگوريتمى انتخاب شود كه از نرخ فشردهسازى بالاترى برخوردار باشد و هيچ موجب كندى جستجو در متن و كندى نمايش اطلاعات نگردد.با در نظر گرفتن سه محور اخير و با توجه به طبيعت متون مورد پردازش، براى هر متنى، تركيبى از روشهاى فشردهسازى به پيوست نكتههاى فشردهسازى جديد، به عنوان دستور كار انتخاب مىشد، و عمليات رمز كردن اطلاعات و فشردهسازى، توسط ماشين در يك فاصله زمانى خاصى انجام مىگرفت. و هنگام نمايش اطلاعات، عمليات رمزگشايى و نمايش اطلاعات واقعى انجام مىگرفت.نكته اساسى و قابل توجه از منظر بهينهسازى مهندسى اطلاعات و بازيابى آنها از متن فشرده شده اين امر بود كه براى جستجوى ساده و تركيبى ايستا و پويا در متن كتاب ضرورتى ندارد كه جستجو در متن باز شده و غير فشرده صورت بگيرد. بلكه به عكس با شيوه انتخابى برنامه نور، عبارت مورد جستجو به عبارت فشرده تبديل مىشود، آنگاه عمليات جستجو در متن فشرده شده كه طبيعتا از حجم كمترى برخوردار است، صورت مىگيرد. با در نظر گرفتن اين نكته عمليات جتسجو نه تنها كند نمىشود بلكه از افزايش سرعتى قابل توجه بهرهمند مىگردد.اين نكته بسيار مهم در مهندسى اطلاعات كه از يك سو حجم ذخيرهسازى اطلاعات را تا حد قابل ملاحظهاى كاهش مىدهد و از سوى ديگر سرعت جستجو را به ميزان بسيار مناسبى افزايش مىدهد، مورد توجه محافل دانشگاهى و آموزشى معتبر و متخصصان و توليدكنندگان نرمافزارهاى بزرگ قرار گرفت. اما متاسفانه تا به حال حتى يك مقاله علمى از اين ابداع و ابتكار در مورد پردازش اطلاعات و فشردهسازى آن و بهينهسازى جستجو عرضه نشده است. حال آنكه غربىها -كاملا به عكس- در زمينههاى مختلف رايانه، مدتها قبل از پيادهسازى يك امر، صدها كتاب و مقاله در مورد آن منتشر مىسازند.3-2-8- توانايى كاربر در تغيير دامنه جستجو:دو گونه دامنه در اغلب برنامههاى نور در اختيار كاربر قرار مىگيرد:الف) دامنه فيزيكى: هر ناحيه پيوستهاى از متن حتى يك صفحه از كتاب و يا يك آيه از قرآن، مىتواند دامنه انتخابى كاربر قرار گيرد. تمامى جستجوها منحصرا در ناحيه انتخاب شده توسط كاربر انجام خواهد گرفت. لازم به ذكر است كه محدوديت، همبند بودن و پيوستگى قطعات دامنه فيزيكى در برنامه نور السيرة در حد چند كتاب متفرق و در برنامه نور الانوار/2 تا سطح چند آيه پراكنده برطرف گرديد.ب) دامنه مشخصهاى: در عموم برنامههاى نور كاربر مىتواند ويژگى كلمه مورد جستجوى خودرا تعيين كند كه شامل ويژگى آيه، روايت، سند و يا توضيح مؤلف كتاب باشد. كلماتى كه از ويژگى انتخاب شده كاربر برخوردار نباشند به عنوان پاسخ جستجو بازگردانده نمىشوند.در اغلب برنامههاى نور، كليدى مانند F3 دامنه جارى انتخاب شده توسط كاربر را نشان مىدهد.4-2-8- راحتى كار با برنامه:از اين ويژگى معمولا به friendly user بودن ميانجى كاربر برنامه ياد مىشود، علاوه بر اينكه در تمامى قسمتهاى برنامه يك راهنماى «بر خط» (online) در اختيار كاربر مىباشد و مىتواند شيوه كار با برنامه را به زبان جارى برنامه مشاهده نمايد، هر قابليت و ويژگى كه در برنامه براى استفاده كاربر تعبيه شده است، به گونهاى - مستقيم يا غير مستقيم- به اطلاع كاربر رسانده شده است و هر آنچه را كه كاربر مىتواند از برنامه در اختيار خود بگيرد، دور از چشم و نگاه او نيست.كليدهاى ميانبر و فعال برنامه (Hotkey) در خطوط بالا و پايين صفحه برنامه به اطلاعكاربر رسانده شده است. با صرف مدت زمان كوتاهى، شيوه كار با برنامه به دست كاربر مىآيد. ازآنجا كه برنامههاى نور همگى داراى روال واحدى هستند، كاربر ضمن آشنايى با يكى از آنها، در واقع با تمام برنامهها آشنا شده است. معمولا زبان رايجبرنامه علاوه بر انتخاب آن به هنگام نصب و راهاندازى، در حين اجراى برنامه نيز قابل تغيير مىباشد.رنگ صفحاتى كه كاربر با آنها صفحات كتابها را مشاهده مىنمايد، كاملا در اختيار كاربر مىباشد. صفحه كليدى كه كاربر با آن عادت دارد، از داخل برنامه قابل تغيير مىباشد. همگى اينها به اضافه قابليت تغيير فونت نمايش جلوههايى از راحتى كار با برنامه مىباشد.5-2-8- يكى ديگر از نقاط قوت برنامههاى نور، كنترل تمامى پيامهاى خط توسط موتور خود برنامه مىباشد.در سيستم عامل DOS تمامى ايرادهاى سختافزارى توسط اينتراپت 24H كنترل مىشود. در برنامه نور، اين اينتراپتبه زبان اسمبلى باز نويسى شده است و كليه پيامهاى خطاى سختافزارى به زبان فارسى و عربى به كاربر منتقل مىشود.قابليت گزينش از متن و جستجو يا ذخيرهسازى و يا چاپ ناحيه گزينش شده نيز از نقاط قوت برنامههاى نور مىباشد.9 - چشمانداز نرمافزارهاى معجم لفظى نور مركز تحقيقات كامپيوترى علوم اسلامى در رشتههاى مختلف علوم اسلامى، معجمهاى لفظى گوناگونى عرضه نموده است و خواهد نمود. بعضى از اين معجمها به صورت مستقل و برخى در ضمن معجمهاى موضوعى، رجالى و تاريخى عرضه شده است. آنچه را كه ما در اين مقال به آن پرداخته بوديم، معجمهاى لفظى كتب روايى بود. مركز تا كنون در زمينه حديث و روايات پيامبر اكرمصلى الله عليه وآله وسلم و ائمه معصومينعليهمالسلام دو لوح فشرده عرضه نموده است:1 - لوح فشرده نور (الفاظ) شامل بحار الانوار، كتب اربعة، وسائل الشيعة، مستدرك الوسائل و شرح نهج البلاغه ابنابىالحديد كه به تفصيل در بند 6 محتواى آن شرح داده شد.2 - لوح فشرده نور العترة/1 شامل بيش از 160 عنوان از كتابهايى كه به عنوان مصادر و مآخذ بحار الانوار محسوب مىشوند. در ضمن معجم لفظى كتب رجالى هشتگانه شيعه به صورت برنامهاى جداگانه ضميمه اين لوح فشرده مىباشد.آنچه درخور گفتن است، اين است كه ارتقاء معجمهاى لفظى نور در طيف كتب حديث و روايت، از اين به بعد تحت نام «نور العتره» خواهد آمد. تا آخر سال 1378 به اميد حق، لوح فشرده نور العترة/2 شامل نهج البلاغه، صحيفه سجاديه، وسائل الشيعة، مستدرك الوسائل و كتب اربعه شيعه به صورت اعرابدار و نيز بحار الانوار و مآخذ بحار الانوار و كتب رجال و كتابهاى لغت «العين»، مجمع البحرين و لسان العرب همگى در يك برنامه عرضه خواهند شد.نگارنده در بخش دوم اين مقاله در بند پنجم (يعنى در قسمتبيان پيشينه و تاريخچه معجمهاى لفظى نور) از ذكر برنامه نور العترة و نيز معجمهاى لفظى كه در دل برنامههاى موضوعى نهفته است، چشمپوشى نموده است تا بهانهاى داشته باشد كه در مقالهاى جداگانه ويژگيهاى معجمهاى لفظى توليد شده توسط متدهاى شىءگرا ( object-oriented) را بيان نمايد.كمترين انتظار در ارتقاء معجمهاى لفظى نور اين است كه عناوين مختلف كتب حديثى، همگى در يك برنامه عرضه شوند تا پژوهشگر مجبور نباشد براى جستجو در تمامى كتب روايى شيعه، دائما بين چند برنامه جدا جدا در رفت و آمد باشد.چشمداشت ديگر كاربران در نور العترة/2 عرضه اطلاعات كتب حديثى به شكل عربى صحيح همراه با علائم ويژه زبان عربى يعنى «ة» و«ي» و «ا» و «ا» مىباشد. اين نكته يكى از اشكالهاى لوح فشرده معجم الفاظ نور است كه با صرف هزينه سنگينى در نور العترة/2 تمامى اين اطلاعات با كوششى طاقتفرسا از طرف معاونت فنى و بخش ورود اطلاعات مركز تحقيقات كامپيوترى علوم اسلامى تصحيح شده است.به محيط Windows 9X مىباشد كه مقدمات اين مهم نيز توسط بخش نرمافزار معاونت فنى مركز انجام گرفته است. در سيماى آينده نرمافزارهاى معجم لفظى نور چند ويژگى پيشبينى شده است كه مراحل تحليل و طراحى را طى كرده است و به اميد حق پيادهسازى خواهد شد كه بعضى از آنها عبارتاند از:1 - اتصال كلمات متن به لغتنامه از طريق ريشهيابى كلمات
2 - امكان حفظ محيطهاى جستجو
3 - جستجو در فهرست كتابها
4 - مقايسه پاسخهاى تفصيلى و اجمالى
5 - جستجو توسط نويسه (كاراكتر)هاى عمومى (9)
6 - امكان حاشيهنويسى بر متن
7 - قابليتحفظ جايگاه در هر قسمت از متن (Bookmark)
8 - رنگى كردن قسمتهايى از متن و عنوان دادن به رنگها
9 - عنوان جديد دادن به قسمتهايى از متن كتاب.توضيح هر يك از اين ويژگيهاى جديد در مقالهاى جداگانه خواهد آمد.به اميد پيشرفت كمى و كيفى هر چه بيشتر در نرمافزارهاى نور، اين مقال را به پايان مىبريم.و السلام على من يخدم الحق لذات الحق