مدیر و متخصص سئو، طراح سایت، دیجیتال مارکتینگ، مهارت در برنامه نویسی ASP.NET، وردپرس، #c , پایتون , دانشجوی دکترای هوش مصنوعی و رباتیکز و علاقه مند به نویسندگی و تولید محتوا
شبیه سازی الگوریتم PageRank گوگل با استفاده از کدهای پایتون
چگونه گوگل به صفحات سایت رتبه می دهد ؟
شاید بارها از خودتان سوال کرده باشید که چطور گوگل با سرچ کلمه ای ، سایت های مرتبط با آن کلمه را به ترتیب به کاربر نمایش می دهد. اینکه لینکی از سایتی در خط اول گوگل باشد و یا در خط 10 صفحه اول گوگل بر چه اساسی است؟! این سوال را گاهی از متخصصان سئو هم پرسیده می شود.
یکی از قدیمی ترین الگوریتم های گوگل، الگوریتم PageRank است . این الگوریتم سایت ها را بر اساس پربازدیدتر بودن، رتبه بندی میکند و سایت هایی که رتبه بیشتری کسب کرده باشند و به عبارتی بازدید آنها بیشتر بوده باشد در رتبه بالاتر و به طبع در خط اول و صفحه اول گوگل نمایان می شود.
همانطور که می دانید این روزها زبان برنامه نویسی پایتون بسیار رواج یافته است. در این مقاله قصد داریم با یک مثال ساده و کدنویسی پایتون، الگوریتم PageRank گوگل را شبیه سازی کنیم.
تصور کنید که قصد داریم پنج صفحه ( لینک یا آدرس سایت) را بر اساس پربازدیدترین انتخاب کرده و به آنها رتبه و امتیاز دهیم و این کار را به کمک روش مونت کارلو و با تکرار یک میلیون بار انجام می دهیم . استفاده از روش مونته کارلو و استفاده از تکرار زیاد به ما کمک می کند که جواب دقیقتری به دست بیاوریم.
همانطور که گفتیم تصور کنید پنج تا صفحه داریم و احتمال اینکه کاربر بر روی هر کدام از لینک ها و صفحه ها کلیک کند یک پنجم است ( این یک فرض است و از نظر سئو هیچ گاه کاربری با احتمال برابر لینک ها را انتخاب کند و همیشه هر کاربری بر اساس میزان دانش و اینکه که دنبال دقیقا چی می باشد بر روی بعضی لینک ها با احتمال بیشتری کلیک خواهد کرد.)
همانطور که در کدهای زیر می بینید دو تا ماتریس ایجاد کردیم که اولین ماتریس ، یک ماتریس 5*5 است . این ماتریس ارتباط هر صفحه با صفحه دیگر را نمایش می دهد. مثلا می گوید که صفحه یک با صفحه دو ارتباط دارد و وصل شده است. چطور؟!! ( از طریق لینک داخلی: یعنی لینک صفحه دو در صفحه یک قرار دارد) . ماتریس دوم درجه و رتبه هر صفحه را مشخص میکند که یک ماتریس 1*5 است.
حال فرض کنید که 90 درصد مواقع از لینک های خروجی استفاده می کنیم ، 10 درصد مواقع یک صفحه کاملا تصادفی انتخاب می کنیم .( تعداد صفحات وب n است. احتمال انتخاب هر صفحه n /1 ام است . یک دهم ضرب در 1/nام می شود.)
و در ادامه خواهیم داشت :
این مقاله امکان دارد بهبود یابد ، لطفا من را در کانال kapitanseo@ دنبال کنید.
منبع: youtube/Dr.razavi
مطلبی دیگر از این انتشارات
فکر کردن به آینده، آینده نگری نیست!
مطلبی دیگر از این انتشارات
تهدید هوش مصنوعی: ترمیناتورهای سرکش؟
مطلبی دیگر از این انتشارات
هوش مصنوعی و روباتیک از یکدیگر متفاوت هستند