زنگ تفريح شماره 132
كتابخانهاي را با 25 بيليون سند تصور كنيد كه هيچ سازماندهي مركزي و كتابداري ندارد و هر فردي ممكن است در هر زماني بدون اينكه به شخص ديگري اطلاع بدهد سندي را به اين كتابخانه اضافه كند. شما مطئن هستيد كه يكي از اين اسناد داراي مجموعه اطلاعاتي است كه براي شما حياتي است و شما ميخواهيد در چند ثانيه به اين اطلاعات دسترسي پيدا كنيد. سوال اينجاست كه چطور دنبال آن ميگرديد؟
اين مثال به دنياي وسيع وبسايتها بي ربط نيست، مجموعهاي عظيم و بي سروسامان از اسناد در فرمتهاي مختلف. بدون شك با موتورهاي جستجو آشنايي داريد و ميدانيد كه راه حلي براي اين مشكل موجود است. در زنگ تفريح اين شماره الگوريتم امتياز دهي صفحات گوگل را بررسي ميكنيم و ميگوييم چطور گوگل از ميان 25 بيليون اسناد وبسايتي، صفحاني را انتخاب ميكند و به عنوان جواب به شما بر ميگرداند.
|
|
بيشتر موتورهاي جستجو و همينطور گوگل دائماً برنامههاي كامپيوتري را براي بازيابي صفحات وب اجرا ميكنند، كلمات را در هر سند نشانه گذاري ميكنند و اطلاعات را در يك فرمت كارا ذخيره ميكنند. هر دفعه كه كاربري چيزي را جستجو ميكند از يك عبارت استفاده ميكند و موتور جستجو تمام صفحاتي كه كلمات اين عبارت را دارد را جستجو ميكند. در اينجا مشكلي وجود دارد. گوگل با 25 بيليون صفحه سروكار دارد و اگر هركدام از اين صفحات 10000 كلمه داشته باشد به اين معناست كه براي بيشتر جستجوها تعداد خيلي زيادي صفحه موجود است كه داراي كلمات و عبارت مورد نظر هستند. چيزي كه مورد نياز است امتياز دهي به اهميت اين صفحههاست به گونهاي كه صفحههايي كه امتياز بالاتري دارد در صدر ليست باشند. يك راه براي مشخص كردن اهميت صفحهها امتياز بندي به سبك انساني است. براي مثال، شما ممكن است صفحاتي را ديده باشيد كه شامل تعداد زيادي لينك به ساير منابع در يك حوزه هستند. احتمال اينكه اين صفحه از نظر يك شخص مورد اعتماد به نظر برسد وجود دارد چرا كه ارجاع به صفحههايي دارد كه قابل دسترسي هستند. البته ممكن است لينكها به روز نباشند و يا اينكه در نگهداري ليست آنها سهلانگاري شده باشد. الگوريتم امتياز بندي صفحات گوگل اهميت صفحات وب را بدون سنجش انسانها ارزيابي ميكند. گوگل ادعا ميكند كه "قلب نرمافزار ما امتياز بندي صفحات است". در ادامه ميبينيم كه چطور گوگل از خود وبسايتها ميخواهد كه درجه اهميت خود را مشخص كنند.
چگونه بگوييم كدام مهمتر است؟
طراح وبسايت با قراردادن لينكهاي صفحههاي ديگري كه داراي اطلاعات ارزشمند و قابل اعتماد هستند اهميت اين صفحهها را تصديق ميكند. الگوريتم امتيازدهي گوگل ماهانه رقابتي بر اساس شهرت ميان تمام وبسايتها مرحله بندي ميكند و بر اساس آن تصميم ميگيرد كه كدام صفجه مهمتر است. ايده اصلي از نظر سازندگان گوگل اين است كه "اهميت يك صفحه با تعداد صفحههايي كه صفحه لينك شده است و اهميت آنها ميباشد."
اگر هر صفحه را P در نظر بگيريم و اهميت هر صفحه را I(p) نشانه گذاري كنيم، فرض كنيد صفحه Pj، داراي Lj لينك باشدو اگر هر يك از اين لينكها لينك به صفحه Pi باشد، پس در اينصورت صفحه Pi، 1/Lj اهميت خود را به صفحه Pi ميدهد. پس امتياز صفحه Pi مجموع سهم هايي است كه توسط صفحههاي ديگر و با لينك كردن به صفحه Pi ايجاد شدهاست. اگر مجموع صفحههايي كه به Pi لينك ميشود را Bi در نظر بگيريم، پس؛
براي فهميدن درجه اهميت يك صفحه در ابتدا بايد به درجه اهميت تمام صفحههايي كه به آن صفحه لينك دادهاند را محاسبه كنيم. يك ماتريس H=[Hij] را در نظر بگيريد كه داراي i سطر و j ستون است . اين ماتريس را ماتريس لينك ميناميم.
توجه كنيد كه اين ماتريس ويژگيهاي مخصوصي دارد. اين ماتريس هيچ ورودي منفي قبول نميگيرد و همچنين جمع اعداد يك ستون برابر 1 است مگر اينكه صفحعاي كه آن ستون مربوط به آن است هيچ لينكي نداشته باشد. ماتريسي كه ورودي منفي نپذيرد و مجموع هر ستونش 1 باشد را ماتريس تصادفي ميگويند. همچنين بردار I=[I(Pi)] خواهيم داشت كه اجزايش امتياز بندي صفحههاست(اهميت امتياز بنديها). اين شرايط امتيازبندي صفحه را به صورت I=Hi معرفي ميكند. به عبارت ديگر، بردار I يك بردار ويژه براي ماتريس H با مقدار ويژه 1 است. به اين بردار، بردار ساكن H نيز ميگويند. حال به مثال زير دقت كنيد؛ شكل زير مجموعهاي كوچك (8تايي) را از صفحات وب و لينكهايشان نشان ميدهد.
ماتريس مربوط به اين شكل
اين ماتريس نشان ميدهد كه صفحه 8 داراي بيشترين محبوبيت است. در شكل زير توسط سايه روشن ميزان محبوبيت صشفحه نشان داده شده است. هرچه رنگ صفحهها روشنتر باشد امتياز آنها بيشتر است.