روش كار موتور جستجو

| | ارسال نظر | بازتاب (0)

وقتي جستجويي در يك موتور جستجوگر انجام و نتايج جستجو ارايه مي شود، كاربران در واقع نتيجه كار بخش هاي متفاوت موتور جستجوگر را مي بينند. موتور جستجوگر قبلا” پايگاه داده اش را آماده كرده است و اين گونه نيست كه درست در همان لحظه جستجو، تمام وب را بگردد. بسياري از خود مي پرسند كه چگونه ممكن است گوگل در كمتر از يك ثانيه تمام سايت هاي وب را بگردد و ميليون ها صفحه را در نتايج جستجوي خود ارايه كند؟

گوگل و هيچ موتور جستجوگر ديگري توانايي انجام اين كار را ندارند. همه آنها در زمان پاسخ گويي به جستجوهاي كاربران، تنها در پايگاه داده اي كه در اختيار دارند به جستجو مي پردازند و نه در وب! موتور جستجوگر به كمك بخش هاي متفاوت خود، اطلاعات مورد نياز را قبلا” جمع آوري، تجزيه و تحليل مي كند، آنرا در پايگاه داده اش ذخيره مي نمايد و به هنگام جستجوي كاربر تنها در همين پايگاه داده مي گردد. بخش هاي مجزاي يك موتور جستجوگر عبارتند از:

*
Spider يا عنكبوت
*
Crawler يا خزنده
*
Indexer يا بايگاني كننده
*
Database يا پايگاه داده
*
Ranker يا سيستم رتبه بندي

الف
Spider- (عنكبوت)
اسپايدر يا روبوت (Robot)، نرم افزاري است كه كار جمع آوري اطلاعات مورد نياز يك موتور جستجوگر را بر عهده دارد. اسپايدر به صفحات مختلف سر مي زند، محتواي آنها را مي خواند، لينكها را دنبال مي كند، اطلاعات مورد نياز را جمع آوري مي كند و آنرا در اختيار ساير بخش هاي موتور جستجوگر قرار مي دهد. كار يك اسپايدر، بسيار شبيه كار كاربران وب است. همانطور كه كاربران، صفحات مختلف را بازديد مي كنند، اسپايدر هم درست اين كار را انجام مي دهد با اين تفاوت كه اسپايدر كدهاي HTML صفحات را مي بيند اما كاربران نتيجه حاصل از كنار هم قرار گرفتن 
اين كدها را. index.html صفحه اي است كه كاربران آنرا مي بينند:

اما يك اسپايدر آنرا چگونه مي بيند؟
براي اين كه شما هم بتوانيد دنياي وب را از ديدگاه يك اسپايدر ببينيد، كافي است كه كدهاي HTML صفحات را مشاهده كنيد. براي اين كار در مرورگر مورد استفاده خود، مسير نشان داده شده در شكل (۲) دنبال كنيد.

آيا اين دنياي متني براي شما جذاب است؟

اسپايدر، به هنگام مشاهده صفحات، بر روي سرورها رد پا برجاي مي گذارد. شما اگر اجازه دسترسي به آمار ديد و بازديدهاي صورت گرفته از يك سايت و اتفاقات انجام شده در آن را داشته باشيد، مي توانيد مشخص كنيد كه اسپايدر كدام يك از موتورهاي جستجوگر صفحات سايت را مورد بازديد قرار داده است. يكي از فعاليتهاي اصلي كه در SEM انجام مي شود تحليل آمار همين ديد و بازديدها است.

اسپايدرها كاربردهاي ديگري نيز دارند، به عنوان مثال عده اي از آنها به سايت هاي مختلف مراجعه مي كنند و فقط به بررسي فعال بودن لينك هاي آنها مي پردازند و يا به دنبال آدرس ايميل (Email) مي گردند.

ب- Crawler (خزنده)
كراولر، نرم افزاري است كه به عنوان يك فرمانده براي اسپايدر عمل مي كند. آن مشخص مي كند كه اسپايدر كدام صفحات را مورد بازديد قرار دهد. در واقع كراولر تصميم مي گيرد كه كدام يك از لينك هاي صفحه اي كه اسپايدر در حال حاضر در آن قرار دارد، دنبال شود. ممكن است همه آنها را دنبال كند، بعضي ها را دنبال كند و يا هيچ كدام را دنبال نكند.

كراولر، ممكن است قبلا” برنامه ريزي شده باشد كه آدرس هاي خاصي را طبق برنامه، در اختيار اسپايدر قرار دهد تا از آنها ديدن كند. دنبال كردن لينك هاي يك صفحه به اين بستگي دارد كه موتور جستجوگر چه حجمي از اطلاعات يك سايت را مي تواند (مي خواهد) در پايگاه داده اش ذخيره كند. همچنين ممكن است اجازه دسترسي به بعضي از صفحات به موتورهاي جستجوگر داده نشده باشد.

