۲-۱۵ نتیجه گیری ۵۲

فصل سوم: معماری خزنده وب و استراتژی های خزش ۵۳

۳-۱ مقدمه ۵۴

۳-۲ معماری خزنده های وب ۵۴

۳-۳ انتخاب صفحه ۵۶

۳-۴ اهمیت صفحه ۵۷

۳-۵ چالش های اجرای یک خزنده ۵۷

۳-۵-۱ انتخاب صفحات برای دانلود ۵۷
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت nefo.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))

۳-۵-۱ انتخاب صفحات برای دانلود ۵۷

۳-۶ پیچیدگی های فرایند خزیدن ۵۸

۳-۶-۱ استرات‍ژی های سنجش انتخاب صفحات ۵۸

۳-۶-۱-۱ معیار مبتنی بر گرایشات کاربران ۵۸

۳-۶-۱-۲ معیار مبتنی بر شهرت صفحات ۵۸

۳-۶-۱-۳ معیار مبتنی بر محل قرار گرفتن صفحات ۵۸

۳-۷ چگونگی آغاز و ختم فرایند استخراج و ذخیره سازی صفحات وب ۵۹

۳-۷-۱ خزش و توقف ۵۹

۳-۷-۲ خزش و توقف مبتنی بر مقدار آستانه ۵۹

۳-۸ استراتژی های روزآمدسازی صفحات ۶۰

۳-۸-۱ سیاست روزآمد سازی یکپارچه ۶۰

۳-۸-۲ سیاست روزآمد سازی نسبی ۶۰

۳-۹ به حداقل رساندن بار روی وب سایت های بازدید شده ۶۰

۳-۱۰ موازی سازی روند خزنده ۶۰

۳-۱۱ ساختار وب ۶۱

۳-۱۲ استراتژی های خزش ۶۲

۳-۱۲-۱ جستجوی ناآگاهانه ۶۲

۳-۱۲-۱-۱ حرکت اول عمق ۶۲

۳-۱۲-۱-۲ حرکت اول سطح ۶۳

۳-۱۲-۱-۳ جستجو با هزینه یکنواخت ۶۵

۳-۱۲-۲ جستجوی آگاهانه یا اکتشافی ۶۶

۳-۱۲-۲-۱ حرکت بهترین-شروع ۶۷

A 69

۳-۱۲-۳ جستجوی محلی ۶۹

۳-۱۲-۳-۱ جستجوی تپه نوردی ۷۰

۳-۱۲-۳-۲ جستجوی پرتو محلی ۷۰

۳-۱۲-۳-۳ جستجوی شبیه سازی حرارت ۷۱

۳-۱۲-۳-۴ الگوریتم آستانه پذیرش ۷۲

۳-۱۲-۳-۲ جستجوی پرتو محلی ۷۰

۳-۱۳ نتیجه گیری ۷۳

فصل چهارم: تجزیه و تحلیل نتایج حاصل از تحقیق ۷۴

۴-۱ مقدمه ۷۵

۴-۲ مرحله اول: بررسی روش اول سطح ۷۵

۴-۳ مرحله دوم: بررسی روش اول عمق ۸۰

۴-۴ مرحله سوم: بررسی روش ترکیبی ۸۶

۴-۴-۱ ترکیب اول: پیمایش اولین سطح به صورت BFS 86

۴-۴-۲ ترکیب دوم: پیمایش اولین و دومین سطح به صورت BFS 86

۴-۴-۳ ترکیب سوم: پیمایش اولین و دومین و سومین سطح به صورت BFS 86

۴-۵ مرحله چهارم: بررسی روش بهترین-شروع ۸۶

۴-۶ مرحله پنجم: بررسی روش تپه نوردی ۸۷

۴-۷ نتایج تجربی بدست آمده ۸۸

۴-۸ تعداد صفحات دانلود شده برای هر پرس و جو ۹۰

۴-۹ نتیجه گیری ۹۱

فصل پنجم: نتیجه گیری و ارائه پیشنهادات ۹۷

۵-۱ نتیجه گیری و جمع بندی نهایی ۹۳

۵-۲ پیشنهادات و کارهای آینده ۱۰۰

منابع ۱۰۱

فهرست جداول

عنوان صفحه

جدول ۴-۱ میزان مرتبط بودن صفحات با بهره گرفتن از روش های اول سطح، اول عمق، بهتـرین- شروع و تپه نوردی ۸۸

جدول ۴-۲ میزان مرتبط بودن صفحات با بهره گرفتن از روش های ترکیبی اول، دوم و سوم ۸۹

جدول ۴-۳ تعداد صفحات خزش شده برای هر پرس و جو در الگوریتم های مختلف ۹۰

فهرست اشکال

عنوان صفحه

شکل ۲-۱ درصد تغییرات صفحه ۸

شکل ۲-۲ متوسط تغییرات صفحه در هر ۱۰ روز ۸

شکل ۲-۳ موتور جستجوی یاهو ۱۶

شکل ۲-۴ معماری موتورهای جستجو ۲۰

شکل۲-۵ کدهای HTML سازنده یک صفحه وب ۲۳

شکل۲-۶ خزش در وب ۲۴

شکل۲-۷ ماتریس اطلاعات کلیدواژه ها ۲۵

شکل ۲-۸ نحوه استخراج و شاخص دهی ۳۲

شکل ۳-۱ معماری خزنده وب ۵۵

شکل ۳-۲ الگوریتم پایه خزنده وب ۵۶

شکل۳-۳ نمایی کلی از ساختار وب ۶۱

شکل۳-۴ ساختار گراف وب ۶۱

شکل۳-۵ حرکت خزنده در بین صفحات با بهره گرفتن از الگوریتم اول عمق ۶۲

شکل۳-۶حرکت خزنده در بین صفحات با بهره گرفتن از الگوریتم اول سطح ۶۳

شکل۳-۷ یک خزنده با استراتژی اول سطح ۶۳

شکل ۳-۸ الگوریتم خزنده با استراتژی اول سطح ۶۴

شکل ۳-۹ محاسبه پیچیدگی زمانی یک درخت جستجوی دودویی با بهره گرفتن از جستجوی اول سطح ۳۳

شکل ۳-۱۰ مراحل رسیدن به هدف با بهره گرفتن از روش UCS 66

شکل ۳-۱۱ یک خزنده با استراتژی بهترین-شروع ۶۸

شکل ۳-۱۲ الگوریتم خزنده با استراتژی بهترین-شروع ۶۹

شکل ۳-۱۳ شبه کد جستجوی تپه نوردی ۷۰

شکل ۳-۱۴ شبه الگوریتم پرتومحلی ۷۱

شکل ۳-۱۵ شبه الگوریتم شبیه سازی حرارت ۷۲

شکل ۴-۱ لینک های استخراج شده سطح اول با بهره گرفتن از تکنیک BFS ۷۵

شکل ۴-۲ لینک های استخراج شده سطح دوم با بهره گرفتن از تکنیک BFS 76

شکل ۴-۳ لینک های استخراج شده سطح سوم با بهره گرفتن از تکنیک BFS 77

شکل ۴-۴ مسیر طی شده در اولین هسته از پرس و جوی Computer networks در روش اول سطح ۷۷

شکل۴-۵ مسیر طی شده در دومین هسته از پرس و جوی Computer networks در روش اول سطح ۷۸

شکل۴-۶ مسیر طی شده در سومین هسته از پرس و جوی Computer networks در روش اول سطح ۸۰

۸۱

شکل ۴-۸ محتوای a1 S1 ۸۱

۸۱

۸۲

۸۲

شکل ۴-۱۲ مسیر طی شده در اولین مرحله از روش اول عمق ۸۲

شکل ۴-۱۳ مسیر طی شده در nامین مرحله از روش اول عمق در هسته اول ۸۴

شکل ۴-۱۴ مسیر طی شده در اولین مرحله از روش اول عمق ۸۴

شکل ۴-۱۵ مسیر طی شده در nامین مرحله از روش اول عمق ۹۰

شکل۵-۱ نمودار ستونی درصد مرتبط بودن صفحات در پرس و جوی”Computer networks“ ۹۴

شکل ۵-۲ نمودار ستونی درصد مرتبط بودن صفحات در پرس و جوی”Artificial Intelligence“ ۹۴

شکل ۵-۳ نمودار ستونی درصد مرتبط بودن صفحات در پرس و جوی“Web crawler“ ۹۵

شکل ۵-۴ نمودار ستونی درصد مرتبط بودن صفحات در پرس و جوی”Search engine“ ۹۵

شکل ۵-۵ نمودار ستونی درصد مرتبط بودن صفحات در پرس و جوی ”Cloud Computing“ ۹۶

شکل ۵-۶ نمودار ستونی درصد مرتبط بودن صفحات در پرس و جوی ”Software engineering“ ۹۶

شکل ۵-۷ نمودار ستونی درصد مرتبط بودن صفحات در پرس و جوی”Data mining“ ۹۷

شکل۵-۸ نمودار ستونی درصد مرتبط بودن صفحات در پرس و جوی ”Computer architecture“ ۹۷

شکل ۵-۹ نمودار ستونی درصد مرتبط بودن صفحات در پرس و جوی”Operatin system “ ۹۸

شکل۵-۱۰ نمودار ستونی درصد مرتبط بودن صفحات در پرس و جوی”Wi-Fi“ ۹۸

فهرست نشانه ها(فرمول ها)

…………………………………………………………………………………………………………………………………………… ۶۷

Sim(q , p) = ………………………………………………………………………………………………………………… 68

h(n)≤h*(n)

h(n)≥۰ …………………………………………………………………………………………………… ۶۹

۰ ≤h(n) ≤h*(n)

فهرست اختصارات

BFS Best First Search

DFS Depth First Search

DNS Domain Name System

FTP File Transfer Protocol

HTTP Hyper Text Transfer Protocol

IP Internet Protocol

PPC Pay Per Click

SA Simulated Annealing

TA Threhsold Acceptance

URL Uniform Resource Locator

TFIDF ………………………….………………Term Frequency Inverse Document Frequency

چکیده

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

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

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

فصل اول

کلیات

۱-۱ مقدمه

بدون وجود موتورهای جستجوگر تقریباً وب جهان گستر بدون فایده است. اما سؤال این است که موتورهای جستجوگر چگونه در میان این همه وب سایت اطلاعات مورد نیاز ما را پیدا می کنند. اینترنت بسیار وسیع است و کاربران وب در حدود دو میلیارد برآورد می شوند. در این میان حداقل ۲۵۰ میلیون وب سایت اینترنتی وجـود دارد که در مجمـوع چیزی در حدود ۳۰ میلیارد صفحه وب را در خود جـای داده اند. گشتن در محیط وب[۱] زمانی که بسیار کوچک و وب سایت ها بسیار کم بودند معمولاً اختصاص به پژوهشگران و اساتید دانشگاه داشت و می توان گفت که کار دشواری نیز به شمار می رفت[۹].

با توسعه وب و زیاد شدن حجم اطلاعات و وب سایت ها نیاز به ابزاری جهت یافتن اطلاعات در این اقیانوس اطلاعات بیش از پیش احساس می شد. در همین حال در اوایل دهه نود میلادی بود که اولین موتورهای جستجوگر به نام آرچی[۲] پا به عرصه حضور گذاشتند. یک موتور جستجوگر در قدم اول و قبل از آنکه بخواهد نتایجی را به کاربر نمایش دهد بایستی اطلاعات را جمع آوری و طبقه بندی کرده باشد. بنابراین موتورهای جستجو باید تا حد امکان وب سایت ها را مرور کنند و آدرس صفحات را با چکیده ای از محتویات صفحه ذخیره و طبقه بندی کنند. این وظیفه بسیار سنگین است و توسط خزندگان وب[۳] انجام می شود[۵۳].

این برنامه ها به صورت خودکار در وب به جستجو پرداخته و محتویات صفحات وب سایت ها را برای تحلیل بعدی ذخیره می کنند. از آنجا که تعداد صفحات و حجم آنها بسیار بالاست از این رو این کار در مقیاس بسیار بزرگی انجام می شود و به زمان و پهنای باند بالایی نیاز دارد. موتورهای جستجوگر معروف مخزن بسیار بزرگی را در صفحات وب ایجاد کـرده اند اما خزندگان جدیدتر باید این کار را از صفر شـروع کنند. خزنده ها برای شروع معمولاً به سراغ دایرکتوری های معروف می روند چون از طریق آنها می توانند به لیست بزرگی از سایت های مرتبط دسترسی پیدا کنند و با مرور این وب سایت ها خزنده وب هر چه بیشتر در فضای داخلی وب سایت ها فرو می رود و اطلاعات بیشتری بدست می آورد. تمامی این اطلاعات در مخزن ذخیره می شوند تا بعداً مورد تجزیه و تحلیل قرار گیرند[۴۴].

یک خزنده با طراحی خوب می تواند محتوای صفحـات وب را با سرعت بالایی مرور کند و در عین حال همگی خزندگان با کمک یک برنامه هماهنگ کننده اقدام به جستجو در وب می کنند تا این عمل دوباره تکرار نشود. این هماهنگ کننده باعث می شود که فاکتور تازگی صفحات حفظ شود تا جدیدترین نسخه آنها در بانک اطلاعاتی موتور جستجو قرار گیرد[۴۶].

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

اما آنچه که یک وب سایت را در نتایج جستجوی یک موتور جستجوگر در رتبه ی بالاتری قرار می دهد در واقع نوع الگوریتم موتور جستجوگر در رتبه بندی صفحات یافت شده است. این الگوریتم مجموعه ای پیچیده از قواعد و ملاحظات گوناگون است که البته مدام در حال بهینه سازی است تا نتایج بهتری را در معرض نمایش کاربران قرار دهد. هر چقدر الگوریتم یک موتور جستجوگر بهتر عمل کند آن وب سایت نیز نتایج بهتری را به کاربران ارائه می دهد و از همین رو ضامن موفقیت یک موتور جستجوگر همان معماری و نوع الگوریتم جستجوی آن است. موتورهای جستجو همگی کل صفحات را بر اساس کلمات موجود در آن مورد ارزیابی قرار می دهند. اهمیت یک وب سایت هم در رتبه آن تاثیر مهمی دارد و اگر سایت های زیادی به یک صفحه خاص لینک دهند، موتور جستجو با وزن دهی[۴] متوجه می شود که آن صفحه مهم است و به آن صفحه توجه بیشتری می کنـد. هر چه تعـداد لینک ها از سایت های دیگر به یک سایت بیشتر باشد یعنی آن وب سایت مهمتر و معتبرتر است.

حال اگر وب سایتی که رتبه بالایی دارد به وب سایت دیگری لینک دهد، آن لینک ارزش بیشتری نسبت به چندین لینک خواهد داشت[۳۵].

۱-۲ بیان مسأله

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

حال بروز رسانی می باشند[۵].

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

با توجه به اندازه فعلی وب، ضروری است که خزنده روی کسری از وب که از کیفیت محتوایی بالاتری برخوردارند عمل خزیدن را انجام دهد. حتی موتورهای جستجوی بزرگ امروزی نیز عمل خزیدن را فقط روی کسری از صفحات موجـود در وب انجام می دهند اما خزنده باید عمل خزیدن را روی کسری از صفحات که با موضوع موردنظر مرتبط هستند انجام دهد نه فقط روی صفحات تصادفی یعنی صفحات باید بستـه به اهمیتشـان انتخاب شـوند. اهمیـت یک صفحـه وب وابسته به تعداد لینک ها یا ملاقات ها آنها می باشد [۲۳].

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

۱-۳ اهمیت و ضرورت انجام تحقیق

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

با توجه به اینکه بهترین موتورهای جستجو دارای پایگاه داده ای حدوداً ۵۰ درصد صفحات موجود در وب هستند از این رو مستقر شدن پیوندهای با اهمیت بیشتر و الگوشناسایی و کشف آنها در کارایی موتورهای

جستجو و تامین رضایت کاربران بسیار حیاتی است[۱۵].

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

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

۱-۴ ساختار پایان نامه

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

فصل دوم

مبانی و مفاهیم پایه

۲-۱ مقدمه

دنیای امروز دنیای اطلاعات است و سریع ترین راه انتقال اطلاعات استفاده از فضای وب می باشد. با وجود آن که پیدایش وب موجب تحول شگرفی در فراگیری اخبار و اطلاعات علمی شده است اما همانطور که در شکل های ۲-۱ و ۲-۲ مشاهده می شود افزایش زیاد حجم اطلاعات در جهان مشکل یافتن اطلاعات ارزشمند و معتبر را از میان میلیون ها صفحه اطلاعاتی در سراسر جهان به دنبال داشته است به همین دلیل امروزه مسئله بازیابی اطلاعات از مهم ترین مباحث مورد توجه در حوزه مطالعات فضای وب است. برای حل این مسئله ابزارهای مختلفی به وجود آمده است، کارآمدترین و محبوب ترین ابزار بازیابی اطلاعات، موتورهای جستجو می باشد. موتورهای جستجو، طبقه بندی و دسترسی به اطلاعات را ساده می‌سازند. وب منبع عظیمی‌از اطلاعات است که روز به روز بر حجم آن افزوده شود. وب محلی برای ترافیک و رد و بدل اطلاعات در موضوعات مختلف است. با عمومی شدن استفاده از صفحات وب نیاز به پیدا کردن این صفحات یک مساله جدی برای کاربران اینترنت شده است. در حال حاضر میلیونها صفحه که اطلاعات فراوانی از موضوعات مختلف را در بر دارند بر روی سرویس دهنده های مختلف وجود دارند و این در حالی است که هر روز نیز بر حجم این اطلاعات افزوده می‌شود. [۴۴]

