نوشته قبلی نوشته بعدی چگونه می توان الگوریتم رتبه بندی جستجوی شخصی خود را با یادگیری ماشین ایجاد کرد

چگونه می توان الگوریتم رتبه بندی جستجوی شخصی خود را با یادگیری ماشین ایجاد کرد

چگونه می توان الگوریتم رتبه بندی جستجوی شخصی خود را با یادگیری ماشین ایجاد کرد منتشر شده در آوریل 9, 2020ارسال دیدگاه

علاقه مند به حوزه Seo & Sem

"هر فن آوری به اندازه کافی پیشرفته غیر قابل تشخیص از سحر و جادو است." – آرتور سی کلارک (۱۹۶۱)

این نقل قول نمی تواند بهتر برای موتورهای جستجوگر عمومی و الگوریتم های رتبه بندی وب اعمال شود.

در مورد آن فکر کنید

شما می توانید در مورد هر چیزی بیشتر از بینگ بپرسید و در طی چند ثانیه بهترین نتیجه ۱۰ از میلیاردها صفحه وب را بدست آورید. اگر این جادویی نیست ، نمی دانم چیست!

تبلیغات
ادامه خواندن زیر

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

بعضی اوقات حتی مشخص نیست که پرس و جو در مورد چیست! مهم نیست وقتی کاربران وارد یک جستجوی جستجو می شوند ، انتظار دارند ۱۰ پیوند آبی آنها در طرف دیگر باشد.

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

در اوایل سال ۲۰۰۵ ، ما از شبکه های عصبی برای نیروی موتور جستجوی خود استفاده کردیم و هنوز هم می توانید تصاویر کمیاب از Satya Nadella ، VP جستجو و تبلیغات در آن زمان پیدا کنید و پیشرفت های رتبه بندی وب را نشان دهد.

در این مقاله مشکل یادگیری ماشینی که به عنوان Learning Rank شناخته می شود ، تجزیه خواهد شد. و اگر می خواهید سرگرم کننده باشید ، می توانید همان مراحل را برای ساخت الگوریتم رتبه بندی وب خود انجام دهید.

تبلیغات
ادامه خواندن زیر

چرا یادگیری ماشین؟

تعریف استاندارد از یادگیری ماشین به شرح زیر است:

"یادگیری ماشین علم به عملی شدن رایانه ها بدون برنامه ریزی صریح است."

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

برای رتبه بندی وب ، این به معنای ساختن الگویی است که به برخی SERP های ایده آل بپردازد و یاد بگیرد که کدام ویژگی ها پیش بینی کننده ترین ارتباط هستند.

این باعث می شود یادگیری ماشین راهی مقیاس پذیر برای ایجاد یک الگوریتم رتبه بندی وب شود. برای مهندسی دقیق الگوریتم خود نیازی به استخدام متخصص در هر موضوع ممکن نیست.

در عوض ، بر اساس الگوهای به اشتراک گذاشته شده توسط یک سایت عالی فوتبالی و یک سایت بیس بال عالی ، این مدل یاد می گیرد که سایت های بسکتبال عالی یا حتی سایتهای عالی را برای ورزشی که حتی هنوز وجود ندارد ، شناسایی کنید!

تبلیغات
ادامه خواندن زیر

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

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

رتبه بندی وب به عنوان یک مشکل یادگیری ماشین رتبه بندی وب به عنوان یک مشکل یادگیری ماشین

۱٫ هدف الگوریتم خود را تعریف کنید

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

تبلیغات
ادامه خواندن زیر

"شما فقط آنچه را اندازه می گیرید بهبود می بخشید."

بعضی اوقات هدف ساده است: آیا این یک سگ داغ است یا نه ؟

حتی بدون هیچ راهنمایی ، بیشتر مردم موافقت می کنند ، هنگامی که با تصاویر مختلف ارائه می شوند ، خواه نماینده سگ داغ باشند یا نه.

و جواب این سؤال باینری است. یا این یک سگ داغ نیست یا نیست.

اوقات دیگر ، مسائل کاملاً ذهنی تر هستند: آیا این یک SERP ایده آل برای یک سؤال معین است؟

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

پیشنهاد ویژه  گوگل: ما به ندرت نشان می دهد Sitelinks جعبه جستجو, حتی زمانی که نشانه گذاری استفاده می شود