شما به عنوان دارنده سايت، همان طور كه دوست داريد موتورهاي جستجوگر اطلاعات سايت شما را با خود ببرند، مي توانيد آنها را از بعضي صفحات سايت تان دور كنيد و اجازه دسترسي به محتواي آن صفحات را به آنها ندهيد. موتور جستجو اگر مودب باشد قبل از ورود به هر سايتي ابتدا قوانين دسترسي به محتواي سايت را (در صورت وجود) در فايلي خاص بررسي مي كند و از حقوق دسترسي خود اطلاع مي يابد. تنظيم ميزان دسترسي موتورهاي جستجوگر به محتواي يك سايت توسط پروتكل Robots انجام مي شود. به عمل كراولر ، خزش (Crawling) مي گويند.

ج- Indexer (بايگاني كننده)
تمام اطلاعات جمع آوري شده توسط اسپايدر در اختيار ايندكسر قرار مي گيرد. در اين بخش اطلاعات ارسالي مورد تجزيه و تحليل قرار مي گيرند و به بخش هاي متفاوتي تقسيم مي شوند. تجزيه و تحليل بدين معني است كه مشخص مي شود اطلاعات از كدام صفحه ارسال شده است، چه حجمي دارد، كلمات موجود در آن كدامند، كلمات چندبار تكرار شده اند، كلمات در كجاي صفحه قرار دارند و … .

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

د - DataBase (پايگاه داده)
تمام داده هاي تجزيه و تحليل شده در ايندكسر، به پايگاه داده ارسال مي گردد. در اين بخش داده ها گروه بندي، كدگذاري و ذخيره مي شود. همچنين داده ها قبل از آنكه ذخيره شوند، طبق تكنيكهاي خاصي فشرده مي شوند تا حجم كمي از پايگاه داده را اشغال كنند. يك موتور جستجوگر بايد پايگاده داده عظيمي داشته باشد و به طور مداوم حجم محتواي آنرا گسترش دهد و البته اطلاعات قديمي را هم به روز رساني نمايد. بزرگي و به روز بودن پايگاه داده يك موتور جستجوگر براي آن امتياز محسوب مي گردد. يكي از تفاوتهاي اصلي موتورهاي جستجوگر در حجم پايگاه داده آنها و همچنين روش ذخيره سازي داده ها در پايگاه داده است.

و- Ranker (سيستم رتبه بندي)
بعد از آنكه تمام مراحل قبل انجام شد، موتور جستجوگر آماده پاسخ گويي به سوالات كاربران است. كاربران چند كلمه را در جعبه جستجوي (Search Box) آن وارد مي كنند و سپس با فشردن Enter منتظر پــاسخ مي مانند. براي پاسخگويي به درخواست كاربر، ابتدا تمام صفحات موجود در پايگاه داده كه به موضوع جستجو شده، مرتبط هستند، مشخص مي شوند. پس از آن سيستم رتبه بندي وارد عمل شده، آنها را از بيشترين ارتباط تا كمترين ارتباط مرتب مي كند و به عنوان نتايج جستجو به كاربر نمايش مي دهد.

حتي اگر موتور جستجوگر بهترين و كامل ترين پايگاه داده را داشته باشد اما نتواند پاسخ هاي مرتبطي را ارايه كند، يك موتور جستجوگر ضعيف خواهد بود. در حقيقت سيستم رتبه بندي قلب تپنده يك موتور جستجوگر است و تفاوت اصلي موتورهاي جستجوگر در اين بخش قرار دارد. سيستم رتبه بندي براي پاسخ گويي به سوالات كاربران، پارامترهاي بسياري را در نظر مي گيرد تا بتواند بهترين پاسخ ها را در اختيار آنها قرار دارد.

حرفه اي هاي دنياي SEM به طور خلاصه از آن به Algo ( الگوريتم) ياد مي كنند. الگوريتم، مجموعه اي از دستورالعمل ها است كه موتور جستجوگر با اعمال آنها بر پارامترهاي صفحات موجود در پايگاه داده اش، تصميم مي گيرد كه صفحات مرتبط را چگونه در نتايج جستجو مرتب كند. در حال حاضر قدرتمندترين سيستم رتبه بندي را گوگل در اختيار دارد.

مي توان با ادغام كردن اسپايدر با كراولر و همچنين ايندكسر با پايگاه داده، موتور جستجوگر را شامل سه بخش زير دانست كه اين گونه تقسيم بندي هم درست مي باشد:

*
كراولر
*
بايگاني
*
سيستم رتبه بندي

تذكر- براي سهولت در بيان مطالب بعدي هر گاه صحبت از بايگاني كردن (شدن) به ميان مي آيد، مقصود اين است كه صفحه تجزيه و تحليل شده و به پايگاه داده موتور جستجوگر وارد مي شود.

براي آنكه تصور درستي از نحوه كار يك موتور جستجوگر داشته باشيد داستان نامتعارف زير را با هم بررسي مي كنيم. داستان ما يك شكارچي دارد. او تصميم به شكار مي گيرد:

- كار كراولر:
او قصد دارد براي شكار به منطقه حفاظت شده ابيورد، واقع در شهرستان درگز (شمالي ترين شهر خراسان بزرگ) برود.

