ماهان شبکه ایرانیان

فن آوری اطلاعات ؛ مکانیزم جستجو در بانک های اطلاعاتی

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

اشاره:

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

جایگاه جستجو

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

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

محیط پیاده سازی بانک اطلاعات

برای اینکه بتوان مانور کاملی را روی یک بانک اطلاعات پیاده سازی کرد، باید از یک مکانیزم مناسب برای آن استفاده کرد. بسته به محیطی که بانک اطلاعات در آن محیط نصب و استفاده می گردد، نرم افزاری که این مکانیزم را پیاده سازی می کند، تعیین می گردد. به عنوان مثال اگر بانک اطلاعات در قالب برنامه Access نصب گردد، نرم افزار بانک آن Access و SQL و برنامه نویسی آن توسط VBA انجام می گیرد. اما در صورت پیاده سازی بانک اطلاعات در محیط شبکه، نرم افزار بانک آن Oracle و SQL، و نرم افزار برنامه نویسی آن نیز بسته به نیازASP.NET، VB.NET، C#، PHP و ... خواهد بود. البته ما در این مجال به بحث نوع نرم افزار یا محیط کار نخواهیم پرداخت. در این مقاله سعی شده است فارغ از نوع محیط به کارگیری بانک و نوع نرم افزار به کار گرفته، به الگوریتم های جستجو در بانک اطلاعات پرداخته گردد.

مکانیزم جستجو در بانک اطلاعات

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

با نگاهی دقیق به چهار بخش موضوع جستجو، فعل جستجو، مرتب سازی و ارائه محصول، در می یابیم که این چهار بخش، به صورت ضربدری با یکدیگر در ارتباط می باشند. به این ترتیب، حالات مختلفی که در مکانیزم جستجو تحقق می یابد، به 144=3*4*3*4 افزایش می یابد. این مطلب به خوبی نشان می دهد که هر قدر مکانیزم جستجو پیشرفته و جامع باشد، محصولات تولیدی بانک اطلاعات مفید، سازنده و دقیق خواهد بود، و خواهد توانست محققان را در به کارگیری از حجم وسیع اطلاعات یاری دهد.

موضوع جستجو

مفهوم پردازی رایانه ای

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

1. کلید واژه

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

2. کلید واژه اصلی و فرعی

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

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

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

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

3. تجزیه و تحلیل متن

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

1. ثبت شروع و پایان سخنرانی یک شخص خاص؛

2. متمایز کردن لیست های فرعی و اصلی؛

3. فهرست بردای از مطالب؛

4. ثبت شروع و پایان فیش برداری از سند، با احتساب شماره بندی؛

5. ثبت شروع و پایان پاورقی ها؛

6. ثبت اصلاحات به همراه تعاریف آن؛

7. ثبت شروع و پایان آیات قرآنی یا موارد مشابه با ثبت نام سوره و آیه؛

8. و ...

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

به طور کلی به دو شیوه مختلف می توان محتویات یک سند را نکته برداری و علامت گذاری کرد:

الف) ثبت تجزیه و تحلیل در سند با استفاده از کارکترهای ویژه

در روش اول، با استفاده از کارکترهای ویژه، شروع و پایان یک عبارت را با استفاده از شماره گذاری مشخص می کنیم و کارکترها را در آغاز و پایان عبارت درج می کنیم. با کمی دقت می توان فهمید که این سیستم فرمت گذاری، مشابه زبان فرمت گذاری HTML و XML است. در این دو زبان نیز با استفاده از کارکترهای ویژه(TagTag) محصور شده در علامت های > و <، متون را فرمت زنی می کنند. مثال زیر را ببینید:

حضرت آیت ا... خامنه ای فرمودند: « امام خمینی(ره)، یک حقیقت همیشه زنده است ».

<1/ حضرت آیت ا... خامنه ای /1> فرمودند: <1\ امام خمینی(ره)، یک حقیقت همیشه زنده است ». \1>

همان طور که مشاهده می کنید، شروع و پایان سخنران و سخن ارزشمند ایشان با کد 1 علامت گذاری شده است. حال رایانه به سادگی می تواند آمار سخنان رهبری را به همراه سخنان ایشان، در کل بانک اطلاعات ارائه دهد. این روش دو عیب عمده دارد، اول اینکه کارکترهای ویژه الزاماً باید در سند اصلی درج گردد. بدین ترتیب سند ما از حالت اولیه خارج خواهد شد. این عملیات به دلیل اینکه سندیت سند را خدشه دار می کند، مطلوب نیست. دوم اینکه برای بازگردان سند به حالت اولیه، باید عملیات جداگانه ای انجام گیرد.