این جایی است که دستورالعملهای رتبه بندی کیفیت جستجو به مرحله اجرا در می آیند.

در بینگ ، SERP ایده آل ما است که رضایت کاربر را به حداکثر می رساند. این تیم تفکر زیادی را در این مورد به وجود آورده است که معنی آن چیست و چه نتایجی را برای نشان دادن کاربران خود خوشحال می کنیم.

تبلیغات
ادامه خواندن زیر

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

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

برای گرفتن این ظرافت ها ، از قضات می خواهیم هر نتیجه را در مقیاس ۵ امتیاز ارزیابی کنند.

سرانجام ، برای پرس و جو و لیست مرتب شده از نتایج دارای رتبه بندی ، می توانید SERP خود را با استفاده از فرمول های بازیابی اطلاعات کلاسیک امتیاز دهید.

سود تجمعی با تخفیف (DCG) یک معیار عادی است که این شهود را ضبط می کند که هرچه نتیجه در SERP بالاتر باشد ، به دست آوردن درست آن مهم تر است.

تبلیغات
ادامه خواندن زیر

۲٫ جمع آوری برخی از داده ها

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

به عبارت دیگر ، ما می خواهیم مجموعه ای از SERP ها را جمع آوری کرده و از داوران انسانی بخواهیم که نتایج را با استفاده از دستورالعمل ها ارزیابی کنند.

ما می خواهیم این مجموعه از SERP ها نماینده چیزهایی باشند که پایگاه کاربر گسترده ما در جستجوی آن است. یک روش ساده برای انجام این کار ، نمونه برداری از برخی از نمایش داده شد که ما در گذشته در بینگ مشاهده کردیم.

در حین انجام این کار ، باید اطمینان حاصل کنیم که تعصبی ناخواسته در مجموعه نداریم.

تبلیغات
ادامه خواندن زیر

به عنوان مثال ، می تواند این باشد که تعداد کاربران بینگ به طور نامتناسب در ساحل شرقی نسبت به سایر مناطق آمریکا وجود دارد

اگر عادت جستجوي كاربران در ساحل شرقي متفاوت از Midwest يا West Coast باشد ، اين تعصبي است كه در الگوريتم رتبه بندي ثبت مي شود.

هنگامی که یک لیست خوب از SERP ها (هر دو نمایش داده شد و URL) داریم ، آن لیست را برای داوران انسانی ارسال می کنیم ، که طبق دستورالعمل ها آنها را رتبه بندی می کنند.

پس از اتمام ، لیستی از جفت های پرس و جو / URL همراه با رتبه بندی کیفیت آنها را دراختیار داریم. این مجموعه در یک "مجموعه آموزشی" و "مجموعه تست" تقسیم می شود ، که به ترتیب برای این موارد استفاده می شوند:

  • الگوریتم یادگیری ماشین را آموزش دهید.
  • ارزیابی کنید تا چه اندازه در سؤالاتی که قبلاً دیده نشده است عمل کند (اما برای آنها ما دارای یک رتبه بندی کیفی هستیم که به ما امکان سنجش عملکرد الگوریتم را می دهد).
تبلیغات
ادامه خواندن زیر
مجموعه آموزش و تست زوج پرس و جو برچسب / برچسب مجموعه آموزش و تست زوج پرس و جو برچسب / برچسب

۳٫ ویژگی های مدل خود را تعریف کنید

رتبه بندی های کیفیت جستجو بر اساس آنچه انسان در صفحه مشاهده می کند ، بنا شده است.

ماشین ها از نظر این اسناد وب کاملاً متفاوت هستند و این مبتنی بر خزیدن و نمایه سازی و همچنین پردازش فراوانی است.

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

تبلیغات
ادامه خواندن زیر

مرحله بعدی ساخت الگوریتم شما تبدیل اسناد به "ویژگی ها" است.

پیشنهاد ویژه  Google نظرات به همبستگی از لینک های بد و 50 درصد ترافیک از دست دادن

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

در اینجا چند مثال آورده شده است.

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

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

تبلیغات
ادامه خواندن زیر

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

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

برخی از ویژگی ها حتی ممکن است دارای وزن منفی باشند ، به این معنی که آنها تا حدودی از بی ربط بودن پیش بینی می کنند!

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

۴٫ الگوریتم رتبه بندی خود را آموزش دهید

