قسمت اول ویدیو آموزشی “سئو نکست لول” با عنوان نفرین موتورهای جستجو با استنباط از سرنخهای موجود از اسناد لو رفته گوگل (Google Content Warehouse) و طبق شهادتهای NavBoost در دادگاه امریکا و گوگل (مانند یادداشتهایی از Pandu Nayak و اظهارات مهندسان گوگل) هرچند یافتهها اندک هستند، اما در ابتدا به بررسی مبحث کلاسیک “نفرین ابعاد” و ضرورت هرس کردن (Pruning) دادههای سطح وب پرداخته شده است.
– در این سری ویدیو آموزشی بابت پرهیز از ایجاد پیچیدگی غیر ضروری، بسیاری موارد را بصورت ادغام شده یا با سادهسازی (بیان بصورت مفهومی) ارائه میدهیم. برای مثال فعلا در استیجهای مختلف به روشهای تشخیص آنومالی و دیتکشن ورود نمیکنیم مانند چیزی که در انتهای ویدیو بایاس در SEO توضیح داده شد.
– یا برای مثال دادهای لو رفته شامل 14000 فیلد که شامل metadata، signals، و data-structures است و بخشی از آنها آنها ورودی مدلهای یادگیری رتبهبندی (LTR) است. اما برای جا افتادن موضوع در این مقطع صرفا به توضیح مفهوم فیچر بسنده شده است.
– یا اینکه در توضیح خلاصه روشهای بیرونی (explainers، آزمایشها و telemetry)، گوگل در مقیاس خودش از internal feature selection frameworks (مثل FEX و AutoML ranking pipeline) استفاده میکند.
– یا در بحث پایپلاین یادگیری گوگل، از ورود به مبحث Supervised Learning که نتیجه ورکبنچهای دیتا کمپیوت و فعالیت ریترهاو… است فعلا پرهیز کردهایم.
-> هرچند در این مسیر آموزشی تلاش میکنیم که نگاهی عمیقتر به ماهیت سیستمی مانند گوگل داشته باشیم، اما امیدواریم که این سادهسازی باعث اشتباه، یا سادهانگاری بیش از حد دوستان و همراهان ما نشود ❤️
در این محتوا خواهیم آموخت که هرس کردن در پایپلاین یادگیری ماشین گوگل در این دستهبندی آموزشی در 7 سطح (Stage) متفاوت و 3 دسته کلی انجام میپذیرد شامل: هرس کردن در سطح صفحات، هرس کردن در سطح کاندیداها و هرس کردن در سطح ویژگی.
این ویدیو با تدریس مهندس صلاح ظهرابی، مقدمهای بر یادگیری مباحث پیشرفته سئو و شناخت مهندسی گوگل با پرسپکتیو اصول بنیادین علم داده و یادگیری ماشین «ML» است.
مباحثی مانند تعریف جعبه سیاه در موضوع سئو و تحلیل رفتار گوگل، تعریف ماهیت هرس کردن ایندکس که بصورت معمول به عنوان جریمههای گوگل شناخته میشود. همچنین در این آموزش به تفکیک رفتار مدلهای یادگیری ماشین و هوشمصنوعی پرداخته شده است که معمولا متخصصین سئو آنها را به عنوان الگوریتم توضیح میدهند.
نفرین ابعاد یا Curse of Dimensionality چیست؟
نفرین ابعاد مفهومی است که به یکی از چالشهای اساسی و پیچیدگیهای تحلیل و سازماندهی دادهها در حوزه یادگیری ماشین اشاره دارد. هنگام تحلیل و سازماندهی دادهها در ابعاد بالا (بیش از 100 بعد)، با افزایش فیچرها (ویژگیها) حجم دیتای ایجاد شده به صورت تصاعدی افزایش مییابد؛ چالش اصلی زمانی شروع میشود که بخواهیم این دادهها را پردازش و طبقهبندی کنیم.
Curse of Dimensionality را میتوان نفرین موتورهای جستجو نیز دانست چرا که موتورهای جستجوی با حجم عظیمی از اسنادی مواجه هستند که برای سازماندهی و طبقهبندی آنها، به ازای هر کدام، فیچرهای ترکیبی و فشرده و حتی متا فیچر (مانند آرتیفکتها) را نیز تولید میکند. در افشاگریهای دادگاه آمریکا و گوگل مشخص شد که ایندکس گوگل تا سال 2020، شامل 400 میلیارد برگه و سند است. همچنین مطابق دادههای لیک شده از یاندکس، دیدیم که گوگل برای رتبهبندی برگهها از بیشتر از 17000 فاکتور و فیچر (چه فعال و چه غیرفعال) استفاده میکند. حال این تعداد ویژگی رو در مقیاس 400 میلیارد اینکس گوگل تصور کنید! این همان نفرین ابعاد برای موتورهای جستجو است.
تعریف جعبه سیاه در پایپلاینهای یادگیری ماشین
مدل جعبه سیاه در یادگیری ماشین به عنوان یک سیستم مبهم شناخته میشود که عملکرد داخلی آن به راحتی قابل دسترس و تفسیر نیست. جعبه سیاهها براساس دادهای ورودی پیشبینی میکنند، اما فرایند تصمیمگیری و استدلال پشت آنها برای کاربران شفاف نیست. مدلهای جعبه سیاه 2 نوع هستند، گروه اول مدلهایی هستند که سازندگان سیستم دقیقاً میدانند که چگونه کار میکند، اما کد منبع و فرآیند تصمیمگیری در آنها توسط سازندگان با هدف حفظ مالکیت معنوی، مخفی شده است.
اما گروه دوم مدلهایی هستند که به دلیل فناوریهای پیشرفته و پیچیدگی بالای آنها، به صورت طبیعی به جعبه سیاه تبدیل میشوند، این دسته از مدلهای جعبه سیاه را «جعبه سیاه ارگانیک» مینامند. فرایند تصمیمگیری در این نوع از مدلهای جعبه سیاه به صورت عامدانه توسط سازندگان مبهم نشده، بلکه سیستمهای یادگیری عمقی که این مدلها براساس آنها طرح ریزی شدهاند به قدری پیچیده هستند که حتی خود سازندگان نیز نمیدانند درون آنها دقیقا چه اتفاقی رخ میدهد.
مجرای واقعی گوگل در سطح پروداکشن و چگونگی عملکرد آن در نوع خود یک جعبه سیاه است، اما نه یک جعبه سیاه معمولی بلکه مجموعهای از جعبه سیاهها که به صورت آبشاری به یکدیگر متصل هستند. این موضوع 2 دلیل اصلی دارد:
1: پیچیدگی مقیاس (Scale Complexity):
اینکه هیچ فردی به تمام اجزای سیستم مسلط نیست.
2: پیچیدگی مدل (Model Complexity):
رفتار مدلهای یادگیری عمیق، به ویژه در تعامل با یکدیگر، یک رفتار نوظهور (Emergent Behavior) است که پیشبینی قطعی آن غیر ممکن خواهد بود. چون وزن یک ویژگی، یک عدد ثابت نیست، بلکه تابعی از کوئری، کاربر، زمینه و چندصد متغیر دیگر است، تفسیر آن منوط به ابزارهای تفسیرپذیری (Explainability Tools) است.
مفهوم جعبه سیاه بیانگر این است که در سیستمی مانند گوگل حتی مدیران و مهندسین گوگل نیز برای فهم رفتار این موتور جستجو از روشهای بیرونی مانند telemetry و explainers استفاده میکنند.
دلایل و ضرورتهای هرس کردن «Pruning» در سیستم گوگل
هماینطور که پیشتر نیز اشاره کردیم، موتور جستجوی گوگل درگیر نفرین ابعاد است؛ 400 میلیارد برگه و سند ایندکس شده که مطابق دادههای لیک شده از خود گوگل 14000 ویژگی برای هر یک از آنها تعریف شده است. اگر در یک مثال خیلی ساده درنظر بگیریم که فقط 5 درصد از این ویژگیها فعال باشند، مواردی مانند hostAge و goodClicks و اندازه فونت انکر تکست و… به عددی حدود 700 فیچر به ازای هر سند خواهیم رسید که محاسبه و درنظر گرفتن همه آنها برای هر مدل رتبه بندی موجب بیشبرازش (Overfitting) مدل خواهد شد. علاوه بر این موضوع، هرس کردن در سیستم گوگل دو دلیل اصلی دیگر نیز دارد:
- هزینه زمان آموزش (Training Time Cost): هزینه مدت زمانی که یک مدل روی مجموعه دادهها در حال یادگیری است.
- هزینه زمان پاسخدهی (Serving Time Cost): هزینه محاسباتی برای استفاده از ویژگی در لحظه پاسخ به کوئری.
پس در سیستمهایی مثل گوگل که مقیاس بزرگی دارند، هر ویژگی هزینهای دارد. بعضی از این فیچرها مانند PageRank ارزان هستند چون به سادگی قابل محاسبه هستند اما برخی دیگر از فیچرها که سمت تحلیل عمیق محتوای صفحه در لحظه هستند، هزینه محاسباتی بالایی دارند.
براساس این دلایل میتوان ضرورت هرس کردن (Pruning) در سیستم گوگل را درک کرد. ضرورت هرس کردن، مهندسان گوگل را مجبور میکند تا دائما تناسب میان قدرت پیشبینی کنندگی واریانسهایی که یک فیچپر میتواند توضیح دهد را با هزینه محاسباتی در نظر بگیرند. این قضیه از دید مهندسی نرمافزار نوعی معادله Engineering Trade-offs است.
اصل GIGO چیست؟
اصطلاح GIGO مخفف شده عبارت «Garbage in, garbage out» است و بیانگر این واقعیت در علم کامپیوتر است که ورودی بیکیفیت منجر به خروجی بیکیفیت خواهد شد. مثال این موضوع را میتوانیم در 8 یا 9 سال پیش بیابیم زمانی که سرپ گوگل از وبسایتهای اسپم پر شده بود؛ سایتهایی که صرفا ترکیبی از محتوای بقیه وبسایتها را با آیفریم نمایش میدادند یا در سالهای گذشته که هر برگه با بیشترین تعداد بکلینک میتوانست در نتایج اول گوگل به نمایش در بیاید. در واقع آنچه امروزه در بروزرسانیهای الگوریتمی گوگل رخ میدهد و باعث افت رتبه یا جریمه شدن (خارج شدن سایتها از لیست ایندکس گوگل) برخی سایتها میشود، نوعی هرس کردن دامنههای بیکیفیت است.
انواع هرس کردن در پایپلاینهای سیستم گوگل کداماند؟
به صورت کلی Pruning سمت گوگل طبق بررسیها و یافتههای اندک ما در این سری آموزش، در سه دسته کلی و 7 استیج انجام میشود. بخش عمده هرس کردن سیستم گوگل در پایپ لاین رنکینگ، بعد از ارزیابی اولیه سایت یعنی در دسته اول و استیجهایی ابتدایی اتفاق میافتد. سه دسته عمومی هرس کردن گوگل عبارتاند از:
دسته اول: هرس کردن در سطح برگهها «document-level»
هرس کردن در دسته اول بیشتر در لایههای Crawling و Indexing انجام میشود و مربوط به سیاستهای ایندکس گذاری گوگل است. به عنوان مثال میتوان به بخش Excluded در گوگل سرچ کنسول اشاره کرد که این هرس کردن رو همراه با دلایل لیست کرده است. یا زمانی که قوانین کپی رایت را برای یک برگه رعایت نکرده باشید و گزارش لومن دیتا بیس برای آن رد شده باشد، این برگه اینکس خواهد ماند اما تمامی نتایج گوگل به ازای همه کوئریهایی که کاندید رتبه بندی و رنکنیگ بوده، حذف خواهد شد.
دسته دوم: هرس کردن کاندیدهای پاسخ برای یک کوئری (candidate-level)
این مرحله هرس کردن، قلب معماری چندمرحلهای گوگل است، جایی که به قیف رتبه بندی چندمرحلهای (Multi-stage Ranking Funnel) معروف است. در این سطح گوگل همچنان در ابتدای راه رتبهبندی قرار دارد و طی مرحلهای تحت عنوان بازیابی کاندیدا (Candidate Retrieval) سایتهای با پتانسیل بالقوه برای رتبهبندی را جدا نموده سپس از بین آنها باز رتبهبندی اولیه اتفاق میافتد. جالب است بدانید بخش عمده استراتژیهای سئو در این سطح تاثیر گذار هستند.
دسته سوم: هرس کردن ویژگیها (feature-level)
هرس کردن ویژگیها که در یادگیری ماشین به آن feature selection میگویند سطحی است که در آن گوگل از بین هزاران ویژگی احتمالی، تصمیم میگیرد که کدام فیچرها در آموزش مدل (training) و سلکت کردن نتایج جستجو (inference) مورد استفاده قرار بگیرند. این کار از overfit شدن مدلها جلوگیری میکند. هرس کردن ویژگیها یک اصطلاحا یک تصمیم باینری است چرا که وضعیت یک ویژگی از دو حالت خارج نیست: یا تاثیر گذار است یا غیر تاثیر گذار.
استیج اول هرس کردن: Fetch & Crawl filters
این استیج اولین و بیرحمانهترین خط دفاعی گوگل در برابر صفحات GIGO است که میتوان آن را با نام هرس پیش از ایندکس (Pre-Indexing Pruning) شناخت. در این مرحله گوگل تنها وضعیت سلامت URL را بررسی میکند و اهمیتی به محتوای صفحه یا اعتبار سایت نمیدهد؛ تنها مسئله گوگل در این مرحله این است: آیا این آدرس (URL) از نظر فنی سالم و قابل پردازش است؟ اگر جواب مثبت باشد، برگه به مرحله بعدی هرس کردن وارد میشود، اما اگر پاسخ منفی باشد، این برگه حتی فرصت ورود به زمین رقابتها را پیدا نخواهد کرد. به بیان سادهتر، پیششرط مطلق برای ورود به سایر مراحل، داشتن یک URL سالم و قابل پردازش برای گوگل است که گوگل آن را در لیست ایندکس خود قرار دهد.
چه چیز «هرس» میشود؟
هدف هرس
چه اتفاقی میافتد
تکنیکها / الگوریتمهای مرسوم
طبق چه چیزی
مشاهده
SEO Approach
چه چیزی در استیج اول هرس میشود؟
در این نوع pruning، گوگل صفحاتی را حذف میکند که از نظر فنی غیرقابل استفاده هستند که شامل استاتوسهای 404 یا 410، یا صفحات مسدودشده با robots.txt، متاتگ noindex، حلقههای طولانی یا بیپایان ریدایرکت (Redirect Loops)، و فایلهای حجیم یا غیرقابل پردازش (مثلاً PDF یا HTML بسیار سنگین).
هدف از هرس کردن پیش از ایندکس (Pre-Indexing Pruning) چیست؟
هدف اصلی از استیج اول هرس کردن گوگل، جلوگیری از ورود برگههای آشغال «garbage URLs» به لیست ایندکس گوگل است تا از هدررفت منابع ذخیرهسازی و پردازش (مثلاً RAM یا CPU برای parsing و ranking) در مقیاس میلیاردی آدرسهای اینترنتی جلوگیری کند.
در استیج اول دقیقا چه اتفاقی میافتد؟
سیستم گوگل در زمان crawl یا fetch، با بررسی وضعیت HTTP، تفسیر robots.txt و meta robots، بررسی استاتوس کدها (Status Codes) مانند خطای 4xx یا 5xx صفحات را پیش از indexing هرس میکند. این مرحله با نام نیز “fetch-time validation” شناخته میشود. همچنین حتی اگر کندی بیش از حد سرور (Excessive Server Latency) نیز رخ دهد، و کرالر پاسخ timeout دریافت کند، برگه در استیج اول هرس خواهد شد.
سیگنالهای مهم استیج اول در سطح سئو
در سطح سئو، این نوع pruning معمولاً با شاخصهای زیر قابل مشاهده است:
- افزایش خطاهای crawl (در Search Console)
- کاهش نرخ crawl موفق (crawl success rate)
- تفاوت بین URLهای sitemap و URLهای ایندکسشده که میتوانیم (sitemap coverage gap) هم بهش بگیم.
این موارد نشانههای مستقیم حذف، قبل از ایندکس هستند.
راهکارهای بهینهسازی استیج اول
راهکارهای بهینهسازی سایت برای استیج اول شامل:
- اصلاح فایل robots.txt و اطمینان از crawl مجاز برای صفحات هدف.
- حل خطاهای سرور و ریدایرکتها.
- حذف صفحات زامبی (صفحات قدیمی، بدون هدف یا تکراری).
این کار باعث میشود بودجهی crawl روی صفحات مفیدتر مصرف بشه و از نظر اپروچ، توی دسته بهینه سازی کرال بادجت قرار میگیره.
استیج دوم هرس کردن: Indexing / Document-level processing
استیج دوم به نوعی روح الگوریتم پاندا است که به میتوانیم آن را “هرس در سطح ایندکسگذاری و محتوا” (Indexing/Content-Level Pruning) بنامیم.
چه چیز «هرس» میشود؟
هدف هرس
چه اتفاقی میافتد
تکنیکها / الگوریتمهای مرسوم
طبق چه چیزی
مشاهده
SEO Approach
چه چیزی در استیج دوم هرس میشود؟
هدف اصلی این استیج جلوگیری از ورود محتوای کمارزش یا تکراری (Thin Content) شامل: doorway pages، URLهای کماعتبار و صفحاتی با محتوای تکرارشده بین دامنهها یا زیرصفحهها به ایندکس، صرفهجویی در منابع پردازش، و ساخت شاخصهای فشرده (compressed indexes) در سطح سند و سایت برای کنترل کیفیت محتوا است. استیج دوم همچنین از “رقیق شدن” سیگنالهای رتبهبندی (مثل بکلینکها) در میان چندین URL مشابه جلوگیری میکند.
در استیج دوم چه اتفاقی رخ میدهد؟
در استیج هرس کردن در سطح ایندکس گذاری و محتوا، سیستم استخراج متن (text extraction) و deduplication (مثل MinHash و shingling) محتوای مشابه را تشخیص داده و با canonical کردن یک نسخه از آن، بقیه اسناد را به زیر شاخه آن تبدیل میکند. در ادامه نیز دادههای سختار یافته نیز استخراج خواهند شد تا سیگنالهایی مانند siteAuthority و originalContentScore ایجاد شوند.
تکنیکها و الگوریتمهای مرسوم
الگوریتمها و تکنیکهایی که در این استیج مورد استفاده قرار میگیرند به صورت کلی عبارتاند از:
- shingling برای تشخیص شباهت اسناد
- language detection برای شناسایی زبان تکرار شده
- aggregation/quantization برای فشردهسازی سیگنالها
- feature hashing برای ساخت شاخصهای سبک وزن داخل ایندکس
شواهد فنی و حقوقی از استیج دوم
در اسناد لیکشده (Mustang docs) آمده است که در فاز retrieval اولیه، ایندکس شامل هر دو نوع واژهای و برداری است، و دادههای dedup آن دیجپلیکیشن که اشاره شد از همین dedup یا حذف تکرار میآید. compression یا همان فشرده سازی بجای حذف کردن توی per-doc fields نگهداری میشوند تا کیفیت و اصالت محتوا در مراحل بعدی لحاظ شود.
بینش SEO به استیج دوم هرس کردن گوگل
- افزایش یا کاهش ناگهانی در Coverage Report سرچ کنسول (بهویژه Duplicate without user-selected canonical)
- مشاهده کاهش Impression در صفحاتی با محتوای سیمیلار یا URLهای پارامتری
- افزایش یا کاهش Crawl frequency در بخشهایی از سایت (نشانهی حذف یا فشردهسازی ایندکستونه)
نکات بهینهسازی برای استیج دوم
- اجرای Canonicalization دقیق برای نسخههای تکراری (self-canonical + cross-domain)
- حذف Zombie Pages (صفحات بدون Impression یا Click)
- افزودن Structured Data و Unique Value Sections در صفحات مشابه برای افزایش امتیاز originality
- مانیتورینگ Coverage و Duplicate URLs در سرچ کنسول
