Пошукова модель повинна бути здатна до «самокалібрування». Тобто вона повинна бути здатна взяти свої алгоритми, їх питому вагу і порівняти змодельовані дані з загальнодоступними пошуковими системами, щоб виявити найбільш точний пошуковий механізм, що дозволяє змоделювати будь-яке середовище.
Однак аналізувати тисячі параметрів, намагаючись знайти найкраще їх поєднання - це астрономічно дорого в плані обчислювальної обробки, а також дуже складно.
Так як же, в такому випадку, створити самокалібуючу пошукову модель? Виходить, єдине, що нам залишається - звернутися за допомогою до... птахам. Так-так, ви не почулися, саме до пернатих!
Оптимізація з використанням рою частинок (PSO)
Нерідко трапляється так, що грандіозні проблеми знаходять найбільш несподівані рішення. Так, наприклад, варто звернути увагу на оптимізацію з використанням рою частинок, яка являє собою метод штучного інтелекту, вперше згаданий в 1995 році і базується на соціально-психологічній поведінковій моделі натовпу. Техніка насправді змодельована на основі концепції поведінки птахів у зграї.
Насправді всі алгоритми, що працюють на правилах, які ми створили сьогодні, як і раніше, не можуть бути використані для пошуку хоча б приблизних рішень найскладніших проблем чисельної максимізації або мінімізації. Зате використовуючи таку просту модель як пташина зграя, ви відразу ж зможете отримати відповідь. Ми не раз чули жахливі прогнози про те, як одного разу штучний інтелект захопить наш світ. Однак в даному конкретному випадку він якраз-таки стає нашим найціннішим помічником.
Вчені займалися розробкою та реалізацією безлічі проектів, присвячених Роєвому інтелекту. Так, у лютому 1998 року був запущений проект «Millibot», раніше відомий як «Cyberscout» - програма, задіяна морською піхотою США. Cyberscout був, по суті, легіоном крихітних роботів, які могли впроваджуватися в будівлю, охоплюючи всю її територію. Здатність цих високотехнічних крох спілкуватися і передавати між собою інформацію дала можливість «рою» роботів діяти як єдиному цілому організму, перетворюючи досить трудомістке завдання з дослідження цілої будівлі в неквапливу прогулянку по коридору (у більшості з роботів була можливість проїхати не більше пари метрів).
Чому це працює?
У PSO дійсно класним є те, що методика не робить рішуче ніяких припущень про ту проблему, яку ви намагаєтеся вирішити. Вона являє собою щось середнє між заснованим на правилах алгоритмі, що намагається виробити рішення, і нейронних мережах штучного інтелекту, які ставлять своєю метою дослідити проблематику. Таким чином, даний алгоритм - це компроміс між дослідницькою та експлуататорською поведінкою.
Не маючи дослідницької природи, цей оптимізаційний підхід, алгоритм, безсумнівно, перетворився б на те, що статистики називають «локальним максимумом» (рішення, яке видається оптимальним, але не є таким насправді).
В першу чергу ви починаєте з ряду «стай» або здогадок. У пошуковій моделі це можуть бути різні вагові коефіцієнти скорингових алгоритмів. Наприклад, маючи 7 різних входів, ви почнете, як мінімум, з 7 різних припущень щодо цих терезів.
Ідея PSO полягає в тому, щоб кожне з цих припущень знаходилося якомога далі від інших. Не вдаючись до 7-мірних розрахунків, ви можете використовувати кілька технік, щоб переконатися, що ваші відправні точки є оптимальними.
Після цього ви почнете розвивати свої здогадки. Під час цього ви будете імітувати поведінку птахів у зграї в ситуації, коли біля них опинилася їжа. Одна з випадкових здогадок (стай) виявиться ближче інших, і кожна наступна здогадка буде скоригована на підставі загальної інформації.
Візуалізація, показана нижче, наочно демонструє даний процес.
Реалізація
На щастя, існує цілий ряд можливостей для реалізації даного методу в різних мовах програмування. І найпрекрасніше в оптимізації з використанням рою частинок те, що її легко втілити в реальність! Техніка має мінімум параметрів налаштування (є показником сильного алгоритму) і дуже невеликий список недоліків.
Залежно від вашої проблеми, реалізація задумку може опинитися в локальному мінімумі (не є оптимальним рішенням). Ви можете легко виправити це шляхом впровадження топології сусідства, яка швидко зведе цикл зворотного зв'язку до кращих з прилеглих припущень.
Основна частина вашої роботи буде полягати в розробці «пристосуванчої функції» або алгоритму ранжування, який ви будете використовувати для визначення ступеня близькості до цільової кореляції. У нашому випадку з SEO ми повинні будемо співвідносити дані з певним заданим об'єктом на зразок результатів Google або будь-якої іншої пошукової системи.
Якщо у вас є працююча скорингова система, ваш алгоритм PSO буде намагатися максимізувати показники через трильйони потенційних комбінацій. Скорингова система може бути такою ж простою, як виконання кореляції Пірсона між вашою пошуковою моделлю і результатами пошуку користувачів мережі. Або ж вона може стати такою ж складною, як одночасне задіяння цих кореляцій і присвоєння балів кожному конкретному сценарію.
Кореляція щодо «чорної скриньки»
Останнім часом багато сео-оптимізаторів намагаються виконувати кореляцію щодо «чорного ящика» Google. Ці зусилля, звичайно, мають право на життя, проте є все ж досить марними. І ось чому.
По-перше, кореляція не завжди передбачає наявність причинно-наслідкового зв'язку. Особливо якщо точки входу до вашої чорної скриньки розташовуються не дуже близько до точок виходу. Давайте розглянемо це на прикладі, коли точки входу розташовуються дуже близько до відповідних їм точок виходу - бізнес з перевезення морозива. Коли на вулиці тепло, люди купують більше морозива. Тут легко побачити, що точка входу (температура повітря) тісно прив'язана до точки виходу (морозиво).
На жаль, більшість сео-оптимізаторів не використовують статистичну близькість між своїми оптимізаціями (входами) і відповідними їм пошуковими результатами (виходами).
Більш того, їх входи або оптимізації знаходяться перед компонентами обходу в пошуковій системі. Фактично типова оптимізація повинна пройти через 4 рівні: обхід вмісту, індексування, скоринг і, в кінцевому підсумку, рівень запиту в реальному часі. Спроба кореляції подібним способом не може дати нічого крім марних очікувань.
Насправді, Google забезпечує істотний коефіцієнт шуму, подібно тому, як уряд США створює шум навколо своєї мережі GPS, в силу чого цивільні особи не мають можливість отримувати такі ж точні дані як військові. Це називається рівнем запитів у реальному часі. І цей пласт стає серйозним стримуючим фактором для тактики SEO-кореляції.
Як приклад тут можна навести садовий шланг. Перебуваючи на скоринговому шарі пошукової системи, ви отримуєте погляд компанії на те, що відбувається навколо. Вода, що виходить з садового шланга, організована і передбачувана - тобто ви можете змінити положення шланга і передбачити відповідну зміну руху потоку води (результати пошуку).
У нашому випадку шар запитів розпорошує цю воду (результати пошуку) в мільйони крапель (варіації результатів пошуку), що залежать від користувача. Більшість алгоритмів, що змінюються сьогодні, виникають на основі рівня запитів з тим, щоб для тієї ж кількості користувачів зробити більшу кількість варіацій пошукових результатів. Алгоритм Колібрі від Google є одним з прикладів. Зрушення на рівні запитів дозволяють пошуковим системам генерувати більше торгових майданчиків для своїх PPC-оголошень.
Рівень запитів - це погляд користувачів, а не компанії на те, що відбувається. Отже, кореляції, виведені таким чином, будуть вкрай рідко мати причинно-наслідкові зв'язки. І це за умови, що ви маєте один інструмент, щоб знаходити і моделювати дані. Як правило ж, сео-оптимізатори використовують цілий ряд вхідних даних, що сприятиме підвищенню шумів і зниженню ймовірності пошуку причинно-наслідкового зв'язку.
Пошук причинно-наслідкових зв'язків в SEO
Щоб отримати кореляцію для роботи з моделлю пошукової системи потрібно якомога значніше затягнути входи і виходи. У моделі пошукової системи вхідні або змінні дані повинні знаходитися в скоринговому шарі або над ним. Як це зробити? Ми повинні розбити чорну скриньку пошукової системи на ключові компоненти, а далі побудувати модель пошуковика з нуля.
Оптимізувати виходи навіть складніше в силу жахливих шумів, що виникають через шар запитів у реальному часі, який за рахунок кожного користувача створює мільйони варіацій. Як мінімум, нам потрібно буде зробити такі входи для нашої моделі пошукової системи, які будуть розташовуватися перед звичайним шаром з варіаціями запитів. Це гарантує, що хоча б одна і порівнюваних сторін стабільна.
Побудувавши модель пошукової системи з нуля, ми зможемо відображати результати пошуку, що йдуть не від рівня запитів, а прямо від скорингового шару. Це дасть нам більш стабільний і точний взаємозв'язок між входами і виходами, які ми намагаємося співвіднести. І тоді завдяки цим міцним і показовим зв'язкам між входами і виходами кореляція стане відображати причинно-наслідковий зв'язок. Зробивши акцент на одному вході, ми отримаємо прямий зв'язок з тими результатами, які ми бачимо. Потім ми зможемо зробити класичний seo-аналіз, щоб визначити варіант оптимізації, який буде вигідний для наявної моделі пошукової системи.
Підсумки
Ситуації, коли якась проста річ у природі призводить до наукових відкриттів або технологічних проривів не може не захоплювати. Маючи модель пошукової системи, яка дозволяє нам відкрито з'єднати скорингові входи з не персоналізованими результатами пошуку, ми можемо пов'язати кореляцію з причинно-наслідковим зв'язком.
Додайте до цього оптимізацію методом рою частинок, і ви маєте технічний прорив - самокалібуючу пошукову модель.