اینجاست که همه با هم جمع می شوند. هر سند در فهرست با صدها ویژگی ارائه شده است. ما مجموعه ای از نمایش داده ها و URL ها ، همراه با رتبه بندی های کیفیت آنها را داریم.

تبلیغات
ادامه خواندن زیر

هدف از الگوریتم رتبه بندی ، حداکثر رساندن امتیاز این SERP ها با استفاده از ویژگی های فقط سند (و پرس و جو) است.

به طور شهودی ممکن است بخواهیم مدلی را بسازیم که رتبه بندی هر زوج پرس و جو / URL را پیش بینی کند ، همچنین به عنوان یک رویکرد "نقطه به نقطه" شناخته می شود. معلوم است که این یک مشکل سخت است و دقیقاً آن چیزی نیست که ما می خواهیم.

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

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

تبلیغات
ادامه خواندن زیر
نمونه ای از خطای Pairwise نمونه ای از خطای Pairwise

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

بنابراین ، یک خطای جفت در موقعیت های ۱ و ۲ بسیار شدیدتر از خطا در موقعیت های ۹ و ۱۰ است ، و همه موارد دیگر برابر هستند. الگوریتم ما برای هر یک از جفت های نتیجه باید این افزایش (یا از دست دادن) بالقوه را در DCG عامل کند.

تبلیغات
ادامه خواندن زیر

فرایند "آموزش" یک مدل یادگیری ماشین به طور کلی تکرار شونده (و همه خودکار) است. در هر مرحله ، مدل وزن هر یک از ویژگی ها را در جهتی که انتظار دارد بیشترین خطا را کاهش دهد ، وزن دارد.

پیشنهاد ویژه  Google: رتبه بندی برای سایت های جدید می تواند در نوسان است تا یک سال

بعد از هر مرحله ، الگوریتم برای ارزیابی نحوه انجام آن ، ارزیابی مجدد از همه SERP ها (براساس رتبه بندی شناخته شده URL / پرس و جو جفت پرس و جو) را اندازه گیری می کند. بشویید و تکرار کنید.

بسته به میزان داده ای که برای آموزش مدل خود استفاده می کنید ، ساعت ها ممکن است طول بکشد ، شاید روزها طول بکشد تا به نتیجه مطلوبی برسید. اما در نهایت بازگرداندن ۱۰ پیوند آبی که پیش بینی می کند بهترین هستند ، بازهم کمتر از ثانیه طول خواهد کشید.

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

تبلیغات
ادامه خواندن زیر

۵٫ ارزیابی کنید که چقدر خوب عمل کردید

اکنون الگوریتم رتبه بندی خود را داریم که آماده امتحان و آزمایش است. به یاد داشته باشید که ما برخی از داده های دارای برچسب را حفظ کرده ایم که برای آموزش مدل یادگیری ماشین استفاده نشده است.

اولین کاری که می خواهیم انجام دهیم اندازه گیری عملکرد الگوریتم ما در آن "مجموعه تست" است.

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

بیایید یک سناریو کاریکاتور را تصور کنیم که الگوریتم بهترین نتایج را برای هر پرس و جو کدگذاری کند. سپس آن را به طور کامل در مجموعه تمرین ، که می داند بهترین نتایج چیست.

تبلیغات
ادامه خواندن زیر

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

حالا اینجا پیچ است …

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

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

این یک فرض جسورانه است که برای بستن حلقه باید اعتبار سنجی کنیم.

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

حتی این یک سوال مبهم است.

اگر یک پرس و جو تایپ کنید و بعد از ۵ ثانیه بدون کلیک کردن در نتیجه ، ترک کنید ، دلیل این است که پاسخ خود را از زیرنویس ها دریافت کرده اید یا به دلیل این که چیز خوبی پیدا نکردید؟

تبلیغات
ادامه خواندن زیر

اگر روی یک نتیجه کلیک کنید و بعد از ۱۰ ثانیه به SERP برگردید ، این به این دلیل است که صفحه فرود وحشتناک است یا به دلیل این خیلی خوب بود که اطلاعات مورد نظر خود را از یک نگاه به دست آوردید؟

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

منابع بیشتر:

تبلیغات
ادامه خواندن زیر

اعتبار تصویر

تصاویر درون پست: ایجاد شده توسط نویسنده ، مارس ۲۰۱۹

منبع مقاله

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *