شبیه سازی الگوریتم PageRank گوگل با استفاده از کدهای پایتون

چگونه گوگل به صفحات سایت رتبه می دهد ؟


شبیه سازی الگوریتم pagerank با کدنویسی پایتون
شبیه سازی الگوریتم pagerank با کدنویسی پایتون


شاید بارها از خودتان سوال کرده باشید که چطور گوگل با سرچ کلمه ای ، سایت های مرتبط با آن کلمه را به ترتیب به کاربر نمایش می دهد. اینکه لینکی از سایتی در خط اول گوگل باشد و یا در خط 10 صفحه اول گوگل بر چه اساسی است؟! این سوال را گاهی از متخصصان سئو هم پرسیده می شود.


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


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


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


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


همانطور که در کدهای زیر می بینید دو تا ماتریس ایجاد کردیم که اولین ماتریس ، یک ماتریس 5*5 است . این ماتریس ارتباط هر صفحه با صفحه دیگر را نمایش می دهد. مثلا می گوید که صفحه یک با صفحه دو ارتباط دارد و وصل شده است. چطور؟!! ( از طریق لینک داخلی: یعنی لینک صفحه دو در صفحه یک قرار دارد) . ماتریس دوم درجه و رتبه هر صفحه را مشخص میکند که یک ماتریس 1*5 است.


شبیه سازی الگوریتم PageRank گوگل
شبیه سازی الگوریتم PageRank گوگل


حال فرض کنید که 90 درصد مواقع از لینک های خروجی استفاده می کنیم ، 10 درصد مواقع یک صفحه کاملا تصادفی انتخاب می کنیم .( تعداد صفحات وب n است. احتمال انتخاب هر صفحه n /1 ام است . یک دهم ضرب در 1/nام می شود.)

و در ادامه خواهیم داشت :


ادامه شبیه سازی الگوریتم PageRank گوگل به زبان پایتون
ادامه شبیه سازی الگوریتم PageRank گوگل به زبان پایتون


این مقاله امکان دارد بهبود یابد ، لطفا من را در کانال kapitanseo@ دنبال کنید.

منبع: youtube/Dr.razavi