شکل۲-۲ متوسط تغیرات صفحه در هر ۱۰ روز]۶۱[

شکل۲-۱ درصد تغیرات صفحه]۹[

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

شبکه جهانی اینترنت در اواخر دهه ۱۹۶۰ پا به عرصه ظهور گذاشت، اما تا سال ۱۹۹۰ ابزارهایی برای کاوش اطلاعات موجـود در آن وجـود نداشت. با مروری اجمالی بر تاریخچـه ابزارهـای کاوش در وب می توان دریافت که تقریباً کلیه پیشرفتها در این زمینه توسط دانشجویان و طرحهای پژوهشی آنها صورت گرفته است. در سـال ۱۹۹۰ اولیـن ابـزار کاوش تـوسـط آلان اِمتیـج[۵] در دانشـگاه مـک گـیل[۶] تحـت عنـوان آرچـی[۷] توسعه یافت. این ابزار کاوش تنها می توانست فایلهای اینترنتی، نه متن و اسناد موجود در اینترنت را بازیابی کند[۵۳].

در سال ۱۹۹۳ در دانشگاه نوادا برای بازیابی اسناد و متون در سرورهای گوفر[۸] نظامی موتور جستجویی مشابه آرچی طراحی شد که ورونیکا[۹] نام داشت. در واقع ورونیکا برای اولین بار امکان جستجو و بازیابی متن و اسناد ساده بدون تصویر یا پیوندهای فرامتنی را در اینترنت فراهم کرد[۵۰].

آرچی و ورونیکا، پدر و مادر تمام ابزارهای کاوش امروزی به شمار می آیند. بعدها دو ابزار کاوش برای جستجوی اطلاعات در محیط وب توسعه یافتند که عبارت بودند از آلی وب[۱۰] و شبکه جهانی وب واندر[۱۱]. شبکه جهانی وب واندر که توسط ماتئوگری[۱۲] در دانشگاه ام آی تی توسعه یافت از روبات ها به تعبیر دیگر برنامه های کامپیوتری برای جستجو و نمایه سازی صفحات وب استفاده می کرد. به این ترتیب اولین موتور کاوش پا به ظهور گذاشت و پایگاه موتور کاوش تحت عنوان وندکس[۱۳] شکل گرفت[۵۳].

در اوایل سال ۱۹۹۴ دو دانشجوی دوره دکتری مهندسی برق دانشگاه استانفورد به نامهای دیوید فیلو[۱۴] و جری[۱۵] یانگ فهرستی از سایتهای وب مورد علاقه و منتخب را تهیه و در محیط وب ارائه کردند . سپس به منظور جستجو در پایگاه اطلاعاتی گرد آوری شده از سایتها، نرم افزار کاوشی به آن افزودند و آن را یاهو نام نهادند. پس از مدتی، حجم اطلاعات موجود در یاهو افزایش یافت و روزانه هزاران نفر به آن مراجعه کردند[۱۸].

در دسامبر ۱۹۹۵ آلتا ویستا[۱۶] به عنوان یکی از شناخته شده ترین موتور های کاوش ظهور پیدا کرد و به دلیل ویژگیها و نوآوری هایی که در آن پیش بینی شده بود، به سرعت به عنوان یکی از بهترین ابزارهای کاوش اینترنت مطرح شد به طوری که توانایی انجام روزانه میلیون ها جستجو را بدون کاهش سرعت بازیابی اطلاعات به همراه داشت[۵۳]. آلتا ویستا اولین موتور کاوشـی بـود که از زبان طبیعی «مانند جستجوی جمله آب و هوای تهران چطور است؟» و عملگرهای بولی برای بازیابی اطلاعات در محیط وب استفاده کرد.

در مـاه مـی ۱۹۹۶ هات بات[۱۷] بــه عنــوان یـکی دیـگـر از ابـزارهـای مهــم کـاوش ابـداع شـد که روبات آن قـادر بـود روزانـه حـدود ۱۰ میلیـون صفحـه در محیـط وب را در پایــگاه خـود نمایه کنـد. در سـال ۱۹۹۵ اولیــن متا کراولر[۱۸] توسـط سلبـرگ ظهـور پیـدا کرد. این ابـر موتـور کاوش می توانست در پایگاه شش موتور کاوش و راهنمای موضوعی به طور هم زمان به جستجو بپردازد. در اواخر سال ۱۹۹۷ یکی از بزرگترین و مهمترین ابزارهای کاوش امروزی یعنی موتور جستجوی گوگل[۱۹] از طریق طرح تحقیقاتی دانشگاه استانفورد ظهور یافت. گوگل تلاش کرد که در نظام رتبه بندی نتایج کاوش خود مبتنی بر میزان ارتباط آنها با کلید واژه های جستجو، تحول اساسی به وجود آورد که از طریق استفاده از معیار میزان استناد به یک سایت مشخص توسط سایت های دیگر صورت می گیرد[۵۳].

پیرولی[۲۰] در سال ۱۹۹۷ به مطالعاتی درباره ی رابطه بین “شرایط مطلوب” یک صفحه و طول عمر آن پرداختند. از آنجا که بسیاری از خزنده[۲۱] ها تنها می توانند زیر مجموعه کوچکی از وب را دانلود کنند، خزنده باید به دقت تصمیم بگیرید که کدام صفحات را دانلود کند. بنابراین بررسی می کنیم که چطور یک خزنده می تواند پیوند “مهـم” را خـیلی زود کشـف و شناسایی کند[۱۸].

ادوارد[۲۲]، ریچارد[۲۳] و دوستانشان در سـال ۱۹۹۸ مطالعـاتی در مورد «چگونگی زمانبندی یک خزنده وب برای بهبود نوسازی صفحه» انجام دادند. نتیجه این مطالعات به این صورت بود که در آن خزنده های وب به منظور حفظ صفحات به روز شـده، صفحات دانلـود شـده را به صـورت دوره ای به روز می کنند.

فرد[۲۴]، آنجا فلدمن[۲۵] و بالاچاندر[۲۶] در سال ۱۹۹۹ مطالعات تجربی درباره چگونگی تغییر صفحات وب را انجام دادند. کمیته علوم کامپیوتر دانشگاه استانفورد در سال ۲۰۰۱ پژوهشی را با عنوان «پیمایش وب: کشف و نگهداری مقیاس بزرگی از داده های وب» انجام دادند[۵۳].

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

وقتی یک کاربر عبارتی را جستجو می‌کند، موتور جستجوگر لیستی از سایتها را نشان می‌دهد که تعداد آنها از چند مورد تا میلیونها صفحه متغیر است. سایتهایی که موتور جستجوگر به عنوان نتایج جستجویشان نشان می‌دهند بر حسب میزان ارتباط با موضوع جستجو شده به ترتیب نزولی لیست می‌شوند. به عبارت دیگر سایتی که به عنوان اولین نتیجه جستجو معرفی می‌شود، مرتبط ترین سایت به عبارت جستجو شده از دید آن موتور جستجوگر بوده است[۵۹].

هر چه بر محبوبیت وب افزوده می‌گردد نیاز به بایگانی کردن اطلاعات آن نیز بیشتر می‌شود. افرادی که دستی در تجارت الکترونیک دارند اذعان می‌کنند که آوردن بیننده به سایت ضروری ترین شرط موفقیت برای سایتهای تجارت الکترونیک است. فرقی نمی‌کند که سایت چه کالا و خدماتی را ارائه می‌کند، هر سایت اگر خواهان کسب در آمد و محبوبیت است، باید بیننده داشته باشد. موتور جستجو نیز باید اطلاعات را به سرعت در اختیار کاربران قرار ‌دهد. بدون موتور جستجوگر، وب تنها به بخش کوچکی از موفقیت امروزی خود دست می‌یافت، زیرا موتور جستجوگر وب را به رسانه ای قابل استفاده برای همه تبدیل کرده است چرا که از هیچ کس توقع نمی‌رود که آدرسهای بسیاری از سایتهای مختلف را به یاد داشته باشند. آنچه که تمام موتورهای جستجو گر با درجات متفاوتی از موفقیت انجام می‌دهند، فراهم آوردن یک وسیله جستجوی ساده است[۱۲ و ۴۵].

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

ممکن است در نگاه اول این امر برای افراد عادی به راحتی قابل هضم نباشد و به دلیل رایگان بودن جستجو، افراد دیگر ضرورتی نمی بینند که به نیات واقعی فراهم کنندگان خدمات جستجوی اطلاعات توجه نمایند. برای جلب توجه بیشتر مشتریان و در نتیجه رقابت میان موتورهای جستجو، آنها به طور دائم در تلاش هستند که خدمات خود را ارتقا بخشند و اطلاعات خود را بروز نمایند اما کاربران باید به این نکته توجه نمایند که نیت واقعی فراهم کنندگان خدمات جستجو، کسب سود بیشتر است، اگر در کوتاه مدت هـم این مدنظر نباشـد، به طور حتم در دراز مدت هـدف همین است. تنها موتورهای جستجـویی می توانند کسب سود مناسب را در دراز مدت تضمین نمایند که قابلیت جوابدهی بیشتر و مناسب تر را به سؤالات مختلف کاربران داشته باشند[۴۵].

تعداد بینندگان هر سایت، در برگیرنده آن در دنیای وب است. سایتی که بیننـده ندارد بدون شک مرگی آنلاین را تجربه می‌کند. آمارهای رسمی‌ به خوبی نشان می‌دهند که موتورهای جستجوگر ابزار مناسبی هستند که کاربران آنها خدمات و اطلاعات مورد نیاز خود را می‌یابند. البته تنها رتبه های بالای نتایج جستجو است که مورد توجه کاربران قرار دارد و آنها به سایتهای لیست شده در این رتبه ها مراجعه می‌کنند. کاربران هنوز هم علاقه دارند که ده سایت اول در نتایج جستجو را مرور کرده از بقیه سایتها صرف نظر کنند. این رفتار کاربران پیام بسیار واضحی دارد: «سایتهایی که در رتبه های بالا قرار نمی‌گیرند، بینندگان چندانی هم نخواهند داشت»[۳۱].

با دقت در این رفتار کاربران اهمیت کسب رتبه های بالا در موتورهای جستجوگر روشن تر می‌شود. نکته دیگر آنکه بینندگانی که بدین ترتیب از طـریق موتورهای جستجـوگر روانه سایت ها می‌شوند عمـوماً علاقه مندان به آن سایت هستند و این در حالی است که هزینه چندانی صرف آوردن آنها به سایت نشده است. امورزه تجارت الکترونیک خود را با مسئله رتبه بندی در موتورهای جستجوگر هماهنگ کرده است زیرا رتبه های بالاتر مستقیماً به فروش بیشتر تعبیر می‌شوند. طبق آمارهای ارائه شده در ابتدای سال میلادی ۲۰۰۳ نزدیک به ۹۳ درصد بینندگان سایتهای فعال در زمینه ارائه هدایای کریسمس را موتورهای جستجوگر فراهم کرده اند که در این بین گوگل با ۲۷ درصد در صدر ایستاده است. هر روزه سایت های بسیاری در وب منتشر می‌شوند که دارندگان آنها به امید کسب در آمد و موفقیت به این تجارت نوین وارده شده اند اما تنها تعداد معدودی از آنها با بهره گرفتن از تکنیک های موثر کسب درآمد و با تکیه بر تخصص خود در این بین به موفقیت دست می‌یابند[۳۱ و ۴۵].

امروزه بازاریابی در اینترنت روش های بسیاری را برای کسب در آمد هر چه بیشتر در اختیار سایت های قرار داده است اما انتخاب اول تمامی‌سایت ها رتبه های بالا در موتـورهای جستجوگر است. موتورهای جستجوی اولیه به کاربـران امکان می دادند که فقط بخشی از وب را جستجـو نمایند اما امـروزه با پیشرفت های اخیر و افزایش قابلیت های آنها، می توانند دیگر بخش های اینترنت را نیز کاوش نمایند. به طور خلاصه می توان گفت که موتور جستجوگر ابزاری است که کاربران اینترنت به کمک آنها سایت ها و اطلاعات مورد علاقه خود را می‌یابند. نتایج جستجوی تمام موتورهای جستجوگر دقیق نیست. بسیاری از کاربران دریافته اند که در اغلب موارد ۱۰ رتبه اول نتایج جستجوی موتورهای جستجوگر می‌تواند خواسته آن ها را برآورده کند. تجارت الکترونیک به شدت خود را با مسائل رتبه بندی در موتورهای جستجوگر هماهنـگ کـرده است و همه سایـت ها برای کسب رتبه های بالا تلاش می‌کنند[۴۵].

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

۲-۲ انواع موتورهای جستجو

موتورهای جستجو از لحاظ نحوه عملکرد و نوع انجام جستجو به چندین دسته زیر تقسیم می شوند:

  • موتورهای جستجوی کلید واژه ای[۲۷]
  • موتورهای جستجو بر اساس فهرست راهنمای موضوعی[۲۸]
  • موتورهای جستجوی مبتنی بر خزنده[۲۹]
  • موتورهای جستجوی ترکیبی[۳۰]
  • موتورهای جستجوی متا[۳۱]
  • موتورهای جستجوی هوشمند [۳۲]
  • موتورهای جستجوگر مبتنی بر پرداخت[۳۳]

۲-۲-۱ موتورهای کلید واژه ای

این جستجوگرها دارای کادر مشخصی برای تایپ کلمه یا عبارت مورد جستجو هستند. کاربران با تایپ عبارت مربوط به موضوع از طریق موتور جستجو، کلیه سایت ها و صفحاتی که آن کلمـه یا عبارت را در بر دارند بازیابی می کنند. این موتورها با سرعت زیاد، حجم انبـوهی از منابع مرتبـط با موضوع مشـخص شده را به ترتیـب ارائه می کنند. این موتورها به دلیل دقیق و تخصصی نبودن سایت های بازیابی شده، گاهی اوقات نتایج نامرتبط به موضوع مورد نظر را به کاربر برمی گرداند و معمولاً برای جستجوی عمومی یک موضوع خاص مورد استفاده قرار می گیرند[۷ و ۵۰].

۲-۲-۲ موتورهای جستجو بر اساس فهرست راهنمای موضوعی

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

این نوع جستجو با دخالت مستقیم و نظارت صاحبان اسناد و مستندات وب ثبت و سازماندهی می شود. به

طور مثال کلیه اسناد در چندین شاخه از قبیل: هنر، ورزش، تفریح، خبر و … تقسیم بندی شده و تمامی این شاخه ها نیز به چندین زیر شاخه تقسیم می شوند. مثلاً شاخه هنر به زیرشاخه های موسیقی، سینما، نقاشی و… تقسـیم می شود و خود این زیرشاخه ها نیز به زیرشاخه های دیگری تقسیم می شوند.

صاحب یک سند موظف است آن را با توضیحـات کافی که در ویراستارهـای ویژه درج می شود در فهرسـت دایرکتوری متناسب با آن سند درج کند. در این روش، کاربران شانس بیشتری برای یافتن نتیجه مطلوب خواهند داشت. این روش ممکن است برای برخی کاربران آماتور راضی کننده نباشد زیرا این کاربران علاقه ای به جلو رفتن در میان شاخه ها و زیرشاخه ها را ندارند[۷].

برخی از مزیت های موتورهای جستجو بر اساس فهرست راهنمای موضوعی عبارتند از[۷ و ۵۰]:

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

این موتورهای جستجو دارای نقاط ضعفی نیز می باشند که می توان به موارد زیر اشاره نمود[۷ و ۵۰]:

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

تعداد موتورهای راهنما در مقایسه با سایر موتورهای جستجو زیاد نمی‌باشد ولی مهم ترین آن‌ ها عبارتند از:

۲-۲-۳ موتورهای جستجوی مبتنی بر خزنده

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

پایگاه داده این نوع از موتورهای جستجوگر بزرگتر از سایر انواع است و اطلاعاتی را که آنها ارائه می‌دهند معمولاً بروزتر می‌باشد. عملیات بروز رسانی و گستـرش پایگاه داده موتور جستجـوگر از یک هفتـه تا چند ماه به طول می‌ انجامد. خزنده ها، هیچ گاه از کار نمی‌ایستند و به طور مداوم به جمع آوری اطلاعات مشغول هستند. ممکن است اطلاعات جمع آوری شده توسط آن ها از صفحات جدیدی باشد و یا اطلاعات بروز شده از صفحاتی باشد که قبلا هم به آنها مراجعه کرده اند[۵۰ و ۳۱].

موتورهای جستجوی مبتنی بر خزنده در مقایسه با راهنماهای موضوعی دارای پایگاه های اطلاعاتی بزرگی هستند. این نوع از موتورهای جستجو، بهترین گزینه برای جستجوهای ترکیبی محتوا/کلیدواژه هستند و اطلاعات روزآمدی را در اختیار کاربران قرار می دهد. محدودیت جستجو بر اساس تاریخ، نوع قالب، رشته و …، جستجوی حجم عظیمی از اطلاعات در مدت زمان اندک و کنترل در طول جستجو که در موارد لزوم بتوان عبارات جستجو را ترکیب نمود، را می توان از دیگر مزایای این نوع از موتورهای جستجو به شمار آورد.

موتورهای جستجوی مبتنی بر خزنده دارای معایبی نیز می باشند که می توان به مواردی از قبیل: دشواری یافتن موارد موردنـظر به دلیل نداشتن دسته بنـدی های موضوعـی، بازیابی های نامرتبـط، متفـاوت بودن تکنیک های جستجو و نمایه سازی ها در موتورهای مختلف، وجود لینکهـای مـرده به دلیل از بین رفتن برخی از آن ها اشـاره نمـود. همچنین این نوع از موتورهای جستجـو تحت تاثیر ترفندها و اسپم ها قرار می گیرند.وقتی که صحبت از تکنیک های بهینه سـازی رتبه سایت ها می‌شـود در واقع تکنیـک هایی مطرح اند که برای کار با این نـوع از موتـورهای جستجـوگر موثرند. بعضی از این موتـورهای جستجـوگـر عبارتنـد از: google , MSN, Altavista, Northemlight, wisenut, teoma و … [۵۰].

۲-۲-۳-۱ تفاوت موتورهای دایرکتوری با موتورهای مبتنی بر خزنده

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

علاوه بر این راهنماها از خود نمایه مستقلی ندارند و فقط از طریق پیوندها به جایگاه و یا مدرک موردنظر وصل می‌شوند، به همین علت گاه برخی از این پیوندها به منابعی که دیگر موجود نیستند ختم می‌شوند، در مقابل موتورهای جستجو از خود نمایه مستقل دارند و منابعی را که بعد از جستجو بازیابی می‌کنند در خود دارند و از این دیدگاه بر راهنماها برتری دارند[۵۰ و ۳۱].

۲-۲-۴ موتورهای جستجوی ترکیبی

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

غالباً، یک موتور جستوی ترکیبی در صورت نمایش نتیجه جستجو از هر یک از دسته های فوق، نتایج حاصل از دسته دیگر را هم مورد توجه قرار می دهد. مثلاً موتور جستجوی ام اس ان بیشتر نتایج حاصل از فهرستهای تکمیل دستی را نشان می دهد اما در کنار آن نیم نگاهی هم به نتایج حاصل از جستجوی پیمایشی دارد[۱ و ۲].

یاهو نمونه یک راهنما با موتور جستجو است .مثلاً در جستجوی آموزش و پرورش دسته بندی های مختلفی وجود دارد همچون :

  • Conferences (27)
  • Institutes (47)
  • Journals (11)
  • Online Teaching and Learning (162)

شکل ۲-۳ موتور جستجوی یاهو[۵۰]

۲-۲-۵ موتورهای جستجوی متا

این موتورها از سال ۱۹۹۸ مورد استفاده قرار گرفتند. حداقل ۳۵۰۰ موتور جستجوی متفاوت وجود دارد که هم مطالب عمومی و هم موضوعات آنها ممکن است فقـط از یک بانک کوچک نتایج خود را استخـراج کنند به طور مثال یاهو یـک بخش کوچکی از ۳۵ میلیون صفحـات را که بوسیله آلتاویستا ایندکس شده ایندکس می کند یا آنها ممکن است سریع بروز نشـوند مثلاً آلتاویستا هر ۹ الی ۱۰ روز بروز می شود در حالیکه لایکوز هر چند ساعت. برنامه های روبات ممکن است خیلی سریع نباشد مثلاً Excite هر ۲۸ ساعت عمل جمع آوری را انجام می دهد در حالیکه Magellen هر ۴ روز. این موارد نشان می دهد که وضعیت جاری موتورهای جستجو ممکن است انعکاس واقعی از رفتارهای آن ها روی اینترنت نباشد و برای تضمین بیشتر درستی و بروز بودن نتایج ممکن است احتیاج باشد به تعدادی از آنها مراجعه کنیم[۵۰]. موتورهای جستجوی متا این امکان را می دهند. در زیر به هر یک از انواع این موتورها اشاره شده است:

  • فهرستی از موتورهای جستجو
  • جستجوی متوالی
  • جستجوی همزمان

۲-۲-۵-۱ فهرستی از موتورهای جستجو

در این روش در یک متاموتور اسامی تعدادی از موتورهای جستجو ظاهر می شود که کاربر می تواند به دلخواه یک موتور را انتخاب کند و با بهره گرفتن از آن جستجوی خود را انجام دهد. این باعث می شود که در مدت رفتن از یک موتور به موتور دیگر صرفه جویی شود. همچنین متاموتور، موتورهای جستجوی بهتری را می تواند پیشنهاد کند[۴۰ و ۵۰].

۲-۲-۵-۲ جستجوی متوالی

در این روش تعدادی موتور جستجو انتخاب می شود و درخواست کاربر همزمان به تمام موتورهای جستجوی انتخابی ارسال می شود و نتایج حاصله از هر موتور جستجو به ترتیب ارسال توسط موتورها در لیست موتورهای متا قرار می گیرد. دراین روش جستجو باید تمام موتورهای جستجو نتایج خود را به موتور جستجوی متا برگردانند تا آنها را برحسب اهمیت درجه بندی کند. عیب این روش آن است که سرعت آن به اندازه کندترین موتور جستجو است .متاموتور Find-it یک نمونه از این نوع است[۵۰].

۲-۲-۵-۳ جستجوی همزمان

این روش ماننـد حالـت متوالی است با این تفاوت که متاموتـور برای نمایـش اطلاعـات به کاربـر منتظـر

رسیدن همه نتایج از همه موتـورها نمی شود بلکه بلافاصله با رسیدن اولین نتیجه، آن را برای کاربر نشان می دهد و نتایج بعـدی را در ادامه لیست نشـان داده شده قـرار می دهد. مزیت این روش آن است که سریع تر است. متاموتور The –Big Hub یک نمونه از این نوع است .

در این روش، تعداد موتورهای مورد جستجو از شش تا بالای ۱۰۰۰ موتور می باشد و اطلاعات قابل جستجـو بر پایه روبات، منابـع وب، گروه های خبری و .. است. قابلیت‌های جستجو در متاموتورها از قبیل: امکان جستجوی کلمات، عبارت، جستجوی بولی و … بستگی به موتورهای جستجوی مورد استفاده دارد. در این روش، زمان داده شده و منابع پیدا شده در اختیار متاموتورها است و وقت زیادی مصرف می کنند البته این امکان وجود دارد که بتوان با محدود کردن تعداد برخوردها[۳۴] و پایان دادن به جستجو بعد از یک پریود معین، زمان را کنترل کرد. متاموتورها نتایـج بدست آمده از موتورهای مختلف را با یکدیگر مقایسه می کنند و بعضی از آنها نتایج تکراری را حذف می نمایند. همچنین بعضی از آنها از نتایج ابتدایی بدست آمده از موتورهای جستجو استفاده می کنند و به این ترتیب سرعت رده بندی بالا می رود. همچنین بعضی از متاموتورها این هوشمندی را نیز دارند که از بین لینکهای موجود، لینکهای معتبر را انتخاب کنند[۵۰].

۲-۲-۶ موتورهای جستجوی هوشمند

این موتورها برای بهبـود جستجـو از عامل هوشمند[۳۵] استفاده می کنند. فعالیت هایی که این موتورها انجام می دهنـد دو مـورد اسـت، ابتدا جستجـوی عبارت وارد شـده توسـط کاربـر و سپـس مطالعـه محتـوای نتایج و قضاوت در مورد مرتبـط بودن آن به واژه مـورد جستجـو است. در واقع این موتـورها، جستجـو را بر اساس مفهـومی که موردنظر کاربر است انجـام می دهند[۵۶]. چند نمونه از این نوع موتورها عبارتند از:

GO-Get-IT, The netferret, Web tamar

۲-۲-۷ موتورهای جستجوگر مبتنی بر هزینه

اصولاً موتورهای جستجو گزینه ای برای ارائه به وب سایت ها جهت بازاریابی اینترنتی و تبلیغات به نام “تبلیغـات کلیـکی” دارند. بسیـاری از مـوتورهای جستجـوی بـزرگ این نـوع خـدمات را ارائه می کننـد. تبلیغ کنندگان، تبلیغات کوچک خود را در صفحـه ی نتایج موتورهـای جستجـو بر اساس عبارات و کلمات کلیـدی خـاص قرار می دهنـد. اگر چه شما بابـت قرار گرفتن این تبلیغـات هزینه ای پرداخت نمی کنید، اما موتورهای جستجو به عنـوان هزینه تبلیغات وب سایت به ازای هر کلیک بر روی تبلیغـات شما مبلغ دریافـت می نماید. به همین دلیل نام این خـدمات “تبلیغات کلیکی” گفته می شود[۶۲].

در ازای پرداخت مبلغی به موتورهـای جستجـو سایـت را در قسمت مربوط به تبلیغات در نتایج جستجو

نشان می دهد به طوریکه زمانی در ازای بازاریابی با موتورهای جستجو[۳۶] هزینه پرداخت می شود که کاربری با بهره گرفتن از موتورهای جستجو مانند گوگل بر روی تبلیغات موردنظر کلیک کرده و وارد سایت شود یعنی پرداخت در ازای کلیک صورت می گیرد. این روش یک راهکار بسیار مناسـب برای کنترل هزینه ها و بهره مندی از هزینه صرف شده برای تبلیغات می باشد[۶۲] .

استفاده از این روش زمانی می تواند نتیجه داشته باشد که بودجه مالی و هدف واقع بینانه ای را دنبال کرده باشید زیرا استفاده ی موفق از بازاریابی می تواند چندین برابر هزینه پرداختی در آمدزایی ایجاد کند. همانند بهینه سازی موتورهای جستجو[۳۷]، در بازاریابی موتورهای جستجو نیز همواره باید نتایج را بررسی و بهبود داد، اهداف و کلمات کلیدی و میزان سرمایه گذاری خود را می توان بر اساس رقابت و رقبای خود تغییر داده و با تکرار این فرایند به نتایج مطلوب خود رسید[۴۴ و ۶۲].

روش کار تبلیغات کلیکـی بدین صورت می باشـد که وقتی شخصـی در موتور جستجـو سـوالی مطرح می کند، مانند ” چگونه…….کار می کند؟” و یا ” چگونه می توانم……. را انجام دهم؟"، اگر کلمه مورد نظر در سوالات مطرح شده، مشابه کلمه کلیدی و یا عبارت کلیدی موجود در وب سایت بود، تبلیغات موردنظر نمایان خواهد شد. درخواست تبلیغات خود را برای رسیدگی باید عنوان نموده تا اعمال شود و پس از آن هزینه تبلیغات شما به ازای هر کلیک توسط موتورهای جستجو برای شما ارسال خواهد شد.

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

در حالیکه این روش تبلیغاتی نسبتاً ساده به نظـر می رسـد، اما در واقع یکی از بزرگترین ترس های مـبتدیان البته با داشتـن دلایل منطقی در امر تبلیغـات می باشـد. پس اگـر دقیقاً نمی دانیم که در حال انجام چه کاری هستیم، بنابراین به سرعت تمامی بودجه تبلیغاتی خود را از دست خواهیـم داد. از سـوی دیگـر اگر از این روش به درستی استفـاده شود پاداش آن برای وب سایـت مربوطه می تواند بسیار بزرگ باشد. این موضوع بسیار مهم است که تنظیمات وب سایت درست بعد از سعی و تلاش جهت تبلیغات و حتی قبل از در نظر گرفتن تبلیغات کلیکی چگونه بوده است. تبلیغات کلیکی شاهراه اصلی فروش محصولات و یا خدمات در اینترنت بوده و باید در کمپین تبلیغاتی خود از این روش استفاده نمود[۶۲].

به طور خلاصه موتور جستجوگر ابزاری است که کاربران اینترنت به کمک آنها سایت ها و اطلاعات مورد علاقـه خود را می‌یابند. نتایـج جستجوی تمام موتورهای جستجـوگر دقیق نیست. بسیاری از کاربران دریافته اند که در اغلب موارد ۱۰ رتبه اول نتایج جستجوی موتورهای جستجوگر می‌تواند خواسته آنها را برآورده کند. تجارت الکترونیک به شـدت خود را با مسـائل رتبه بندی در موتورهای جستجوگر هماهنـگ کـرده است و همه سایـت ها برای کسب رتبه های بالا تلاش می‌کنند[۴۵ و ۵۰].

۳-۲ معماری موتورهای جستجو

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

Page Repository

Queries

Results

Ranking

Structure

Client

Query

engine

Collection

Analysis

Module

Indexer

module

Crawl Control

www

Crawler(s)

Text

Utility

Index:

شکل ۲-۴ معماری موتورهای جستجو [۷]

همانگونه که در شکل ۲-۴ دیده می شود هر موتور جستجو بر یک خزنده، برای فراهم آوردن اطلاعات برای انجام اعمالش تکیه دارد. خزنده برنامه ای است که به عنوان نماینده موتور جستجو، صفحات وب را بررسی می کند، همانگونه که یک کاربر با دنبال کردن لینک ها به صفحات مختلف می رسد. به خزنده ها مجموعه آغازینی از آدرس هـا که متعـلق به صفحـاتی اسـت که از وب بازیابی کرده انـد، داده می شود. خزنده ها این آدرس ها را از صفحات بازیابی شده از وب، استخراج می کنند و این اطلاعات را به واحد کنترل خزنده[۳۸] تحویل می دهند. این واحد تعیین می کند که کدام یک از لینک ها در آینده باید مورد بازدید قرار گیرند. واحد کنترل مسئول کنترل و هدایت اعمال خزنده ها می باشد. برخی از عملیات واحد کنترل ممکن است توسط خود خزنده ها انجام گیرد. خزنده ها همچنین صفحات بازیابی شده را به بخشی به نام انباره صفحات[۳۹] می دهند[۷].

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

هر بار که موتور جستجو حداقل یک چرخه مرور کامل را به پایان رسانده باشد، واحد کنترل خزنده ممکن است توسط چندین نمایه که در طول مرور اخیر پدید آمده اند، آگاه شود. واحد کنترل ممکن است مثلاً از نمودار مربوط به لینک های مرور قبلی برای تصمیم گرفتن در مورد این که کدام لینک ها باید توسط خزنده بررسی شود و کدام یک نه، استفاده کند. واحد کنترل همچنین ممکن است از بازخورد کاربران برای هدایت فرایند خزش استفاده کند(ارتباط بین رابط سؤال موتور جستجو و واحد کنترل در شکل۲-۴) [۱ و ۷].

واحد نمایه ساز[۴۰] کلمات ضروری را از هر صفحه استخراج و آدرس محلی که هر کلمه در آن جا قرار داشته است را ثبت می کند. حاصل کار جدول بسیار بزرگی است که شامل آدرس صفحاتی است که کلمات گردآوری شده در آن جا وجود دارند. اندازه وسیع وب و تغییرات سریع آن مشکلاتی را در ایجاد نمایه پدید می آورد. علاوه بر این چالش های کمی، وب لزوم ایجاد برخی نمایه های خاص را برای موتورهای جستجو ایجاب می کند مثلاً واحد نمایه ساز ممکن است یک نمایه ساختاری بوجود آورد که نشان دهنده لینک های بین صفحات است[۷ و ۴۷].

برخی نمایه ها برای مجموعه متون سنتی مناسب نیستند بنابراین واحد آنالیز مجموعه[۴۱] مسئول به وجود آوردن انواع دیگری از نمایه هاست. نمایه چند کاربره به وسیله واحد آنالیز مجموعه بوجود آمده است. این نمایه ممکن است دسترسی به صفحاتی که دارای بخش معینی هستند، صفحاتی که دارای اهمیت خاصی هستند و یا صفحاتی که شامل تعدادی عکس هستند را فراهم آورد.

واحد آنالیز مجموعه ممکن است از نمایه های متنی و ساختاری در به وجود آوردن نمایه های چند کاربره استفاده کند. در طول چرخه مرور و نمایه سازی، موتور جستجو باید صفحاتی که از وب بازیابی شده اند را ذخیره سازد. ذخیره سازی در مخزن انجام می شود. موتورهای جستجو گاهی اوقات از مجموعه صفحاتی که از آنها مرور به عمل آمده حتی بعد از ساختن نمایه هم نگهداری می کنند. این مجموعه به موتورها اجازه می دهد تا به سرعت صفحه نمایش را نشان دهند، بعلاوه امکاناتی را برای جستجوی ساده فراهـم می آورد. رابط سؤال موتور جستجو[۴۲] مسئول دریافت و اجرای درخواست کاربران است. این بخش به شدت به نمایه ها متکی است و گاهی اوقات هم به مخزن. به دلیل اندازه وب و این که کاربران فقط یک یا دو کلید واژه را وارد می کنند، تعداد نتایج حاصـله معـمولاً زیاد اسـت، بنابرایـن واحـد رتبه بنـدی وظیفه دسته بندی نتایج به گونه ای که مرتبط ترین نتایج در ابتدای صفحه نمایش بیایند، را برعهده دارد[۷].

۲-۴ اجزای معماری موتورهای جستجو

  1. عنکبوت[۴۳]
  2. خزنده
  3. انباره صفحات
  4. ماژول شاخص دهی
  5. ماژول تحلیل مجموعه
  6. شاخص سودمندی[۴۴]
  7. ماژول رتبه بندی[۴۵]
  8. موتور پرس و جو [۴۶]

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

کار یک عنکبوت، بسیار شـبیه کار کاربران وب است. همانطـور که کاربران، صفحـات مختلف را بازدیـد می کنند، عنکبوت هم درست این کار را انجام می دهد با این تفاوت که عنکبوت کدهای [۴۸]HTML صفحات را می بیند اما کاربران نتیجه حاصل از کنار هم قرار گرفتن این کدها را.

در شکل ۲-۵ کدهایی را که عنکبوت مشاهده می کند نمایش داده شده است:

شکل۲-۵ کدهای HTML سازنده یک صفحه وب

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

عنکبوت ها کاربردهای دیگری نیز دارند، به عـنوان مثال عـده ای از آنها به سایـت های مخـتلف مراجعـه می کنند و فقط به بررسی فعال بودن لینـک های آن ها می پـردازند و یا به دنبـال آدرس پسـت الکترونیکی می گردنـد. در موتورهـای جستجوی امروزی، اغلب عنکبـوت را با خـزنده ادغام نمـوده اند [۴۰ و ۴۶].

خزنده، نرم افزاری است که به عنوان یک فرمانده برای عنکبوت عمل می کند و مشخص می کند که عنکبوت کدام صفحات را مورد بازدید قرار دهد. در واقع خـزنده تصمیـم می گیـرد که کـدام یک از لینـک های صفـحه ای که عنکبوت در حال حاضر در آن قرار دارد، دنبال شود. ممکن است همه آن ها را دنبال کند، بعضی ها را دنبال کند و یا هیچ کدام را دنبال نکند[۲].

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

در صورتیکه دارنـدگان سـایت، تمایل نداشته باشند که موتورهای جستجوگر از اطلاعات سایت شان استفاده نمایند، می توانند آن ها را از بعضی از صفحات سایت دور کنند و اجازه دسترسی به محتوای آن صفحات را به آن ها ندهند. تنظیم میزان دسترسی موتورهای جستجوگر به محتوای یک سایت توسط پروتـکل Robots.txt انجـام می شود. نمونه ای از خزش یک خزنده در شکل ۲-۶ نمایش داده شده است:

شکل۲-۶ خزش در وب[۴۰]

خزنده وب صفحات وب را عموماً برای یک موتور جستجوی وب یا حافظه نهان وب دانلود می کند. یک خزنده اغلب صدها میلیون صفحه را در یک دوره کوتاه از زمان دانلود و به طور مداوم بر صفحات دانلود شده نظارت دارد و آن ها را نوسازی می کند[۱۶].

به طور کلی، یک خزنده با یک مجموعه آغازینی از urlهای s0 شروع می شود. مکان اولیه s0 در یک صف جاییکه همه ی urlهایی که قابل بازیابی هستند نگهداری و اولویت بندی می شوند. خزنده از این صف یک url می گیرد، صفحه را دانلود می کند و هر url را از صفحات دانلود شده استخراج می کند و urlهای جدید را در صف قرار می دهد. این پروسه ادامه می یابـد تا زمانیکه خـزنده تصمیـم به توقـف داشتـه باشـد. هر صفحـه ای که بازیابی می شود به مخزن داده می شود تا صفحات را ذخیره کند. سپس یک شاخص برای صفحات ایجاد و یا مفاهیم صفحات آنالیز می شود[۲۳].

خزنده ها امروزه به طور گسترده ای استفاده می شوند. خزنده ها برای موتورهای جستجوی بزرگ مثل گوگل، آلـتاویستـا، Excite و … برای بازدید از بخش قابل توجهی از صـفحات وب متنـی به منظـور سـاخت شاخص های محتوا تلاش می کنند. خزنده های دیگر همچنین ممکن است صفحات زیادی را مشاهده کنند اما ممکن است تنها نوع خاصی از اطلاعات را جستجو نمایند مانند آدرس ایمیل و … . در انتهای دیگر این طیف، خزنده های شخصی را داریم که صفحات موردعلاقه ی یک کاربر خاص را به منظور ساخت یک حافظه نهان در دسترس سریع پیمایش می کنند. خزنده ها صفحات مختلف را در یک آرایه ی یک بعدی نگه داری می کنند[۲۰]:

Pages = [ P1, P2, . . . , P]

نمایه سازها نیز اطلاعات کلیدواژه ها را در آرایه هایی نگهداری می کنند.:

K= [۱, ۲, ۳, . . . ]

K= [……………..]

.

.

.

K= [ ……………]

سپس با بهره گرفتن از آرایه های ایجاد شده، ماتریس هایی به وجود می آید که به وسیله ی آن ها می توان فهمید که هر کلید واژه در چه صفحه ای وجود دارد. این ماتریس سرعت پیدا کردن صفحات مورد نظر را افزایش می دهند. در شکل ۲-۷ این ماتریس نمایش داده شده است:

شکل۲-۷ ماتریس اطلاعات کلیدواژه ها[۴۷]

کنترل خزنده، مجموعه برنامه های خزنده وب را با تحویل URL مورد نظر راه اندازی کرده و به کار خزیدن می گمارد. این ماژول است که تعیین می کند صفحه بعدی که قرار است ملاقات شود کدام است. ماژول خزنـده موظف اسـت تمام آدرس ها یاURL ها را از درون صفحات استخراج و آن ها را برای تصمیـم گیری در اختیار ماژول کنترل خزنده بگذارد. تفاوت موتور های جستجوی مختلف بیشتر در الگوریتم کنترلی خزنده نمود پیدا می کند[۴۷].

مخزن یک سیستم ذخیره سازی دارای مقیاس است که مجـموعـه بـزرگی از صفحـات وب را مدیریـت می کند. مخزن باید دو عمل اساسی را انجام دهد[۱۸ و ۵۵]:

  1. مخزن باید رابطی برای کراولر ایجاد کند تا بتواند صفحات وب را ذخیره کند.
  2. مخزن باید رابطی مؤثر فراهم آورد تا نمایه ساز و واحد آنالیز مجموعه بتوانند از آن برای بازیابی صفحات استفاده کنند.

خزنده در هنگام ذخیره سازی صفحات وب ممکن است با چالش های زیر مواجه شود[۱۸]:

  • گسترش پذیری تا بی نهایت[۴۹]
  • پشتیبانی از دسترسی دوگانه[۵۰]
  • بهنگام سازی عظیم و توده ای[۵۱]
  • صفحات منسوخ[۵۲]

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

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

۲-۵ استراتژی های روزآمد سازی مخزن

از آنجا که مخزن توسط خزنده ها روزآمد می شود، استراتژی روزآمدسازی مخزن بستگی به ویژگی های خزنده دارد. حداقل دو راه برای خزنده ها وجود دارد[۳۸ و ۵۵]:

۲-۵-۱ روش دسته ای یا خزنده دائمی[۵۳]

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

۲-۵-۲ جستجوهای نسبی یا کامل[۵۴]

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

با توجه به دو فاکتور ذکر شده در بالا، مخزن می تواند یکی از دو روش روزآمد سازی در مکان[۵۵] یا روزآمدسازی سایه[۵۶] را برای روزآمدسازی صفحات انتخاب کند. در روزآمد سازی در مکان صفحات دریافت شده از خزنده مستقیماً در مجموعه موجود در مخزن ترکیب می شوند و ممکن است جایگزین نسخه های قدیمی تر شوند. در روزآمدسازی سایه ای صفحات جدید، مجزا از مجموعه موجـود ذخـیره می شوند و در مرحله ای جدا از صفحات موجود روزآمد می شوند[۱۸].

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

در حقیقت ایندکسر، صفحه را به پارامترهای آن خرد می کند و تمام این پارامترها را به یک مقیاس عددی تبدیل می کند تا سیستم رتبه بندی بتواند پارامترهای صفحات مختلف را با هم مقایسه کند. در زمان تجزیه و تحلیل اطلاعات، ایندکسر برای کاهش حجم داده ها از بعضی کلمات که بسیار رایج هستند صرف نظر می کند. کلماتی نظیرa ، an،the ، www، is و … از این گونه کلمات هستند[۴۷].

به طور کلی این ماژول کلمات موجود در صفحات را به همـراه URL آن ها در یک جـدول بسیار عظیم لیست می کند. یک خروجی ماژول شاخص دهی بانک اطلاعاتی یا شاخص ساختاری[۵۷] است . این بانک چگونگی پیوند خوردن صفحات را نشان می دهد[۵۵].

۲-۶ دو نمایه اصلی واحد نمایه ساز

  • نمایه ساختاری یا لینکی [۵۸]
  • نمایه متنی یا محتوایی [۵۹]

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

اگر چه تکنیک های مبتی بر لینک برای افزایش کیفیت و ارتباط نتایج جستجو استفاده شده است، ولی بازیابی مبتنی بر متن مثلاً جستجو برای صفحاتی که شامل برخی کلیدواژه ها هستند، همچنان به عنوان روش اولیه برای تشخیص صفحات مرتبط با سؤال استفاده می شـود. نمایه ها برای بازیابی مبتنی بر متن می توانند از روش هـای سنتی که بر اساس تطابق بین کلید واژه های سؤال و کلید واژه های متن است برای بازیـابی مـدارک متنی استفاده کنند[۴۸].

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

ساختار نمایه، اندازه و حجم آن در موتورهای جستجوی مختلف، متفاوت است به همین دلیل جستجو با کلید واژه های یکسان نتایج نسبتاً متفاوتی در موتورهای گوناگون در پی خواهد داشت. یکی از مشکلات عمده موتورهای جستجو، اتکای زیاد آنها به نمایه سازی اطلاعات متنی است. این موتورها معمولاً برای نمایه سازی منابع متنی و به ویژه منابع ابرمتن طراحی شده اند. این در حالی است که بسیاری از منابـع موجـود در شبـکه به قالب های دیگر و معمولاً غیـرمتنی مثـل تصـویر یا منـابع دیـداری- شنیداری هستند و برای موتورهای کاوش امکان نمایه سازی بهینه این منابع به راحتی فراهم نیست[۴۸].

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

  • تمامی صفحات در حال تغییر هستند.
  • احتمال دارد لینکـی که در یـک صفحـه است هیچ ربطـی به این صفحـه از لحاظ محتوایی نداشـته باشد.

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

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

کاربران چند کلمه را در جعبـه جستجـوی[۶۰] وارد می کنند و سپس با فشـردن دکمه اینتر منتـظر پــاسخ

می مانند[۴۷ و ۴۸].

برای پاسخگویـی به درخواست کاربر، ابتـدا تمام صفحـات موجـود در پایگاه داده که به موضـوع جستجـو شده مرتبط هستند، مشخص می شوند. پس از آن سیستم رتبه بندی وارد عمل شده، آن ها را از بیشترین ارتباط تا کمترین ارتباط مرتب می کند و به عنوان نتایج جستجو به کاربر نمایش می دهد[۴۸].

حتی اگر موتور جستجوگر بهترین و کامل ترین پایگاه داده را داشته باشد اما نتوانـد پاسخ های مرتـبطی را ارائه کند، یک موتور جستجوگر ضعیف خواهد بود. در حقیقت سیستم رتبه بندی قلب تپـنده یک مـوتور جستجوگر است و تفاوت اصلی موتورهای جستجوگر در این بخش قرار دارد[۵۹].

سیستم رتبه بندی برای پاسخ گویی به سوالات کاربـران، پارامترهای بسـیاری را در نظر می گـیرد تا بتـواند بهترین پاسخ ها را در اختیار آنها قرار دارد. در حال حاضر قـدرتمندترین سـیستم رتبـه بندی را گـوگل در اختیار دارد. برای سهولت در بیان مطالب بعدی هر گاه صحبت از بایگانی به میان می آید، مقصود این است که صفحه تجزیه و تحلیل شده و به انباره موتور جستجوگر وارد می شود[۵۷].

اما کلیاتی در کار بسیاری از موتورهای جستجو مشترک و مشابه است که دانستن آنها خالی از لطف نیست. ماژول رتبه بندی پس از غربال کردن نتایج بی ارزش یا کم ارزش آن ها را بر حسب  اهمیتشان رتبه بندی و مرتب می کند تا آنچه را که کاربر دریافت می دارد فهرست مرتب شده ای از صفحات مرتبـط با کلیدواژه هایش باشد.

ماژول رتبه بندی در دو دسته کاملاً متفاوت از اطلاعات بهره می گیرد:

  • اطلاعات مندرج در درون صفحه
  • اطلاعات مندرج در بیرون از صفحه وب یعنی درون صفحـات دیگر. این روش، روش موفـقی

است.

ارزش یک صفحه از نظر ماژول رتبه بندی با توجه با اطلاعات مندرج در درون صفحه به عوامل زیر بستگی دارد[۳۲]:

  • دفعات تکرار کلمات کلیدی
  • ترتیب و مجاورت کلمات کلیدی
  • محل درج کلمات کلیدی از لحاظ عنوان پاراگرافی یا متن معمولی
  • درج کلمات درون آدرس صفحه در url
  • پر رنگ بودن کلمات کلیدی
  • بهره گیری از برچسب های توصیفی[۶۱]
  • بهره گیری از بر چسب alt tag

ارزش یک صفحه از نظر ماژول رتبه بندی با توجه به اطلاعات منـدرج در بیرون از صفحه شامل موارد زیر می باشد[۳۲]:

  • تعداد ارجاعاتی که به صفحه داده شده است.
  • رده بنـدی جهـانی وب سایـت حـاوی صفحه از لحـاظ طراحی، تعـداد بازدیـدکننـده، جـذب ترافیک و … .

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

۲-۷ یک مثال از نحوه عملکرد موتور جستجو

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

کار ایندکسر: او قصد دارد برای شکار به منطقه حفاظت شده ای برود.

کار پروتکل روبوت: ابتدا تمام محدودیت های موجود برای شکار در این منطقه را بررسی می کند:

  • آیا در این منطقه می توان به شکار پرداخت؟
  • کدام حیوانات را می توان شکار کرد؟
  • فرض که شکارچی مجوز شکار یک آهو را از شکاربانی منطقه دریافت می کند.

کار عنکبوت: شکارچی آهـویی را شکار می کند و سپس آن را با خود به منزل می برد.

کار ایندکسر: شکار را تکه تکه کرده، گوشت، استخوان، دل و قلـوه، کله پاچه و … آن را بسته بـندی می کــند و بخــش های زاید شکار را دور می ریزد.

کار پایگاه داده: بسته های حاصل را درون فریزر قرار داده و آن ها را ذخیره می کند.

کار ماژول رتبه بندی: مهمانان سراغ او می آیند و همسر او بسته به ذائقـه مهمانان برای آن هـا غذا طبـخ می کند. ممکـن اسـت عـده ای کله پاچه، عده ای آبگوشت، عده ای جگر و … دوست داشته باشند. پخت غذا طبـق سلیقـه مهمانان کار سخـتی است. ممکن است همه آنها آبگوشت بخواهند اما آنها مسلمـاً

خوشمـزه ترین آبگوشت را می خواهند!

۲-۸ مراحل کار موتورهای جستجو

۲-۸-۱ پیش پردازش دادها

یکی از راههـایی که موتورهـای جستجـو برای کاهـش زمـان جستجـو به کار می بـرند، پیش پردازش محتـوای وب سایت هاست. به این ترتیب وقتـی کاربر درخواسـت یک پرس و جـو را صادر می کند به جـای این که این پرس و جو به میلیون ها وب سایـت فرستاده شود، با داده از پیش پردازش شـده در یک سایت مقایسـه می شـود و مطابقت صـورت می پذیـرد. پیـش پردازش به کـمک برنامـه نرم افزاری به نام خزنده انجام می گیرد[۵۰].

خزنده فهرست صفحات وب را جمع آوری می کند. سپس صفحات بازیافتی پیمایش شده و کلمات کلیدی استخراج و این کلمات به همراه لینک مـربوطه، در فـایل شاخص ذخـیره می شوند. پرس و جوهای کاربران با همین فایل شاخص مقایسه و مطابقت داده می شود و نه با دیگر وب سایت ها[۴۹].

شکل ۲-۸ نحوه استخراج و شاخص دهی[۵۵]

۲-۸-۲ الویت بندی نتایج

لینیک هایی که به عنوان نتایج جستجو تولید می شوند معمولاً خیلی زیاد هستند، اما همه این نتایج مفید نیستند و حتی ممکن است عواملی مثل ابهام زبان باعث شود نتایج مناسبی به کاربر داده نشود. برای فراهم کردن دسترسی سریع و در عین حال صفحات مناسب و این که صفحات با موضوعیت بیشتر در الویت بالاتری قرار بگیرند، الگوریتم های جستجو استراتژی های رتبه بندی مختلفی را به کار می برند[۵۹] .

یکی از این روش های بسیار معمول «فراوانی کلمه-عکسِ فراوانی سند» [۶۲] است. در این روش چگونگی توزیع کلمات و تکرار آنها بررسی می شود و برای کلمات، وزن عددی تولید می شود. ایـن وزن بـه معنـی درجـه اهمیـت و اعتبـار آنهـا در اسـناد مخـتـلف اسـت. بـه این کار وزن دهـی واژه[۶۳] گفـته می شود. وزن یک واژه به دو عامل بستگی دارد: یکی دفعات تکرار واژه که هر چه بیشتر باشد اهمیت واژه بیشتر است و دیگری تواتر اسناد که به معنی تعداد اسنادی است که شامل آن واژه است و هر چه این مقدار بیشتر باشد، اهمیـت واژه در تمـایز اسناد کمتر خواهد بود. به این ترتیـب کلماتی که تکـرار بیشتـری دارند مثـل with, or ,to و… نسبت به کلماتی که از نظر معنایی مناسب ترند و از طرف دیگر در متنهای کمتری ظاهر می شوند، وزن کمتری خواهند داشت؛ البته عوامل دیگری می توانند براهمیت یک واژه موثر باشند. محل وقوع واژه، نمادهای خاص مثل فونت و برچسب[۶۴] مربوط به واژه از آن جمله اند. معمولاً کلمه ای که در عنوان یک سند باشد مهمتر از واژه های خود متن است. همچنین واژه های نوشته شده با قلم خاص مهمتر از کلماتی است که بدون این ویژگی ها باشند[۵۷].

علاوه بر وزن دهی واژه ها، صفحات وب با استراتژی های دیگری هم وزن می شود؛ مثلاً در روش تحلیل لینک[۶۵] ماهیت هر صفحـه با توجـه به ارتباط آن با دیگـر صفحـات در نظر گرفته می شود. به این ترتیب وزن دهی یک صفحه با توجه به تعداد صفحاتی که به آن صفحه اشاره می کنند یا بالعکس، تعداد صفحـاتی که آن صفحه به آنها اشاره می کنـد، صـورت می پذیرد. گوگل از این روش برای بالا بردن نتایج جستجو استفاده می کند[۳۲].

۲-۹ برچسب ها

۲-۹-۱ برچسب های توصیفی متن[۶۶]

کدهای html که درون منبـع صفحات مخفـی هستنـد و بازدیدکنندگان سنـد آن ها را نمی بیننـد در مـوتور های جستجو و رتبه بندی تاثیر زیادی دارند.

برای تعریف بر چسب های توصیفی متن باید کدهای زیر را بکار برد:

  • مشخص کردن کلمات کلیدی
  • توصیف کوتاه از محتوای صفحه
  • مشخص کردن تاریخ آخرین ویرایش
  • تازه سازی مجدد صفحه بر حسب ثانیه

content=”keyword , keyword , …” /> <meta name=”keywords”

content=”my description” /> <meta name=”description”

content=”۱/۱/۲۰۰۷” /> <meta name=”revised”

content=”۱۰” url=”my url” /> <meta name=”keywords”

۲-۹-۲- بر چسب alt tag

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

۲-۱۰ فایل robots.txt

یک فایل متنی است که بر روی سرویس دهـنده وب و درون دایرکتـوری اصـلی هر وب سایت ذخیـره می شود و تنظیمات و شرایط گردش و سرکشی به اعماق آن وب سایت را عرضه می کند. این فایل زحمت خزنده را کاهش خواهد داد. این فایل با خطوط زیر آغاز می شود[۴۰]:

user-agant : “نام برنامه راهنمای وبسایت“

disallow : “نام فایل ها یا دایرکتوری که توسط خزنده نباید دیده شود“

اگر کسی نخواهد هیچ نقطه از وب سایتش درون فهرست جستجو قرار گیرد:

user-agant *:

disallow :/

۲-۱۱ موقعیت و مسافت

اصطلاح حافظه نهان درباره موتورهای جستجو هم کاربرد دارد به این ترتیب که پرس و جوهایی که به تازگی از سوی کاربران وارد شده، در جایی نگهداری می شود. در واقـع وقتی موتور جستجـو املای صحیـح کلمه را به شمـا اعـلام می کنـد که آیا منظور شما این بود؟[۶۷] از این تکنیک بهره می برد.

استفاده از مدل تحویل توزیع شده[۶۸] راه دیگری برای سرعت دادن پاسخ گویی به درخواست های کاربران

است. در این مدل کپی هایی از شاخص ها و مطالب مربوط تولید می شود و به مکان های جغرافیایی متعددی انتقال می یابد[۵۷] .

۲-۱۲ مشکلات خزنده

همان طور که ذکر شد خزنده ها برای پیش پردازش و بازیابی صفحات به کار می روند. بعضی خزنده ها به روش کورکورانه به بازیابی صفحات می پردازند. روش کورکورانه به این معنی است که به شهرت و اهمیت یا به عبارتی قابل اعتماد بودن مطالب و تولیدکنندگان آنها توجهی ندارند. البته این روش موجب شده سوء استفاده هایی در شاخص دهی و استفاده از موتورهای جستجو صورت گیرد. یکی از این کارها به شاخص هرزه نگار[۶۹] معروف است. بعضی سایت ها برای اینکه در بیشتر مواقع در نتایج جستجو قرار بگیرند و تعداد مراجعان بیشتری داشته باشند، هزاران بار لغات خاصی را در محتوای سایت خود قرار می دهند تا از نظر موتورهای جستجو اولویت و امتیاز بیشتری را به خود اختصاص دهند[۵۵].

وب سرورها برای اینکه تعداد درخواستهای بیشتری را در یک زمان پاسخ دهند، مثلا چند کاربر همزمان بخواهند به یک صفحه دسترسی پیدا کنند، از حیله ای استفاده می کنند بدین صورت که مطالب هر صفحه را روی چند رایانه با نشانی های مختلف که از دید کاربر مخفی است قرار می دهند و درخواست کاربران را به این رایانه ها هدایت می کنند.[۷۰] بعضی سایت ها از این ویژگی نرم افزار استفاده و محتـوای صفحـات یـک سـایت را کپی می کنند و در سایت خود قرار می دهند. این صفحات هم به وسیله موتورهای جستجو، شاخص دهی می شود و درخواست بعضی کاربران به جای صفحه اصلی به این صفحات تقلبی ارجاع داده می شوند. به این ترتیب یک موتور جستجوی خوب علاوه بر جستجو و سرویس دهی خوب به کاربر باید توانایی تشخیص حمله های اینترنتی را هم داشته باشد تا بتواند بهترین و صحیح ترین نتایج ممکن را در اختیار کاربران قرار دهد[۵۵].

۲-۱۳ روش های بهینه سازی موتورهای جستجو

۲-۱۳-۱ شاخص گذاری

موتورهای جستجوی مطرح همچون گوگل و یاهو جهت یافتن نتایج جستجوی الگوریتمی، از خزنده ها استفاده می کنند[۳۴]. صفحاتی که دارای لینک سایر صفحات فهرست شده موتورهای جستجو هستند، نیاز به فهرست شدن ندارند چرا که به طور خودکار یافت می شوند. برخی از موتورهای جستجو همچون یاهو دارای سرویس ارائه غیررایگان هستند که گردش در سایت را با تعیین هزینه مورد نظر به ازای هر کلیک تضمین می نماید. چنین برنامه هایی معمولاً وجود در پایگاه داده را تضمین کرده ولی رتبه بندی خاص در نتایج جستجو را تضمین نمی کنند. دو فهرست اصلی، یعنی فهرست “یاهو” و یا پروژه “فهرست باز” هر دو نیازمند ارائه دستی و بازنگری ویرایشی توسط یک شخص حقیقی هستنـد[۶۲].

خزنده های موتورهای جستجو ممکن است هنگام گشت زدن به فاکتورهای متعددی توجه داشته باشند. تمامی صفحات توسط موتورهای جستجو فهرست نمی شوند. فاصله صفحات از فهرست اصلی یک سایت ممکن است عاملی در یافته شدن یا نشدن صفحات باشد[۳۴].

۲-۱۳-۲ جلوگیری از خزش[۷۱] و استاندارد خروج روبات ها

به منظور جلوگیری از یافتن محتـوای ناخواسته در شاخص های جستجو، وب مسترها می توانند به عنکبوت ها بگویند فایلها و یا فهرست های خاص را از طریق فـایل robots.txt در فهرسـت اصـلی دومین[۷۲] جستجو نکنند به علاوه مسلماً یک صفحـه می تواند با استفـاده از متاتگ ویژه روبات ها از پایگاه داده یک موتور جستجو خارج شود.

زمانیکه موتور جستجویی سایتی را مشاهده می کند، فایل robots.txt واقع در فهرست اصلی، اولین فایلی است که جستجو می شود. این فایل پس از بررسی به روبات دستور می دهد چه فایلهایی را نباید جستجو کند. به دلیل اینکه یک موتور جستجو ممکن است یک کپی از این فایل را در حافظه نهان نگه دارد، ممکن اسـت گاهاً صفحـاتی که وب مستـر نمی خواهـد، بازبینـی شـود. صفحـاتی که عمومـاً از خـزش نفـی می شوند، شامل صفحات ورود و خروج اعضا یا سبدهای خرید و صفحات مخصوص کاربران که از جستجوهای درون سایتی بدست می آیند می باشد. در ماه مارس ۲۰۰۷ گوگل به وب مسترها اخطار داد که آنها باید از شاخص گذاری نتایج جستجوی داخلی جلوگیری کنند، چرا که آن صفحات به عنوان اسپم جستجو تلقی می گردند[۳۴].

 ۲-۱۳-۳ افزایش اهمیت

روش های متعدد دیگری نیز جهت نمایش یک صفحه در نتایج جستجو می تواند مورد استفاده قرار گیرند. این روش ها شامل موارد زیر هستند[۵۹]:

نوشتن کلمات کلیدی تازه جستجو شده به عنوان محتوا

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

سؤالات جستجو مربوط و مرتبط باشد.

عدم تکرار بیش از حد کلمات کلیدی

عدم تکرار بیش از حد کلمات کلیدی در عنوان متاتگ توضیحات و متن صفحه[۷۳]

عادی سازی URL صفحات وب

عادی سازی URL صفحات وب که از طریق URL های چندگانه قابل دستیابی باشند با بهره گرفتن از متاتگ “Canonical”

۲-۱۴الگوریتم های رتبه بندی

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

۲-۱۴-۱ پارامتر های رتبه دهی سه دسته اند:

  • کلمات (تعداد و موقعیت کلمات)
  • لینک ها ( تعداد و ارجاعات)
  • آمار کاربران (کلیک یا رای کاربر)

مهمترین پارامتر کلمات هستند. اخیراً تکنیک های پیشرفته ای برای رتبه بندی ابداع شده که از رفتار کاربران به عنوان پارامتر استفاده می کنند. شرکت گـوگل از پیشتازان این روش است و با ایجاد امکان نظردهی کاربران بر نتایج این سیستم را نیز وارد الگوریتم های پیچیده خود کرده است[۳۲].

۲-۱۴-۲ وزن دهی به کلمات

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

اهمیت کلمات را می توان بر پایه شرایطی مشخص کرد[۵۷]:

  • وزن آماری کلمه
  • مکان قرار گیری کلمه
  • مفهوم هر کلمه
  • کاربرد خاص کلمه

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

مکان قرارگیری کلمه، اینکه کلمه در عنوان یا زیر عنوان یا بدنه متن یا چکیده متن قرار گیرد از معیار های وزن دهی به کلمات می باشد.

مفهوم هر کلمه که بیانگر ارتباط کلمه با کلمات دیگر است به بیانی مترادف یا متضـاد بودن آن کلمـه است.

از کاربـرد های خاص کلمـه می توان اسـامی را در سیستمی که دنبال اسامی خـاص می گـردد مثال زد که

اهمیت ویژه ای دارد.

۲-۱۴-۳ ارزیابی کلمات کلیدی

کلماتی که از آستانه تعیین شده برای وزن دهی عبور می کنند باید معیار های زیر را داشته باشند[۵۷]:

  • جامعیت
  • تعیین کنندگی

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

۲-۱۴-۴ پارامتر های وزن دهی

سه پارامتر اصلی در وزن دهی به کلمات عبارتند از[۵۷]:

  • tf.idf
  • سیگنال و نویز
  • مقدار تمایز

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

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

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

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

۲-۱۴-۵ بازیابی تحمل پذیر

منظور از بازیابی تحمل پذیر این است که موتور جستجو بتواند اشتباهات کاربر را در ورود کلیدواژه یا عبارات پیش بینی  کند و آن را جبران کند و یا پیشنهاد اصلاح آن را به کاربر ارائه دهد[۵۷].

۲-۱۴-۶ الگوریتم کلی غلط یابی املایی در موتور های جستجو

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

در مرحله دوم، اگر کلمه وارد شده در لغت نامه موجود نباشد باید مانند مرحله اول عمل نماید.

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

و در مرحله چهارم، وقتی که پرسش وارد شده تعداد مستنداتی کمتر از مقدار از پیش تعیین شده ای را باز گرداند در این صورت موتور جستجو پیشنهادی برای اصلاح کلمه به کاربر می دهد[۵۹].

۲-۱۴-۷ غلط یابی املایی

دو روش عمده برای غلط یابی املایی وجود دارد[۵۷ و ۵۹]:

  • فاصله ویرایشی [۷۴]
  • همپوشانی کی-گرم[۷۵]

دو شیوه خاص غلط یابی از دیدگاه کلمه و جمله عبارتند از[۵۷]:

  • کلمه مجزا[۷۶]
  • حساس به متن[۷۷]

اگر در خواست کابر شامل چند کلمه باشد عمل غلط یابی را هر بار بر روی کلمات آن به طور جداگانه

انجام می دهیم که به این روش، روش کلمه مجزا می گویند.

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

۲-۱۴-۸ الگوریتم فاصله ویرایشی

فاصله ویرایشی بین دو رشته کاراکتر عبارت است از تعداد اعمالی که لازم است تا یکی را به دیگری تبدیل کند. این اعمال می توانند شامل حذف، درج و جابجایی باشند. تعدادی الگوریتم برای تعریف و محاسبه فاصله ویرایشی وجود دارد که عبارت اند از[۵۹]:

  • Leveshtein distance
  • Damerau-Leveshtein distance
  • Jaro-Winker distance
  • Ukkonen
  • Hirshberg

یکی از الگوریتم های مهم الگوریتم Leveshtein است که از روش برنامه سازی پویا برای محاسبه فاصله بین دو رشته استفاده می کند.

برای مثال فاصله دو کلمه kitten و sitting برابر ۳ است.

  1. kitten –> sitten(substitution of  ‘s’ for ‘k’)
  2. sitten –> sittin (substitution of  ‘i’ for ‘e’)
  3. sittin –> sitting(substitution of  ‘g’ at the end)

۲-۱۴-۹ الگوریتم مجاورت کی-گرم

برای بررسی مجاورت دو رشته استفاده می شود. مجموعه N-gram شامل دنباله های nتایی یک رشته است. به طور مثال، رشته information  که gram-4 آن به صورت زیر است:

info – nfor – form – orma – rmat – mati – atio – tion

روش کلی بدین صورت است که ابتدا تمامی N-gram  ها تولید و اندیـس گـذاری می شود. برای این کار دو روش وجود دارد

  • روش اول: ابتدا N-gram های کلمـه پـیدا شده و سپس با N-gram های دیکشنـری مقایـسه می گردند. فرض بر این است که کلمه اشتباه فقط ۲ یا ۳ کاراکتر اشتباه  یا گم شده یا تغـییر یافته دارد با مقایسه N-gram ها می توان نزدیک ترین کلمه درست را پیدا کرد.
  • روش دوم: ابتدا کلمات مشابه کلمه اشتباه را با بهره گرفتن از الگوریتم  Leveshtein  برای یک فاصله ویرایشی معین، پیدا نموده سپس برای هر کدام از آن ها N-gram ها تولید می شود، هر کـدام از کلمات که تعداد بیشتریN-gram مشابه با کلمه غلط داشـته باشد، به عنوان پیشنهاد ارائه می گردد. الگوریتم N-gram برای کشف غلط های ناشی از جای خالی نیز به کار می روند. برای این کار می توان در تولید مشابه های نزدیک کلمه، علاوه بر افزودن، کاستن و جابجایی، جای خالی را بین حروف قرار داد[۵۹].

۲-۱۴-۱۰ غلط یابی حساس به متن

اگر کلمات وارد شده از نظر املا صحیح باشند ممکن است اشتباهی از طرف کاربر در وارد کردن عبارت صورت گرفته باشد، مانند “فروشگاه مهرآباد تهران” به جای “فرودگاه مهرآباد تهران”. برای چنین اصلاحاتی نمی توان از الگوریتم کلمه مجزا استفاده نمود و باید به الگوریتم حساس به متن رجوع نمود. دو روش برای این کار وجود دارد[۵۷ و ۵۹]:

  • روش اول: ساده ترین روش این است که برای هر کدام از کلمات عبارت وارد شده توسط کاربر، به طور جداگانه، کلمات مشابه را به روش های “کلمه مجزا” مانند “فاصله ویرایشی” و “کی-گرم” پیدا نموده و ترکیبات مختلف آن ها را تشکیل داد. سپس عبارت تشکیل شده را بازیابی کرده هر کدام که تعداد نتایج بیشتری را باز گرداند به عنوان پیشنهاد به کاربر ارائه نمود. این روش می تواند سربار زیادی تولید کند مخصوصاً وقتیکه تعداد کلمات مشابه زیاد باشد.
  • روش دوم: می توان از روش های تشخیص برای بهبود نتایج جستجو استفاده نمود. در این روش تمام ترکیبات ممکن با کلمات مشابه تولید نمی شوند بلکه متداول ترین آن ها از روی آمار هم نشینـی های دو کلمه ای تولید شده و برای سه کلمه گسترش می یابند. برای مثال، فرودگاه مهرآباد بسیار متداول تر از فروشگاه مهرآباد می باشد. همچنین عبارت مهرآباد تهران متداول تر از مهرآباد مهران است لذا ترکیب فرودگاه مهرآباد تهران محتمل تر است. دو منبع برای بدست آوردن آمار همنشینی های دو کلمه ای وجود دارد. منبع اول هم نشینی کلمات در اسناد نمایه گذاری شده و منبـع دوم همنشینـی کلمات در پرسش های وارد شده توسط کاربران است. زمانی که دو کاربر مختلف دنبال موضوعی یکسان می گردند ممکن است از کلمات کلیدی متفاوتی استفاده کنند.

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

۲-۱۴-۱۱ مفهوم ربط

کلید واژه ها را بایستی با شکل صحیح و در قالبی مناسب وارد کرد و در انتظار پاسخ از سوی موتور جستجو بود اما کاربران مختلف کلید واژه های مختلفی را به موتور جستجو وارد می کنند چون تجارب، دانش و مهارت های متفاوتی دارند. یک موتور جستجو باید قادر باشد جواب کاربران با شرایط مختلف را بدهد. کاربر برای کار با موتور جستجو باید سه دانش داشته باشد[۴۸]:

  • ذهنی
  • فنی
  • معنایی

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

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

۲-۱۴-۱۱-۱ ربط از نظر کاربر

ربط از نظر کاربر با معیار های زیر بررسی می شود:

  • وضعیت شناختی[۷۸] کاربر
  • ارزشی که به اطلاعات داده می شود
  • فوریت کاربرد دانش جستجو شده
  • دانش قبلی از همان موضوع
  • مشکلی که باید گشوده شود

۲-۱۴-۱۱-۲ ربط از نظر سیستم بازیابی

ربط از نظر سیستم بازیابی با معیار های زیر بررسی می شود:

  • محل کلید واژه
  • بسامد نسبی
  • وجود کلید واژه ها در متاتگ ها
  • محبوبیت وب سایت

کار اصلی موتور جستجو سنجش ارتباط اطلاعات ذخیره شده و اطلاعات در خواست شده است. به عبارتی دیگر با ارائه یک سوال به نظام، نظام بازیابی باید بررسی کند که آیا اطلاعات ذخیره شده مربوط به پرسش است یا نه، اما ایهام و استعارات پشت واژگان و نقص بیان مفاهیم با برخی واژگان این  ارتباط (ربط) را مشخص می سازد[۴۸].

۲-۱۴-۱۲ نظر خواهی از کاربر در رتبه بندی

برای برطرف کردن مشکل سوء تفاهـم بین ذهـن کاربر و الگوریتـم های موتور جستجـو اخیـراً از الگوریتم های پیشرفته تری استفاده می شود که در آن، نظر کاربر به عنوان یک پارامتـر لحـاظ می شـود. گـوگل یکی از موتور های جستجوی پیشتاز در این روش است[۳۴].

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

۱- موتورهای جستجوی اصلی[۷۹]

۲- موتورهای جستجوی خبری[۸۰]

۳- متا کراولر

۴- موتورهای جستجوی چند رسانه ای[۸۱]

۵- جستجوی منفعتی[۸۲]

۶- موتورهای جستجوی لیست پرداخت[۸۳]

۷- موتورهای جستجوی اختصاصی[۸۴]

۸- موتورهای جستجوی کودکان[۸۵]

۹- موتورهای جستجوی منطقه ای[۸۶]

۲-۱۴-۱۳ موتورهای جستجوی اصلی

۲-۱۴-۱۳-۱ Google

ایندکس های گوگل بیشتر از یک بیلیون URL ساخته شده و در نوع خودش بهترین است. امکان جستجوهای پیشرفته و انتخابهایی برای فیلتر کردن اطلاعات دارد. Googleنتایج را بر اساس آن که چه تعداد لینک از سایتهای وب به یک سند وجود دارد طبقه بندی می کند و به این ترتیب مرتبط ترین اسناد بدست می آید[۳۴ و ۵۶].

۲-۱۴-۱۳-۲ Excite

این موتور در حدود ۶۰ میلیون ایندکس دارد و یکی از موتورهای محبوب می باشد و امکانات جستجوی پیشرفته روی کلمات و زبان های مختلف دارد. این موتور از روش شاخص گذاری بر مبنای مفهوم[۸۷] و از متدهای آماری برای پیدا کردن صفحات مورد نظر کاربران استفاده می کند[۵۶].

۲-۱۴-۱۳-۳ Altavista

یک موتور قوی و سریع است و امکانات جستجو بر اساس کلمات را دارد. برای طبقه بندی نتایج از تعداد عبارتهای مورد جستجو که در یک صفحه وجود دارد و محل آنها در سند و مقدار نزدیکی عبارتها به یکدیگر استفاده می کند. جستجوی سریع و پایگاه های اطلاعاتی خیلی بزرگ از مزایای این موتور است. حتی با این موتور می توان فهمید که چند نفر به سایت خاصی لینک شده اند و یکی از معایب این موتور نمایش نتایج تکراری است[۳۴ و ۵۶].

۲-۱۴-۱۳-۴ Yahoo

اگرچه دقیقاً یک موتور جستجو نیست اما یکی از منابع مهم وب می باشد. یاهو به عنوان یک ایندکس

موضوعی سلسله مراتبی یا یک دایرکتوری وب کار می کند و اجازه می دهد که از موضوعات عمومی تر به سمت موضوعات خصوصی حرکت کنیم.

اگر درخواست جستجویی، هیچ نتیجه ای در موضوع انتخابی در بر نداشت، یاهو درخواست را به گوگل می دهـد. در صورتیکـه کاربر بخواهد، یاهو درخواستـش را به موتورهای جستجـوی دیگـر می دهد و این از قابلیت‌های یاهو است که از انواع فراموتورها استفاده می کند. محدوده جستجوی یاهو در یوزنت[۸۸] و آدرسهای ایمیل است و حداکثر ۱۰۰ نتیجه را بر می گرداند[۵۶].

۲-۱۴-۱۳-۵ Fast

یکی از موتورهای جستجوی جدید است که ادعا می کند بهترین و سریع ترین است. امکان جستجو در محدوده های وب، پروتکل انتقال فایل[۸۹]، Mp3، چند رسانه ای را دارد[۵۶].

۲-۱۴-۱۳-۶ Lycos

از موتور Fast استفاده می کند. بیشتر شبیه یک ایندکس موضوعی مانند یاهو می باشد و قادر است تصاویر و صوت را نیز جستجو نماید و محدوده های جستجوی آن روی وب، سهام، اخبار، آب و هوا و چنـدرسانه ای است. Lycos هیچ طبقه بندی ای استفاده نمی کند. پایگاه اطلاعاتی بزرگی دارد و تاریخ و سایز اسناد را نیز در نتایج نشان می دهد[۵۶].

۲-۱۴-۱۴ موتورهای جستجوی خبری

این موتورها خود به دو دسته عمده تقسیم می شوند[۵۶]:

  • Regional News Search Engines
  • Major News Search Engines

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

Regional News Search Engines

  • Paperball
  • News Now
  • Altavista Canada - Canadian News Index
  • Fanagalo

Major News Search Engines

  • Altavista News
  • Morever
  • Yahoo News
  • Ananova
  • Excite NewsTracker
  • News Index
  • Northen Lights Current News
  • News Hub
  • InfoGrid
  • News Trawler
  • News Now
  • ۱st Headlines
  • Info Jump

۲-۱۴-۱۵ متا کراولر

  • Major Metacrawler
  • Other Metacrawler
  • All-In-One search pages

در این بخش به چند نمونه از این موتورهای جستجو اشاره می شود[۵۶]:

Major Metacrawler

  • Dogpile

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

  • Ixquick

متاموتوری است که نتایج را بر اساس ۱۰ نتیجه ابتدایی موتورهای مختلف طبقه بندی می کند.

  • Meta Crawler

یکی از قدیمیترین سرویس های جستجو از نوع متاموتورهاست که در سال ۱۹۹۵ در دانشگاه واشنگتن شروع به کار کرد. متاموتورها درخواست های کاربر را به چند موتور جستجو ارسـال و نتایج را ترکیـب می کنند و در نهایت نتایج ترکیب شده را در اختیار کاربر قرار می دهند.

  • Search.com

این موتور از تکنولوژی جستجوی ادراکی[۹۰] استفاده می کند.

  • Vivisimo

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

  • qbSearch

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

  • Pro Fusion
  • Info Grid
  • Surf Wax.com
  • Te Respondo
  • Mamma

Other Metacrawler

  • Byte Search
  • Debriefing
  • Husky Search
  • Match Site
  • Web Info Search
  • ۱Blink
  • Chubba
  • Query Server
  • Supercrawler.com
  • The Big Hub
  • C4
  • Search Buddy
  • Black Widow
  • Cute Doggy
  • Datahit Metasearch
  • Family Friendly Search
  • Info Zoid
  • Meta Eureka
  • One2seek
  • Point Guide
  • Search Caddy
  • Search Runner
  • Search Wiz
  • Seek123.com
  • Sherlock Hound

۲-۱۴-۱۶ موتورهای جستجوی منفعتی

  • General
  • MP3 Search Engines

سرویس های زیر کمک می کنند که تصاویر، صوت، فایلهای MP3 و چند رسانه ای در دسترس روی وب را بیابیم.

General

این موتورها کمک می کند که صوت، تصاویر و فایلهای ویدئو جستجو شوند. نمونه هایی از این نوع از موتورهای جستجو در زیر آورده شده است[۵۶]:

General

  • AltaVista Photo Finder
  • FAST Multimedia Search
  • Ditto
  • Lycos Pictures and Sounds
  • Scour.Net
  • Scour.Net
  • StreamSearch.com
  • peechBot
  • MIDI Explorer

MP3 Search Engines

  • Napster
  • Gnutella
  • Lycos Music / MP3 Search
  • MP3.com
  • MP3meta
  • SpinFrenzy
  • ۲Look4
  • AudioGalaxy
  • Oth.net
  • Audiofind
  • MediaLeech search
  • Arianna MP3
  • Getsongs - MP3 Search Engines
  • AudioPhilez
  • Manic Music
  • Dgolpe
  • Eisbaer.org
  • Soundcrawler

Top of Form

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

  • Other Search Utilities
  • Meta Search Utilities
  • Search Engine Add-Ons

۲-۱۴-۱۷ موتورهای جستجوی لیست پرداخت

موتورهای جستجوی بزرگ معمولا برای وارد کردن یک شرکت یا یک محصول در جداول خودشان بدون داشتن تبلیغات یا سایت اینترنتی مبلغی را دریافت نمی کنند. در حالیکه اصولاً ممنوعیتی برای این کار وجود ندارد و موتورهای کوچکتـر اینتری های خود را به شرکتهای فوق می فروشند. به طـور کلی شرکتها یا محصولاتی که از عهده تبلیغات بر می آیند اینتری هم در داخل موتورهای جستجوی بزرگتر دارند[۵۶ و ۶۲].

۲-۱۴-۱۸ موتورهای جستجوی اختصاصی

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

  • Answers Searching
  • Computer-Related Searching
  • Domain Searching
  • Financial Searching
  • Government Search Engines
  • Invisible Web
  • Legal Searching
  • Mailing Lists
  • Medical Search Engines
  • Newsgroup Searching
  • Science Search Engines
  • Shopping Search
  • WAP Search Engines
  • Web Development and Marketing

۲-۱۴-۱۹ جستجوی پاسخ

زمانیکه به دنبال پاسخهای خاص می گردیم بهتر است که از یک سایت وب مشخص استفاده کنیم چون سایتهای وب اغلب شامل پاسخ های موردنظر هستند. سایتهای زیر خاص فراهم کردن چنین اطلاعاتی هستند[۵۶].

  • Ask Jeeves

این موتور دارای یک سرویس جستجوی human-poweredمی باشد که کاربر را به سمت صفحه دقیق پاسخ هدایت می کند.

  • Experts Exchange

یک سرویس هوشمند پاسخ دهی مجانی است .

  • Allexperts.com
  • Information
  • KnowPost
  • Experts
  • Infostry
  • Webhelp.com

۲-۱۴-۲۰ موتورهای جستجوی کودکان

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

دارند[۵۶].

  • Major Childrens Guides
  • Major Filtered Search Engines
  • Specifically For Parents
  • Other Services

۲-۱۴-۲۱ موتورهای جستجوی منطقه ای

این موتورهـا بـرای کشـورهای مختلف و نواحی جغرافیایی مختلف در نظر گـرفته شـده اند. در زیر برخی از طبقه بندی نواحی مختلف آورده شده است[۵۶]:

  • Africa
  • Americas
  • Asia
  • Australia and New Zealand
  • Europe
  • Middle East
  • By Language

۲-۱۵ نتیجه گیری

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

فصل سوم

معمـاری خـزنده وب و

استراتژی های خزش

۳-۱ مقدمه

همگام با رشد چشمگیر کاربران اینترنت و ماهیت پویای وب، دقت در ارائه نتایج جستجو چیزیست که کاربران همواره از موتورهای جستجوگر انتظار دارند. هر چه این نتایج دقیق تر و مرتبط تر باشد، موتور جستجو محبـوب تر خواهـد بود و کاربران بیشتری بدان مراجعه خواهنـد نمود بنابراین همـواره باید مرتبط ترین و بروزترین اطلاعات در اختیار کاربران قرار گیرد[۴۷].

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

خزنده وب برنامه ای اسـت که صفحات وب را از وب بازیابی و ذخیـره می نماید. خـزنده وب با قـرار دادن مجمـوعـه ی اولیه ی آدرس ها در صـف نقطه شروع[۹۱] آغاز می شـود و آدرس را از صـف نقطـه ی شـروع بدسـت آورده، صفحـه وب را دانلود، تمـام آدرس های موجـود در صفحه دانلـود شـده را استخـراج نمـوده، آدرس های جدید را در صف نقطه شروع قـرار می دهد و آدرس بعـدی را از این صـف بدسـت می آورد. خـزنده وب فرآینـد خـزش را تا زمانـی که تصمیم توقـف گرفته نشود تکـرار می کنـد.

خزنده وب اغلب باید در دوره زمانی کوتاه هزاران میلیون صفحه را دانلود نموده و به طور مداوم بر صفحات نظارت و آنها را بروز نماید. علاوه بر این، خزنده نباید بار شدیدی بر روی وب سایت های بازدید شده قرار دهد[۴۹].

۳-۲ معماری خزنده های وب

اکثر خزنده های وب دارای پنج بخش عمده ی زیر می باشند[۱ و ۲۱]:

  1. ماژول تصمیم گیر [۹۲]DNS
  2. ماژول واکشی[۹۳]
  3. واحد کنترل[۹۴]
  4. واحد تجزیه[۹۵]
  5. واحد کار[۹۶]

Parsing Unit

Data Base

Workload Unit

Indexing

Link Extracting

Controller

Fetcher

WWW

DNS

شکل ۳-۱ معماری خزنده وب ]۲۱ [

ماژول تصمیـم گیر DNS آدرس های [۹۷]IP را برای نام دامنـه جستجو می کند. در واقـع این ماژول تعیین می کند که سرویس دهنده ی وب صفحه ی مشخص شده توسط آدرس را از کجا واکشی نماید.

گردآورنده تحت نظارت واحد کنترل، به صفحات هسته[۹۸] رفته و اسناد و مدارک را به واحد تجزیه لینکها می فرستد. این ماژول از پروتکل [۹۹]HTTP برای بازیابی صفحات استفاده می کند.

واحد تجزیه لینک، مجموعه ای از لینک ها را از صفحات واکشی شده استخراج می کند. پس از جداسازی، لینک های مناسب به واحد کار ارسال شده و در فهرست دستور کار بعدی واحد واکشی قرار می گیرد. واحد تجزیه در واقع از دو بخش جداسازی لینک ها و نمایه سازی تشکیل شده است. آنچه نهایتًا در پایگاه ذخیره می شود در واقع حاصل فرایند نمایه ساز است]۱ و۲[.

با توجه به معماری خزنده وب می توان یک الگوریتم پایه مطابق شکل ۳-۱ برای خزنده وب در نظر گرفت[۳۹]:

{

Pick up the next URL

Connect the server

Get the URL

When the page arrives, gets its links ( optionally do stuff)

Repeat

}

شکل ۳-۲ الگوریتم پایه خزنده وب

۳-۳ انتخاب صفحه

طراحی یک خزنده خوب چالش های بسیاری را به دلیل اینکه وب مجموعه ای بسیار حجیم است و به طور دائم باید بروز باشد، به همراه دارد. به طور مثال بر طبق مطالعات مختلف بیش از یک میلیون صفحه در دسترس در وب وجود دارد. این یعنی اینکه متوسط سایز یک صفحه وب حدود ۵ تا ۱۰ کیلوبایت است. داده های متنی میزانشان حداقل ۱۰ ترابایت است[۹]. نرخ رشد وب به صورت دراماتیک است و سـایز وب در کمـتر از دو سـال دو برابر شده است. گذشته از این صفحاتی که به تازگی ایجاد شـده اند به طور مداوم در حال بروز رسـانی می باشند. ۴۰ درصـد صفحـات وب تقـریباً یکبار در هر هفتـه بروز رسانی می شوند. ]۱۷[

خزنده باید با حجم عظیمی از داده ها سر و کار داشته مگر در مواردی که منابع محاسباتی و زمان نامحدود باشد و باید با دقت تصمیـم بگیرد که چـه یو آر اِلی دانلـود شود و با چه ترتیبی. خزنده ممکن است ظرفیت ذخیره سازی محدود داشته باشند و قادر به ایندکس گذاری و یا تجزیه و تحلیل تمام صفحات نباشد[۴۶].

اغلب خزنده ها به دو دلیل قادر به ملاقات هر صفحه ممکن نخواهد بود. دلیل اول اینکه خزنده و یا مشتری ممکن است ظرفیت ذخیره سازی محدود داشته باشند و قادر به ایندکس گذاری و یا تجزیه و تحلیل تمام صفحات نباشد[۱۷]. در حال حاضر وب دارای چندین ترابایت داده متنی می یاشد که به سرعت در حال رشد است، به همین دلیل است که اغلب مشتریان انتظار می رود که نمی خواهند و یا قادر نخواهند بود که از عهده تمام داده ها برآیند[۵۰].

دلیل دوم، زمان بر بودن بررسی تغییرات خزش می باشد بنابراین در برخی از نقاط خزنده ممکن است نیاز به بازبینی دوباره صفحاتی قبلاً بازیابی شده داشته باشد که این امری زمان بر است. این به این معنی است که ممکن است هرگز بعضی از صفحات را بدست نیاورد. در حال حاضر تخمین زده شده است که بیش از یک میلیارد صفحه در دسترس در وب وجود دارد و تعدادی از این صفحات با نرخ بسیار سریعی در حال تغییر می باشند[۵۰].

در هر صورت، برای خزنده مهم است که ابتدا صفحات “مهم” را بازدید نماید، به طوری که بخشی از وب که بازدید و به روز نگه داشته شده معنی دار است[۳۶]. در بخش های بعدی، چند تعریف مختلف و مفید از اهمیت ارائه می گردد و اولویت خزیدن توسعه می یابد به طوری که صفحات مهم احتمال بالاتری از ملاقات شدن برای اولین بار را داشته باشند.

۳-۴ اهمیت صفحه

لزوماً همه صفحات بهره مساوی را به مشتری خزنده نمی دهند. به عنوان مثال، اگر مشتری در حال ساخت یک پایگاه داده تخصصی در یک موضوع خاص باشد، پس آن صفحاتی که به آن موضوع اشاره می کنند مهم تر هستند و باید در اسرع وقت ممکن بازدید شوند[۳۹].

به طور مشـابه، یـک موتور جستجو از تعدادی یو آر اِل های وب که به یک صفحه اشاره می کنند استفاده می نماید که در اصطلاح به آن صفحه لینک[۱۰۰] می شود و نتایج جستجوی کاربر را رتبه بندی می کند. اگر خزنده نتواند تمام صفحات را ملاقات کند بنابراین بهتر است که آنها را در یک رتبه بالاتر ملاقات کند بنابراین نتایج رتبه بندی بالاتری را به کاربر نهایی ارائه می دهد.

۳-۵ چالش های اجرای یک خزنده

با توجه به اندازه و نرخ بالای تغییر در وب، خزنده با چالش های بسیار مهمی روبه رو است که در زیر به آن ها اشاره شده است:

۳-۵-۱ انتخاب صفحات برای دانلود

در اغلب موارد خزنده نمی تواند همه ی صفحات وب را دانلود نماید. حتی اغلب موتورهای جستجوی جامع هم تنها بخش کوچکی از تمام وب را فهرست می کنند. با توجه به این واقعیت، برای خزنده بسیار مهم می باشد که با دقت صفحات را انتخاب و مهمترین صفحات را در ابتدا ملاقات نماید به طوری که بخشی از وب که بازدید و بروز نگه داشته شده است معنی دار باشد]۲۳ و ۳۶[.

۳-۵-۲ بازدید مجدد صفحات

اولین بار که خزنده تعدادی از صفحات معنی دار را دانلود می کند مجبور است دوباره صفحـات دانلـود

شده را به منظور تشخیص تغییرات و تازه کـردن مجموعه دانلود مـلاقات نماید. خزنـده باید با دقت تصمیم گیری کند که کدام صفحات باید بازنگری شوند و کدام صفحات به دلیل اینکه نرخ تغییرات در وب زیاد و بسیار متـفاوت می باشد به منظور دستیابی به طراوت[۱۰۱] بالا، نادیده گـرفته شـوند]۱۹[.

هر بارکه کراولر ”صفحات مهم” را دانلود می کند، مجبور است برای یافتن تغییرات و روزآمدسازی صفحات دانلود شده، آنها را مورد مرور مجدد قرار دهد. به دلیل این که صفحات وب با سرعت متفاوتی تغییر می کنند کراولر نیاز دارد که با دقت تصمیم بگیرد که کدام صفحات را مورد مرور مجدد قرار دهد و از کدام صفحات صرف نظر کند. این تصمیم ممکن است به طور قابل توجهی بر روزآمدسازی یک مجموعه دانلود شده اثر بگذارد مثلاً اگر یک صفحه مشخص به ندرت تغییر می کند، کراولر ممکن است به دلیل بازدید از صفحاتی که بیش تر تغییر می کنند، آن صفحه را کم تر مورد بازدید مجدد قرار دهد]۱۹ و ۳۶[.

ماژول خزنده موظف است صفحات وب را برای تحلیل و ایجاد شاخص به صورت جامع استخراج کرده و تحویل انباره صفحـات بدهد. این ماژول با یک مجمـوعه اولیه یو آر اِل کار خـود را شروع می کند. این یو آر اِل ها به صورت یک صف اولویت دار قرار می گیرند. این ماژول آدرس لینک های موجود در یـک URL را نیـز بازیابی و آدرس هـای ملاقـات شده را حذف می کند]۳۶[.

۳-۶ پیچیدگی های فرایند خزیدن

با توجه به ماهیت دائماً متغیر وب، خزنده ی وب با پیچیدگی های زیر رو به رو است] ۲۳ و ۲۴ [:

  • انتخاب صفحات
  • مدل خزیدن
  • تازه سازی و سرکشی دوره ای به صفحات وب

۳-۶-۱ استرات‍ژی های سنجش انتخاب صفحات

  • معیار مبتنی بر گرایشات کاربران[۱۰۲]
  • معیار مبتنی بر شهرت صفحات[۱۰۳]
  • معیار مبتنی بر محل قرار گرفتن صفحات[۱۰۴]

۳-۶-۱-۱ معیار مبتنی بر گرایشات کاربران

در این روش هدف فراهم آوردن صفحات مورد نظر کاربر یا مجموعه ای از کاربران است. پس صفحات مهم، صفحاتی هستند که با خواسته کاربر مرتبط اند و از طریق میزان شباهت بین کلید واژه های متن و سوال مورد نظر کاربر صفحات با اهمیت مشخص می شوند یعنی هر چه کلید واژه های سـوال در متنی بیشتر تکرار شده باشد یا آن کلید واژه در عنوان یا خطوط ابتدایی متن آمده باشد، آن متن دارای اهمیت بیشتری است و در صفحه نمایش در قسمت بالاتری قرار می گیرد]۲۳ و ۲۴[.

۳-۶-۱-۲ معیار مبتنی بر شهرت صفحات

در این روش اهمیت صفحه بستگی به میزان محبوبیت آن صفحه دارد. یک راه تشخیص محبوبیت صفحات از طریق تعداد لینک هـایی است که به آن صفحـه اشاره شده است یعنی صفـحه ای که تعـداد بیشتری لینک به آن اشاره شده باشد مهم تر است]۲۳ و ۲۴[.

۳-۶-۱-۳ معیار مبتنی بر محل قرار گرفتن صفحات

در معیار مبتنی بر محل قرار گرفتن صفحه، منظور از محل قرار گرفتن صفحه، آدرس صفحه، ماهیت آدرس از لحاظ com. یا net . یا edu. و … و میزان فاصله آن از صفحه خانگی آن وب سایت است]۲۳ و ۲۴[.

۳-۷ چگونگی آغاز و ختم فرایند استخراج و ذخیره سازی صفحات وب

  • خزش و توقف[۱۰۵]
  • خزش و توقف مبتنی بر مقدار آستانه[۱۰۶]

۳-۷-۱ خزش و توقف

در روش خزش و توقف، خزنده پس از ملاقات و دریافت دقیقاً k  صفحه وب متوقف می شود که k عددی ثابت است. صفحات نیز به ترتیب اهمیت شان مرتب می شوند]۴۸[.

۳-۷-۲ خزش و توقف مبتنی بر مقدار آستانه

در روش  خزش و توقف مبتنی بر مقدار آستانه، دقیقاً مانند الگوی توقف و خزش عملیات انجام می شود با این تفاوت که صفحاتی دریافت و ذخیره می شوند که اهمیت آنان از مقدار آستانه t بیشتر باشد]۴۸[.

۳-۸ استراتژی های روزآمدسازی صفحات

  • سیاست روزآمد سازی یکپارچه[۱۰۷]
  • سیاست روزآمد سازی نسبی[۱۰۸]

۳-۸-۱ سیاست روزآمد سازی یکپارچه

طبق سیاست روزآمد سازی یکپارچه، خزنده تمام صفحـات را در یک بسـامد و بدون توجـه به این که

چگونه این صفحات تغییر یافته اند، مورد مرور مجدد قرار می دهد]۲۳[.

۳-۸-۲ سیاست روزآمد سازی نسبی

طبق سیاست روزآمد سازی نسبی، خزنده صفحاتی را که به طور نسبی در زمان های بیش تر تحت تغییرات بیش تری قرار گرفته اند، بیش تر مورد مرور مجدد قرار می دهد]۲۳[.

۳-۹ به حداقل رساندن بار روی وب سایت های بازدید شده

هنگامی که خزنده صفـحات را از وب سایـت جمع آوری می کنـد منابع متعلق به وب سایت های دیگر را مصـرف می نماید. برای مثال هنگامیکه خزنده صفحهp را از سایت s دانلود می کند، سایت احتیاج دارد که صفحه p را از فایل سیستم خود بازیابی کند، دیسک و منابع سی پی یو را مصرف نماید. بعد از این بازیابی صفحه باید از طریق شبکه منتقل شود، جاییکه منابع بسیاری از وب سایتها به اشتراک گذاشته شده است بنابراین، خزنده باید اثر خود را روی این منابع به حداقل برساند. از طرف دیگر ممکن است مدیریت وب سایت یا یک شبکه خاص شکایت کند و گاهی به طور کامل ممکن است دسترسی خزنده را بلوک نماید]۷[.

۳-۱۰ موازی سازی روند خزنده

با توجه به اندازه بسیار بزرگ وب، خزنده ها اغلب روی دستگاه های متعدد اجرا و صفحات را به صـورت مـوازی دانـلود می کننـد. این موازی سـازی اغلب برای دانلود تعـداد زیادی از صفحات در یک میزان زمان قابل قبول لازم است. واضح است که این خزنده موازی باید به درستی هماهنگ شده باشد. بـنابراین خزنده های مختـلف در چنـدین زمان از یک صفحـه وب بازدیـد نمی کنند. به هر حـال این همـاهنگی می تواند موجب سرریز ارتباط معنادار و محدود کردن تعداد خزنده های همزمان گردد]۷ و ۲۳[.

۳-۱۱ ساختار وب

ساختار وب را می توان به صورت یک گراف عظیم جهت دار که در برگیرنده ی گره ها و اتصالهای متعدد است در نظر گرفت. در این گراف، صفحات وب معادل گره ها و لینک های بین صفحات معادل یال های گراف هستند که نمایی از ساختار آن در شکل های ۳-۳ و ۳-۴ نشان داده شده است.]۱[

شکل۳-۳ نمایی کلی از ساختار وب

شکل۳-۴ ساختار گراف وب

۳-۱۲ استراتژی های خزش

استراتژی های خزیدن صفحات وب را می توان به سه دسته کلی، جستجوی ناآگاهانه یا کورکورانه[۱۰۹]، جستجوی آگاهانه یا اکتشافی[۱۱۰] و جستجوی محلی[۱۱۱] تقسیم بندی نمود.

۳-۱۲-۱ جستجوی ناآگاهانه

در استراتژی جستجوی ناآگاهانه، ایده ای در رابطه با اینکه چگونه و در چه مسیرهایی هدف جستجو شود، وجـود ندارد و تنهـا اطلاعات موجود عبارت اسـت از تعریف مسـاله و تشخیـص حالـت هـدف از حـالت غیرهـدف. به همین دلیـل این روش جستجـو، کل فضای جستجـو را برای یافتـن هـدف پیمـایش می کند]۱۹ و ۲۲ و ۲۶[. در ذیل به بیان برخی از الگوریتم های این روش جستجو پرداخته شده است:

۳-۱۲-۱-۱ حرکت اول عمق[۱۱۲]

این الگوریتم در سال ۱۹۹۴ کشف شد و به عنوان بهترین الگوریتم خزنده های وب در تحقیقات به کار برده می شد. این الگوریتـم با بهره گرفتن از یک صف LIFO، لینک ها را در نظـم و ترتیبی که با آن مواجـه می شود می خزد. در این استراتژی، واحد کنترل خزنده یک صفحه را به عنوان صفحه هسته[۱۱۳] برای واحد واکشی مشخص می سازد. پس از جداسازی لینک ها، واحد کنترل یکی از لینکهای خارجی صفحه را انتخاب و گره مقصد را به واحد واکشی معرفی می کند. فرایند حرکت در بین صفحات تا زمانیکه سطح عمق مورد نظر برای واحد کنترل تعریف نشود ادامه خواهد یافت در این صورت صفحات بی کیفیت زیادی در پایگاه ذخیره خواهد شد]۲۹ و ۳۳[. در شکل ۳-۵، نمونه ای از حرکت خزنده در بین صفحات مختلف توسط الگوریتم اول عمق را نشان داده است:

شکل۳-۵ حرکت خزنده در بین صفحات با بهره گرفتن از الگوریتم اول عمق]۱[

چنانچه سطح عمق در این گراف یک در نظر گرفته شود ترتیب حرکت به صورت ۱ و ۵ و ۷ و چنانچه این سطح عمق دو در نظر گرفته شود حرکت واحد واکشی به صورت ۱ و ۲ و ۵ و ۶ و ۷ خواهد بود. حرکت اول عمق ساده ترین استراتژی خزش صفحات وب می باشد.

همانطور که بیان شد این روش در هر لحظه یک مسیر از ریشه تا برگ به همراه گره های همزاد[۱۱۴] هر گره در همان مسیر را در حافظه ذخیره می کند. وقتی یک گره و همه فرزندانش در آن مسیر گسترش یافتند، از حافظه حذف می شوند بنابراین این روش به حافظه کمی نیاز دارد و پیچیدگی فضایی این روش خیلی کم و به صورت خطی O(bm) است که b[115] فاکتور انشعاب که به حداکثر تعداد یالهایی که از درخت خارج می شون اشاره دارد و m ماکزیمم عمق درخت می باشد. در بدترین حالت، این روش جستجو همه نودهای درخت جستجو را گسترش می دهد، یعنی پیچیدگی زمانی آن T(bm) خواهد بود]۲۹[.

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

عمقی از ابتدا تعریف شده و فرایند حرکت در بین صفحات تا عمق تعریف شده ادامه می یابد]۱[.

۳-۱۲-۱-۲ حرکت اول سطح[۱۱۶]

در این حرکت، واحد کنترل پس از تعیین صفحه هسته، کلیه گره های هم سطح را مشخص و آن ها را به ترتیـب به واحـد واکشی معرفی می کند. پس از آنکه خزنده کلیه صفحات مشخص شده ی آن سطح را مورد بازدید قرار داد، واحد کنترل به سراغ سطـح دوم رفته و آن را مورد بررسی قرار می دهـد]۱ و ۲۹ و ۳۳ و ۳۷[. در شکل ۳-۶ نمونه ای از حرکت خزنده با بهره گرفتن از الگوریتم اول سطح نشان داده شده است:

شکل۳-۶حرکت خزنده در بین صفحات با بهره گرفتن از الگوریتم اول سطح ]۱[

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

در روش اول عمق، واحد واکشی ابتدا تمامی لینک های یک صفحه را تا عمق تعریف شده بررسی نموده و سپس سراغ صفحه ی بعدی می رود یعنی اطلاعات دریافتی بیشتر حول یک موضوع اختصاصی می باشد. بنابراین می توان حرکت اول عمق را یک حرکت جزء نگر دانست که در آن تمام جزئیات یا لینک های یک صفحه بررسی می شود. اما روش اول سطح روشی کلی نگر است]۱[.

در شکل ۳-۷ یک خزنده با استراتژی اول سطح نمایش داده شده است:

Web page

Link

FIFO Queue

شکل۳-۷ یک خزنده با استراتژی اول سطح ]۳۵[

با توجه به مطالب ذکر شده، الگوریتم یک خزنده با استراتژی اول سطح به صورت نشان داده شده در شکل ۳-۸ خواهد بود:

Breadth-First (starting_urls) {

foreach links (starting_urls) {

enqeueu(frontier, link);

}

While (visited < MAX_PAGES) {

link := dequeue_link(frontier);

doc := fetch(link);

enqeueu (frontier, extract_links(doc) );

if (#frontier > MAX_BUFFER) {

dequeue_last_links(frontier) ;

}

}

}

شکل ۳-۸ الگوریتم خزنده با استراتژی اول سطح ]۳۵[

در این روش، با فرض اینکه فاکتور انشعاب b و در بدترین حالت، هدف در عمقd باشد این روش تمامی نودهای موجود در عمق d را گسترش می دهد. تعداد گره های بسط داده شده تا عمق d برابر ۱+b+b2+…+bخواهد بود و در نهایت هنگامیکه به سطح d می رسیم، تعداد نودهای گسترش یافته، برابر است با bd و درنتیجه، پیچیدگی زمانی برابر است باT(bd) ]29[.

d[117] اشاره به عمق وb فاکتور انشعاب است که به حداکثر تعداد یالهایی که از درخت خارج می شون اشاره دارد. هر گره ای که در این روش گستـرش می یابد، باید در حافـظه ذخیره شود، زیرا خود جزیی برای تولیـد گره های دیگر است بنابراین پیچیدگی فضایی این روش نیز مانند پیچیدگی زمانی آن یعنی O(bd) است]۲۹[.

کارآیی یک روش بستگی به پیچیدگی زمانی و فضایی آن دارد. از آنجاییکه پیچیدگی های این روش نمایی و بسیار بالا است، بنابراین این روش کارآمد نیست. در شکل ۳-۹ چگونگی محاسبه پیچیدگی زمانی بر اساس جستجوی اول سطح در درخت باینری با فاکتور انشعاب b، نشان داده شده است:

۱ عمق ۰ ۱b عمق ۱

۲ b عمق۲

bعمق d

.

.

.

شکل ۳-۹ محاسبه پیچیدگی زمانی یک درخت جستجوی دودویی با بهره گرفتن از جستجوی اول سطح ]۲۹[

۳-۱۲-۱-۳ جستجو با هزینه یکنواخت[۱۱۸]

ایـن الگـوریتـم بهیـنه شـده ی روش اول سطـح است و در آن گـره ای ابتـدا تـوسعـه داده می شـود

که هزینه رسیـدن به آن حـداقل باشـد. برای پیاده سـازی این روش پیمـایش از صف اولویـت دار استفـاده می شـود. در اول صف همیشـه گره ای قرار می گیـرد که هزینـه رسیـدن به آن حـداقل باشد]۲۶ و ۴۰[.

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

در شکل ۱۰-۳، گره S شروع و گره G هدف می باشد، می خواهیم با بهره گرفتن از روش جستجو با هزینه یکنواخت مسیر بهینه را بیابیم. پیچیدگی زمانی و فضایی این روش O(b[c*/ɛ]) است کهc* ، هزینه ی تخمینی مسیر بهینه و e هزینه هر مرحله است. b فاکتور انشعاب می باشد که به حداکثر تعداد یالهایی که از درخت خارج می شوند اشاره دارد]۴۱[. مراحل رسیدن به هدف به صورت شکل ۱۰-۳ خواهد بود:

B

G

۱۰

۵

A

C

S

۱

۱۵

۵

۵

S

A B C

۱۵

G

۱۱ ۱۰

S

A B C

۵ ۱۵

G

۱۱

S

A B C

۱ ۵ ۱۵

S

۰

شکل ۳-۱۰ مراحل رسیدن به هدف با بهره گرفتن از روش UCS ]41[

۳-۱۲-۲ جستجوی آگاهانه یا اکتشافی

در روش های جستجوی ناآگاهانه در بدترین حالت باید تمام گره های فضای حالت برای رسیدن به پاسخ بررسی شوند، حال اگر تعداد گره ها خیلی زیاد باشند، این روش ها در زمان قابل قبول، هدف موردنظر را نمی یابند. برای رفع این مشکل از روش های جستجوی آگاهانه استفاده می شود. در این روش ها علاوه بر تعریف مسئله، راه حل هایی برای رسیدن به هدف نیز ارائه می شود. به عبارت دیگر، در این الگوریتم ها اطلاعاتی در مورد اینکه کدام یک از حالات غیرهدف نسبت به بقیه حالات مناسب ترند نیز وجود دارد]۲۲[. درحقیقت، هدف در جستجوهای آگاهانه، یافتن راه کارهایی است که توسط آن ها به جای پیمایش تمام گره های فضای حالت، فقط زیرمجموعه ای از آن ها را بسط دهیم. به همین دلیل، استراتژی جستجو موجود در این روش ها با بهره گرفتن از یک تابع کشف f(n)[119]، بهترین نود را در هر مرحله گسترش

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

۳-۲۱-۲-۱ حرکت بهترین-شروع[۱۲۰]

الگوریتم های مختلفی برای روش بهترین-شروع وجود دارند که می توان به خزنده متمرکز، جستجوی کوسه ای، عنکبوتهای اطلاعاتی و… اشاره کرد. در روش بهترین-شروع زمانی به وجودآورنده یک صفحه مانند A از صفحه خود به صفحـه دیگری مانند B لینک برقرار می کند که B از نظر A ارزشمند باشد. یکی از معیارهای بهترین بودن، استفاده از الگوریتم های رتبه بندی صفحات می باشد که واحد کنترل با توجه به رتبه هر صفحه، صفحات را انتخاب کرده و به واحد واکشی می فرستد. به طور نسبی می توان گفت که از نظر واحد کنترل صفحه ای دارای رتبه ی بالاتری است که لینک های بیشتری به آن برقرار شده باشد]۳۵ و ۵۴[. بنابراین می توان گفت که از نظر خزنده هایی که از حرکت بهترین-شروع استفاده می کنند صفحه ای با ارزش تر است که]۴۲[:

  • لینک های بیشتری به آن صفحه اشاره کنند. برقراری لینک های بیشتر به یک صفحه نشانگر اهمیت و محبوبیت آن صفحه خواهد بود.
  • هر چه این لینکها از صفحات معتبرتری برقرار شود آن صفحه دارای اهمیت بیشتری خواهد بود.
  • در صورتیکه از صفحه موردنظر به سایر صفحات لینک برقرار شود از ارزش و اهمیت صفحه موردنظر کاسته خواهد شد.

می توان رتبه یک صفحه را از طریق Eq (3-1) زیر محاسبه نمود]۳۵[.:

Eq (3-1)

در فرمول بالا U نشانگر صفحه اصلی،FU نشانگر صفحاتی که از صفحه اصلی U به آنها لینک برقرار شده است و BU نشان دهنده ی صفحاتی است که به صفحه اصلی U لینک برقرار نموده اندR(V) نیز رتبه صفحات برقرارکننده لینک به صفحه اصلی U می باشد. با بهره گرفتن از نتایج این فرمول می توان پاسخ های بهتر و دقیق تری را در اختیار کاربران قرار داد اما ناجورک و وینر(۲۰۰۱) در عمل ثابت کردند که با توجه به هزینه و زمان بالای رتبه بندی صفحات وب و همچنین عدم ثبات رتبه صفحات در هنگام بایگانی، روش اول سطح به نسبت روش رتبه بندی بهتر عمل می نماید. لینک ها به وسیله محاسبات ساده از طریق شباهت لغوی بیـن عناوین کلمـات کلیدی و صفحات منبع انتخاب می شوند. بنابراین تشابه بین یک صفحه p و عناوین کلمات کلیدی، برای تخمین ارتباط صفحاتی که توسط p اشاره شد به کار می رود وURL با بهترین تخمین برای خزیدن انتخاب می شود. همچنین از تشـابه کسینـوسی استفـاده شده و لینک های با پایین ترین امتیاز تشـابه از محدوده حذف می گـردند]۵۴[. شکل ۳-۱۱ یک خزنده با استـراتژی بهترین-شروع را نمایش می دهد.

Web page

Link

FIFO Queue

Link estimator

شکل ۳-۱۱ یک خزنده با استراتژی بهترین-شروع ]۳۵[

تابع ()sim در Eq (3-2) تشابه کسینوسی بین موضوع و صفحه را بر می گرداند]۳۶[:

Sim(q , p) = Eq (3-2)

در Eq (3-2)، q موضوع مورد نظر، p صفحه واکشی شده و fkd فرکانس واژه k در d می باشد. الگوریتم یک خزنده با استراتژی بهترین-شروع به صورت شکل ۳-۱۲ می باشد:

BFS (topic, starting_urls) {

foreach links (starting_urls) {

enqeueu(frontier, link);

}

While (visited < MAX_PAGES) {

link := dequeue_top_link(frontier);

doc := fetch(link);

score := sin(topic, doc);

enqeueu (frontier, extract_links(doc), score);

if (#frontier > MAX_BUFFER) {

dequeue_botton_links(frontier) ;

}

}

}

شکل ۳-۱۲ الگوریتم خزنده با استراتژی بهترین-شروع ]۳۶[

۳-۱۲-۲-۲ جستجوی A*

معروفترین فرم جستجـوی بهتـرین-شروع، جستجـوی A* اسـت که یکـی از الگوریتـم های پیچیده جستجـو می باشـد. جستجوی A*سعی می کند مجموع هزینه پرداخت شده تا گره فعلی و هزینه باقی مانده از گره فعلی تا هدف را مینیمم کند.

تخمین هزینه باقی مانده تا هدف را هیوریستیک مسئله می گویند. طراحی هیوریستیک مسئله در روش جستجوی A* از اهمیت بسزایی برخوردار است و بهینگی روش A* تحت تاثیر طراحی هیوریستیک مسئله قرار دارد. مطابق(۳-۳) Eq هیوریستیکی قابل قبول[۱۲۱] است که هزینه تخمینی آن از نقطه فعلی تا نقطه هدف، از هزینه واقعی قابل پرداخت از نقطه فعلی تا نقطه هدف کمتر باشد به عبارت دیگر هزینه رسیدن به هدف را بیش از اندازه واقعی تخمین نزند]۲۹[.

h(n)≤h*(n)

h(n)≥۰ Eq (3-3) 0 ≤h(n) ≤h*(n)

هیوریستیکی که این شرط را برآورده نکند ، هیوریستیک غیرقابل قبول می نامند.

تابع ارزیاب در روش A*، f(n) = g(n) + h(n) می باشد]۵۲[. در واقعf(n) هزینه تخمینی ارزانترین راه حل از طریق n می باشد. با توجه به مطالب فوق چنین بیان می کنیم که در آن f هزینه کل گره، g هزینه تا گره فعلی و h هزینه تخمینی تا گره هدف را نشان می دهد. در جستجوی A* گره بعدی برای گسترش گره ای است که کمترین هزینه f را در میان گره های گسترش نیافته دیگر داشته باشد. در روش A* همیشه همه گره های برگ در محیط عملیاتی که هنوز بسـط داده نشده اند، بررسـی و مقایسه می شوند بنابراین همه گره ها در حافظه قرار می گیرند و برخی گره ها نیز ممکن است بارها ارزیابی و بررسی شوند. بنابراین پیچیدگی زمانی و فضایی این روش نمایی و بالا و برابرO(bm) است]۴۲[.

۳-۱۲-۳ جستجوی محلی

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

می شوند، مسیرهایی که در جستجو در پیش گرفته می شوند، در حافظه نگهداری نمی شوند]۲۲[.

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

۳-۱۲-۳-۱ جستجوی تپه نوردی[۱۲۲]

یکی دیگر از الگوریتم هایی که در پیمایش گراف مورد استفاده قرار می‌گیرد، الگوریتم تپه نوردی می باشد. الگوریتم تپه نوردی بدین صورت است که ابتدا جوابی به شکل تصادفی برای مساله تولید می شود و سپس در یک حلقه و تا زمانی که شرط توقف الگوریتم برقرار نشده است، به طور مکرر تعدادی همسایه برای حالت فعلی تولید و از میان حالت های همسایه، بهترین آن ها انتخاب و جایگزین حالت فعلی می شود. برای پیاده سازی روش تپه نوردی نیاز به دو تابع Objective و Neighbor است. تابع Objective میزان بهینگی جواب مسئله را تعیین و تابع Neighbor نیز همسایه های حالت فعلی را تولید می کند]۳۰[. در شکل ۳-۱۳ شبه کد زیر نحوه پیاده سازی الگوریتم تپه نوردی را نشان می دهد:

Procedure HillClimbing

Generate a solution )S’ )