ب) ثبت تجزیه و تحلیل سند خارج از سند

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

حضرت آیت ا... خامنه ای فرمودند: « امام خمینی(ره)، یک حقیقت همیشه زنده است ».

5. استخراج مشخصه(Field) های مشخص از سند

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

1. کد سند؛

2. عنوان یا نام سند؛

3. فهرست مطالب؛

4. موضوع در قالب کلید واژه های اصلی و فرعی؛

5. متن؛

6. تاریخ درج؛

7. تاریخ تهیه؛

8. سخنران، تهیه کننده یا گردآورنده؛

9. نوع سند؛

10. و ...

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

فعل جستجو(جستجوی ترکیبی)

در این نوع از جستجو، از عبارات ترکیبی استفاده می گردد. به عنوان مثال، می خواهیم کلمات "عرفان" و "اسلام" در عنوان یا نام سند(فیلد2) جستجو گردد، و فقط اسنادی به عنوان محصول ارائه گردد که در عنوان آن از کلمات "عرفان" و "اسلام" استفاده شده باشد. در حالت دیگر، می خواهیم اسنادی به عنوان محصول، لیست شود که در عنوان آن، کلمات "عرفان" یا "اسلام" وجود داشته باشد. به این نوع از جستجو، جستجوی ترکیبی می گویند؛ زیرا پارامترهای جستجو، از تلفیق دو یا چند شرط تشکیل می گردد. تحقق چنین امکانی محقق را در یافتن مفاهیم مرتبط در سند یاری می دهد.

برای نظام مند کردن جستجوی ترکیبی، می توان از عملگرهای ریاضیاتی به این منظور استفاده کرد. جدول زیر تعدادی از این عملگرها را نمایش می دهد:

ردیف

عنوان جستجو

عملگر

عملگر نهایی

1

کلمه عرفان و اسلام در عنوان سند جستجو گردد

AND

"عرفان" AND "اسلام"

2

کلمه عرفان یا اسلام در عنوان سند جستجو گردد

OR

"عرفان" OR "اسلام"

3

کلمه عرفان یا اسلام در عنوان سند نباشد.

NOT

("عرفان" OR "اسلام")NOT

4

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

Xor

("عرفان" Xor "اسلام")

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

مرتب سازی

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

مرتب سازی به طور کلی به سه شیوه زیر انجام می گیرد:

1- الفبایی؛

2- تاریخی؛

3- موضوعی.

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

ارائه محصول

ارائه محصول نهایی یک جستجو، پایان کار جستجو را نشان می دهد. پس از گذشت مدت زمان کوتاهی ممکن است جستجوهای متنوع زیادی در بانک صورت گیرد. در صورتی که امکان ذخیره سازی محصول نهایی جستجو امکان پذیر گردد؛ در مدت زمانی کوتاه، یک بانک جدید از محصولات تولیدی از جستجوهای متنوع را در اختیار خواهیم داشت. این محصولات به نوبه خود می تواند به عنوان یک بازخورد (feed back) مجدد، به مکانیزم جستجو ارسال گردد، یا در صورت تمایل به کاربران و محققان، نمایش داده شود، یا به عنوان یک خروجی قابل نمایش در خارج از بانک، در قالب فایل های قابل استفاده ذخیره گردد. به طور خلاصه، محصولات تولیدی می تواند به چهار صورت قابل استفاده گردد:

1. ارسال به خارج از بانک، در قالب فایل های استاندارد؛

2. ارسال مجدد محصول جستجو، به مکانیزم جستجو؛

3. ذخیره سازی در بانک اطلاعات، برای استفاده های بعدی؛

4. امکان های مختلف برای نمایش و چاپ محصول تولیدی.

____________________

* کارشناس پایگاه اطلاع رسانی مرکز جهانی علوم اسلامی با همکاری حجت الاسلام و المسلمین آقای سید مهدی رضوی

قیمت بک لینک و رپورتاژ
نظرات خوانندگان نظر شما در مورد این مطلب؟
اولین فردی باشید که در مورد این مطلب نظر می دهید
ارسال نظر
پیشخوان