- پروتكل Robots :
ابتدا تمام محدوديت هاي موجود براي شكار در اين منطقه را بررسي مي كند:

*
آيا در اين منطقه مي توان به شكار پرداخت؟
*
كدام حيوانات را مي توان شكار كرد؟
*
حداكثر تعداد شكار چه ميزاني است؟
*
و … .

فرض مي كنيم او مجوز شكار يك اوريال (نوعي آهو) را از شكارباني منطقه دريافت مي كند.

- كار اسپايدر
او اوريالي رعنا را شكار مي كند و سپس آنرا با خود به منزل مي برد.

- كار ايندكسر
شكار را تكه تكه كرده، گوشت، استخوان، دل و قلوه، كله پاچه و … آنرا بسته بندي مي كند و بخش هاي زايد شكار را دور مي ريزد.

- كار پايگاه داده
بسته هاي حاصل را درون فريزر قرار داده، ذخيره مي كند.

- كار سيستم رتبه بندي
مهمانان سراغ او مي آيند و همسرش بسته به ذائقه مهمانان براي آنها غذا طبخ مي كند. ممكن است عده اي كله پاچه، عده اي آبگوشت، عده اي … دوست داشته باشند. پخت غذا طبق سليقه مهمانان كار سختي است. ممكن است همه آنها آبگوشت بخواهند اما آنها مسلما” بامزه ترين آبگوشت را مي خواهند!

نكته ها:

*
شكارچي مي توانست براي شكار كبك يا اوريال و يا هر دو به آن منطقه برود همانطور كه موتور جستجوگر مي تواند از سرور سايت شما انواع فايل (عكس، فايل متني، فايل اجرايي و …) درخواست كند.
*
شكارچي مي تواند شب به شكار برود يا روز. موتور جستجوگر هم ممكن است شب به سايت شما مراجعه كند يا روز. بنابراين همواره مطمئن باشيد كه سايت شما آپ است و موتور جستجوگر مي تواند در آن به شكار فايلها بپردازد.
*
غذاي خوشمزه را مي توانيد با نتايج جستجوي دقيق و مرتبط مقايسه كنيد. اگر شكارچي بهترين شكار را با خود به منزل ببرد اما غذايي خوشمزه و مطابق سليقه مهمانان طبخ نگردد، تمام زحمات هدر رفته است.
*
به عنوان آخرين نكته اين بخش ياد آوري مي كنم كه به شكار اوريالي رعنا آن هم در منطقه حفاظت شده ابيورد (پارك ملي تندوره) اصلا فكر نكنيد. اما توصيه مي شود كه حتما از طبيعت بكر آن ديدن فرماييد (بدون اسلحه!).

محققان(الهام بطحايي پور و رباب غفار زاده)

منبع: http://autoir.ir/page.php?id=196 

وب معنایی چیست؟

| | ارسال نظر | بازتاب (0)

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

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

وب معنایی چیست؟ 

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

وب حاضر که نسخه یک و دوم آن به شدت در حال استفاده و گسترش است توسط تیم برنرزلی در سال ۱۹۸۹ وقتی که اولین طرح پیشنهادی خود را به موسسه سرن (پژوهشگاه فیزیک هسته‌ای و انرژی‌های سطح بالا) در سویس بوردر فرانسه می‌فرستاد؛ اختراع شد. اقبال روزافزون این پدیده، محققان را به توسعه‌ی هرچه بیش‌تر آن فراخوانده است. آموزش از راه دور، فروشگاه‌های اینترنتی، سرگرمی‌های تحت وب، سایت‌های اجتماعی، ویکی‌ها، فِیس‌بوک و وبلاگ‌ها (تحت عنوان وب۲) همگی نمونه‌هایی از تلاش برای توسعه‌ی وب به‌شمار می‌آیند. پس از گذر از وب مذکور نوبت به وب معنایی رسید که بست و توسعه ای از وب کنونی است که کامپیوتر و افراد را قادر می سازد که با یکدیگر همکاری بهتری داشته باشند.

وب معنایی چیست؟

کار های روزمره خود را به عامل(Agent) هایی بسپاریم طوری که خود آن ها اموری که به آنها سپرده ایم را دنبال کنند.

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

 

بررسی موتور جستجوهای بومی

| | ارسال نظر | بازتاب (0)
در این فایل موتور جستجوهای بومی و به خصوص موتورهای جستجوی ایرانی مورد بررسی قرار گرفته است.
 
در این فایل نحوه راه اندازی
apache nutch و apache Solr
توضیح داده شده است. 
 
 

سیستم های پرسش و پاسخ در وب معنایی

| | ارسال نظر | بازتاب (0)

در این ارائه به صورت مختصر سیستم های پرسش و پاسخ در وب معنایی پرداته شده است. ابتدا به معرفی سیستم های پرسخ و پاسخ و همچنین چالش های موجود پرداخته و در انتها دو نوع سیستم پرسش و پاسخ با جزئیات معرفی شده است.

 

سیستم های پرسش و پاسخ.pdf