Best = S’

Loop
S = Best

S’ = Neighbors)S(

Best = SelectBest )S’ )
Until stop criterion satisfied
End

شکل ۳-۱۳ شبه کد جستجوی تپه نوردی ]۳۰[

۳-۱۲-۳-۲ جستجوی پرتو محلی[۱۲۳]

روش جستجـوی دیگری بر پایه جستجوی تپه نوردی به نام جستجو پرتو محـلی نیز وجـود دارد که در حل مسـائل از قـدرت بسیار بیشتری نسبت به جستجوی تپه نوردی برخوردار می باشد. در این روش برخلاف روش تپه نوردی ابتدا k جواب برای مساله تولید می شود. سپس برای هریک از این K حالت همسایه های آن ها را تولید کرده و از میان همه همسایه ها K تا از بهترین همسایه ها انتخاب می گردد که این فرایند تا رسیدن به شرط توقف ادامه می یابد. انتخاب K پاسخ بهینه‌تر از بین تمام پاسخ های همسایه تولید شده، از شبیه شدن پاسخ ها به یکدیگر جلوگیـری می‌کند]۳۶[. شبه الگوریتم پرتو محلـی در شکل ۳-۱۴ نمایش داده شده است:

Procedure LoacBeamSearch
Generate K solution
Do
For each solution generate its neighbors
Select K best solution from whole neighbors
Replace current solutions by selected solutions
Loop until stop criterion satisfied
End

شکل ۳-۱۴ شبه الگوریتم پرتومحلی]۳۶[

۳-۱۲-۳-۳ جستجوی شبیه سازی حرارت[۱۲۴]

روش SA یکی دیگر از روش های جستجو می باشد که ایده آن از عمـل سرد کردن تدریجی فلـزات برای

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

در اینجا نیز تابع Objective میزان بهینگی حالت فعلی را محاسبه کرده و Neighbor نیز یک حالت همسایه برای حالت فعلی تولید می کند. نحوه تولید حالت همسایه از اهمیت به سزایی برخوردار است. روش کلی کار به این صورت است که در هر تکرار، الگوریتم SA حالت همسایه ای مانند ‘ sایجاد می کند و بر اساس یک احتمال، مسئله از حالت s به حالت ‘ sمی رود و یا اینکه در همان حالت s باقی می ماند. این روند تا زمانی تکرار می شود که یک جواب نسبتاً بهینه بدست آید و یا ماکزیمم تعداد تکرار ها انجام شده باشد. در روش کلی الگوریتم بیان شد که قبولی حالت همسایه تولید شده بر اساس یک احتـمال صورت می پذیرد]۳۰[.

تابع (P(e,e’,T تعیین کننده احتمال قبولی حالت همسایه می باشد. e بهینگی حالت فعلی و ‘ eبهینگی حالت

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

مستنداتی که برای الگوریتم SA وجود دارد، نشان می دهند که در ابتدای امر مقدار T بهتر است به گونه ای تعیین گردد که در ابتدا ۸۰% جواب ها مورد پذیرش الگوریتم واقع شود]۳۰[. در شکل ۳-۱۵ شبه الگوریتم شبیه سازی حرارت بیان شده است:

Procedure Simulated Annealing

C = Choose an initial solution

T = Choose an initial temperature

REPEAT

S’ = Generate a neighbor of the solution C

ΔE = objective( S’ ) – objective( C )

IF (ΔE > 0 ) THEN // S’ better than C

C = S’

ELSE with probability EXP( ΔE/ T )

C = S’

END IF

T = lower the T using linear/ non-linear techniques

UNTIL meet the stop criteria

End

شکل ۳-۱۵ شبه الگوریتم شبیه سازی حرارت ]۳۰[

۳-۱۲-۳-۴ الگوریتم آستانه پذیرش[۱۲۵]

روش TA نیز همانند روش SA می باشد و تنها تفاوت آن در نحوه قبول کردن جواب های غیر بهینه است. الگوریتم TA جواب هایی را می پذیرد که از جواب قبلی خیلی بدتر نیستند. همانند کاری که دما در الگوریتم SA انجام می دهد. دما در این الگوریتم باید به گونه ای انتخاب شود که بیشتر جواب های غیربهینه در ابتدا توسط الگوریتم پذیرفته شوند. این اصل در مورد روش TA نیز صادق است و در این روش نیـز مقدار آستانه (T) باید به نحـوه انتخاب گـردد که بیشتـر جـواب های غیـربهینه در ابتـدا توسـط

الگوریتم مورد پذیرش واقع شوند]۳۰[. شبه الگوریتم TA در شکل ۳-۱۶ نمایش داده شده است:

Procedure Threhsold Acceptance
C = Choose an initial solution
T = Choose a positive initial threshold
REPEAT
S’ = Generate a neighbor of the solution C
ΔE = objective( S’ ) – objective( C )
IF (ΔE > -T ) THEN // S’ better than C
C = S’
END IF
T = lower the T using linear/ non-linear techniques
UNTIL meet the stop criteria
End

شکل ۳-۱۶ شبه الگوریتم آستانه پذیرش ]۳۰[

۳-۱۳ نتیجه گیری

در این فصل، معماری خزنده های وب مورد بررسی قرار گرفت و چالش هایی که یک خزنده در هنگام اجرا شدن با آن ها مواجه خواهد شد بیان گردید. با توجه به تعداد بسیار زیاد صفحات وب و چالش های موجود، یک خزنده همواره باید بتواند بهترین گزینه را انتخاب و مرتبط ترین مطالب را در اختیار کاربر قرار دهد به همین جهت در این فصل، استراتژی های سنجش انتخاب صفحات به طور کامل مورد بررسی قرار گرفت و در ادامه استرتژی های خزش معرفی و الگوریتم های هر یک از آن ها به طور کامل تشریح گردید و همچنین پیچیدگی های زمانی و مکانی آن ها نیز مورد بحث و بررسی قرار گرفت. در فصل بعد این الگوریتم ها را بر روی چند پرس و جو[۱۲۶] بررسی و پیاده سازی خواهیم نمود.

فصل چهارم

تجزیه و تحلیل نتایج حاصل از تحقیق

۴-۱ مقدمه

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

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

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

در این تحقیـق، با ارسال پرس و جوهایی نظیرComputer networks، Artificial Intelligence، crawler Web،Search engine ، Cloud computing، Software Engineering، Data mining، Computer Architecture، Operation System و Wi-Fi “ به موتور جستجوی گوگل، نتایج بدست آمده از روش های پیمایش گوناگون مورد تجزیه و تحلیل و اندازه گیری قرار گرفتند.

تمامی آزمایشـات صـورت گرفته در این پژوهش به صورت دستی و بر روی سیستمـی مبتنی بر سیستـم عامـل وینـدوز ۷، ۶۴ بیتـی و با ۴ گیگابایت حافظه اصلی و واحد پردازنده مرکزیIntel® coreTM i7-Q720 با فرکانس ۱٫۶۰ گیگاهرتز انجام گرفته است. همچنین بازه زمانی که آزمایش در آن صورت گرفته از ۸ تیرماه الی ۱۸ مهرماه سال ۹۳ می باشد.

۴-۲ مرحله اول: بررسی روش اول سطح

در حرکت اول سطح، واحد کنترل پس از تعیین صفحه هسته، کلیه گره‌های هم عمق با یکدیگر را تعیین و به ترتیب به گردآورنده معرفی می‌کند. پس از رجوع به کلیه صفحات مشخص شده در آن سطح، واحد کنترل سطح دوم را مورد بررسی قرار می دهد]۱[. در این آزمایش نیز از این سیاست پیروی و به ترتیب وارد سطوح مورد نظر شده و تا سطح تعیین شده پیش می رویم. در ذیل به شرح آزمایش انجام گرفته بر روی اولین پرس و جو یعنی Computer networks پرداخته شده و نتایج حاصل از هر یک از صفحات هسته را به طور کامل شرح داده شده است.

در بررسـی انجام شـده با استفـاده از روش اول سطـح، با جستجـوی اولیـن پرس و جـو، یعنی Computer networks در موتور جستجوی گوگل، از میان تمامی صفحات پیدا شده، سه صفحه ای که دارای بیشترین لینک های خارجی مرتبط با موضوع موردنظر می باشند را به عنوان صفحات هسته انتخاب نموده و آن ها را به ترتیب s1، s2 و s3 می نامیم و الگوریتم اول سطح را بر روی تک تک این صفحات هسته پیاده سازی می نماییم. در سطـح اول مربـوط بـه اولیـن صفحه هسته[۱۲۷]، تمـامـی زیـر لینـک هـای خـارجـی آن را استخـراج نمـوده و مطابق شکل ۱-۴ بـه ترتیـب a1 , a2 , . . . , an می نامیم:

a1 a2 a3 . . . an

شکل ۴-۱ لینک های استخراج شده سطح اول با بهره گرفتن از تکنیک BFS

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

در سطـح دوم نیز همانند سطح قبل عمل نموده و تمـامی زیرلینـک های خـارجی a1 , a2 , . . . , an را استخـراج نمـوده و مطابق شکل ۴-۲ آن هـا را b1 , b2 , . . . , bمی نامیم.

b1 b2 b3 . . . bn

شکل ۴-۲ لینک های استخراج شده سطح دوم با بهره گرفتن از تکنیک BFS

در این سطح نیز درصد مرتبط بودن صفحات را برای یکایک bnها محاسبه نموده و میانگین آنها را بدست

می آوریـم که در این آزمایـش، میـزان مرتبط بودن صفحـات برابر ۸۳/۳۳ درصـد بدست می آید. همانطـور کـه مشاهده می شـود در این سطح تعـداد صفحـات مرتبـط کمتـر شده و بـر تعـداد صفحـات غیرمرتبـط افزوده می شود. محتوای لینک های استخراج شده در این سطح نشانـگر این اسـت که پـس از استخـراج کلیات موضـوع موردنظـر در سطـح اول، جزئیات بیشتـری از موضوع بدسـت آمده و یک دیـد جزئی تری را به کاربر ارائه می دهد.

در سطح سوم نیز همانند سطوح دیگر به استخراج زیرلینک های خارجی پرداخته و لینـک های استـخراج شـده از b1 , b2 , . . . , bرا همانند شکل ۴-۳ به ترتیب C, C2 , . . . , Cn می نامیم.

c1 c2 c3 . . . cn

شکل ۴-۳ لینک های استخراج شده سطح سوم با بهره گرفتن از تکنیک BFS

در این سطح نیز تعداد صفحات مرتبط کاهش یافته و برابر صفر می باشد. بنابراین میانگین میزان مرتبط بودن صفحات نیز برابر صفـر خواهـد بود. در سطـوح بعدی از جمـله سطح چهـارم و پنجـم که آن ها را به ترتیـب d1, d2, d3 , . . . , dn و e1, e2, e3 , . . . , en می نامیم نیز وضعیت سطح سوم تکرار می شود و صفحات مرتبطی وجود نخواهد داشت. یعنی در هر سه سطح، انحراف موضوع به صورت کامل وجود دارد. بنابراین میانگین کل صفحات مرتبـط برایSبا استفـاده از روش اول سطـح ۱۸/۳۱ درصد بدسـت می آید. مسیر طی شده برای اولین هسته ی مربوط به پرس و جوی Computer networks در پنج سطح به صورت شکل ۴-۴ می باشد:

Level 0 S1, S2 , S3
Level 1 (S1.a. . . S1.an )
Level 2 (S1.a1.b. . . S1.a1.bn ) + …+ (S1.an.b. . . S1.an.bn )
Level 3 (S1.a1.b1.c. . . S1.a1.b1.cn ) + (S. a1.b.c. . . S1.a1.b.cn ) + … (S1. a1.bn.c. . . S1.a1.bn.cn )+ (S1.a2.b1.c. . . S1.a2.bn.cn )
Level 4 (S1.a1.b.c1.d. . . S1.a1.b.c1 .dn) + (S1.a1.b.c2. d. . . S1.a1.b1.c2.dn ) + … (S1.a1.b1.c.d. . . S1.a1.b1.cn.dn) + (S1.a1.b.c1.d. . . S.a1.bn. cn. dn ) + …
Level 5 (S1.a1.b1.c1.d1.e. . . S1.a1.b1.c1.d1.en) + (S1.a1.b1.c2.d2.e. . . S1.a1.b1.c1.d2.en ) + … (S1.a1.b1.c.d.e. . . S.a1.b.c1.dn.en) + (S1.a1.b.c2.d1.e. . . S1.a1.bn. cn. dn.en ) + …

شکل ۴-۴ مسیر طی شده در اولین هسته از پرس و جوی Computer networks در روش اول سطح

در حرکت اول سطح، گردآورنده ابتدا به گره‌های تعیین شده در سطح، سرکشی خواهد کرد بنابراین مطالب

بدست آمده حول صفحه هسته به صورت کلی خواهد بود. از آنجایی که معمولاً لینک هایی که از هر صفحه برقرار می شوند، به بخشی از مطلب مطرح شده در صفحـه هسـته مربـوط می‌شـوند، این حرکت در کـل دید عامـتری را ارائـه می دهد و مطالب بدسـت آمده به صورت کلی بوده و جزئیـات کمتـری را شـامل می شود]۱[.

بعـد از بدسـت آمـدن نتایج حاصـل از Sمربوط به پرس و جوی Computer networks، نوبـت به ۲S می رسد. در مورد این صفحه هسته نیز همانند قسمت قبل عمل نموده و تمامی زیر لینک های خارجی هر سطح را استخراج نموده و نتایج حاصل از دو روش را با هم مقایسه می نماییم. به دلیل بیان کامل مراحل انجام آزمایش در مرحله قبل از بیان جزئیات آن صرف نظر شده و فقط نتایج حاصـل از هر مرحـله بیان می شود.

در سطـح اول، بعد از استخراج لینـک های خارجـی و محاسبه میزان مرتبط بـودن صفحـات، مقـداری برابر با ۷۵/۹۳

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...