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

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

موتورهای جستجو در واقع وب سایت هایی هستند که طراحی شده اند تا به مردم در یافتن محتوای مورد نظرشان کمک کنند. اینکه موتورهای جستجو چگونه کار می کنند در مورد هر کدام کمی ممکن است متفاوت باشد. اما چیزی که اساسا بین همه ی آنها یکسان است انجام سه وظیفه ی زیر است:

  • جستجوی اینترنت، یا بخشی از آن بر اسا کلمات با اهمیت
  • فهرست کردن (Index) کلماتی که یافته اند و اینکه در کجا این کلمات یافت شده اند.
  • کمک به کاربران برای یافتن محتوای مورد نظرشان با استفاده از جستجوی یک یا چند کلمه.

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

 

Web Crawling

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

در اواخر سال ۱۹۸۰ و با افزایش ارزش و اهمیت اینترنت، چگونگی استفاده از gopher، Archie، Veronica  و rest معنا یافت.

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

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

هنگامی که یکی از این ربات ها در حال ساختن لیست ها است، این فرآیند را خزیدن در وب (Web Crawling) گویند. برای ایجاد لیستی از کلمات کاربردی و مهم، ربات های موتورهای جستجو صفحات بسیاری را جستجو می کنند.

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

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

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

 

هنگامی که گوگل یک صفحه ی HTML را مرور می کند به دو چیز توجه می نماید:

  • کلماتی که در صفحه وجود دارند.
  • اینکه کلمات کجا یافت شده اند.

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

معمولا سه روش کلی برای افزایش سرعت عملکرد ربات ها و ارائه ی جستجویی موثرتر به کاربران یا هردو وجود دارد. برخی از ربات ها کلماتی که در عنوان صفحه، سرتیتر ها و لینک ها وجود دارد را دنبال می کنند. همچنین ۱۰۰ کلمه ای که بیشتر در یک صفحه استفاده شده است و یا حدود ۲۰ خط اول هر نوشته توسط این ربات های نرم افزاری بررسی می شوند.

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

 

ایجاد جستجوها

 

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

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

  • AND: تمام کلماتی که بین آنها And به کار رفته، باید در محتوای صفحه یا سند مورد نظر وجود داشته باشند. در برخی موتورهای جستجو استفاده از علامت “+” به جای And دقیقا همین عمل را انجام می دهد.
  • OR: حداقل یکی از کلماتی که بین آن ها OR قرار گرفته، باید در محتوای سند یا صفحه مورد نظر وجود داشته باشد.
  • NOT: کلمه یا عبارتی که پس از Not در متن مورد جستجو قرار بگیرد، نباید در محتوای سند یا صفحه مورد نظر وجود داشته باشد. در برخی موتورهای جستجو استفاده از علامت “–” به جای Not نیز دقیقا همین عمل را انجام می دهد.
  • FOLLOWED BY: یک کلمه باید دقیقا پس از کلمه ی دیگر در متن صفحه یا سند مورد نظر وجود داشته باشد.
  • NEAR: کلمه یا عبارت مورد جستجو باید به همراه تعداد مشخصی از کلمه ی دیگری در محتوای صفحه یا سند مورد نظر موجود باشد.
  • علامت کوتیشین: اگر کلمه یا عبارتی در میان کوتیشین ها “” قرار بگیرد، باید آن کلمه یا عبارت عینا در متن سند یا صفحه مورد نظر وجود داشته باشد.

آینده جستجو

 

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

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

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

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

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

البته دستیارهای صوتی تلفن های هوشمند مانند Google Now، سیری و کورتانا نیز از همین روش به همراه کمک گرفتن از هوش مصنوعی برای پاسخ به سوالات صوتی کاربران استفاده می کنند.