Розглянемо документ від Google щодо MUVERA, тому що в інших SEO-каналах про нього здебільшого…
Розглянемо документ від Google щодо MUVERA, тому що в інших SEO-каналах про нього здебільшого пишуть якусь дичину. І хоча нічого корисного для вас в ньому немає, все одно подивимось, щоб було зрозуміліше, як працює Google. І будь ласка, не читайте і не пишіть про векторне семантичне ядро і подібну ахінею, не ганьбіться аж настільки 🤦🏿♀️. І взагалі не пишіть про те, чого не розумієте, тому що таким чином ви завдаєте більше шкоди нашій індустрії.
Останній блог-пост від Google Документ на arxiv Анонс про нього ще рік тому на Google Research
Дуже спрощено для загального розуміння, почнемо здалеку:
-
Пошук за ключовим словом у Google на початку його становлення відбувався за алгоритмом BM25. Ви пишете набір слів, Google дивиться, де усі ці слова згадуються найчастіше, і ранжує їх за цим принципом. Чим частіше ці слова є на сторінці, тим вона релевантніша і тим вище буде у пошуку.
-
Але. Ніхто не хоче ранжувати результати просто за ключовим словом, тому що тоді можна напхати на сторінку купу ключових слів і заранжувати її по жирних запитах. Google хоче застосовувати інші сигнали. Ось у нього є сторінки, які нібито релевантні до запиту, він хоче надати користувачу найкорисніші. І застосовує інші сигнали. Цей процес називається ReRanking — реранжування.
-
Ще одне але. Якщо на сторінці не використовують задане ключове слово, а якесь інше, то ви не зможете знайти ці результати за пошуком по ключовому слову. Ось тут вам знадобляться (векторні) ембедінги.
-
Ви це вчили в школі, але вже можливо забули, тож повторимо: ембедінги це 2 числа у векторному просторі (ось x і y), які відображають значення слова. Іноді значення всієї фрази, якщо вона якась дуже розповсюджена, наприклад, є ембедінги речень: як справи? - хоч тут 2 слова, за допомогою відповідних алгоритмів ембедінгу, це може бути 1 ембедінг. і він буде семантично дуже близьким до: ти як?
-
Векторний пошук за допомогою ембедінгів дозволяє знайти релевантні результати, які необов'язково використовують ваше ключове слово, але повністю і найкраще відповідають вашому запиту. Цьому алгоритму сто років в обід. Ну реально. Про вектори ще Декарт писав. Знаєте, коли жив Декарт? У XVII сторіччі.
-
Релевантність у векторному просторі означає, що запит і відповідь знаходяться найближче один до одного і найбільш схожі за значенням. Слава Україні! -> Героям слава!
-
Текст, який Google хоче видавати у результатах пошуку або відповідях AI, фрагментується за певним алгоритмом. Англійською це називається chunking. Скоріш за все раніше Google використовував USE і фрагментував до крапки. Потім чанки/фрагменти розширилися до абзаців. Точно не можу сказати, як саме фрагментують зараз. Можливо, залежіть від ніші і гео.
-
Google використовує лібу ScaNN — scalable nearest neighbor — щоб надати результати, найближчі до запиту користувача. І після цього використовується ReRanking/реранжування, про яке ми вже згадували.
-
Під час реранжування використовується новий PageRank, кількасот інших сигналів і можливо, що через деякий час, також MUVERA.
-
MUVERA коштує дуже дорого для Google, тому буде застосовуватись тільки під час реранжування для визначення найбільш релевантного результату до запиту користувача.
-
Якщо раніше запит користувача отримував одну мітку і пошук найбільш релевантного результату відбувався за цією однією міткою, то з MUVERA кожне слово у запиту і у результатах пошуку отримує свою власну мітку. Але швидкість відповіді зберігається на тому самому рівні. Це дозволяє більш релевантно відповісти на більш складні запити користувача, знайшовши документи, які будуть відповідати на всі частини запиту, а не агреговано на весь запит одразу.
-
Наприклад. Такий запит: смартфон з найкращою камерою дешевше 500 $ і норм батарейкою. До MUVERA найкращою сторінкою був би якийсь блог, де детально розповідається про круту камеру якогось телефону, але не дуже зрозуміло, скільки він коштує і що там з батарейкою. Після MUVERA Google зможе знайти відповіді на усі частини запиту, і запропонує ту сторінку або відповідь в AI, де враховані усі ці частини.
Ну і як ви це плануєте оптимізувати?