Дуже коротко про судове засідання проти Google, де доповідачем був Pandu Nayak — на той час…
Дуже коротко про судове засідання проти Google, де доповідачем був Pandu Nayak — на той час головний по якості пошуку в Google.
Чому воно важливе? Тому що відображає ті зміни, які відбуваються в пошуку зараз, а також допоможе зрозуміти, як працює система корисності контенту і деякі інші, пов'язані з нею системи.
Повний документ потрібно прочитати кожному. Але ось декілька цікавинок:
-
Google досі використовує інвертований індекс як фундамент для пошуку.
-
Коли індекс розростається і заповнюється мусором, Google ініціює оновлення основного алгоритму, щоб зменшити індекс для відповіді на запит до декількох сотень документів. Після цього кожному з тих документів, що потрапили до індексу, присвоюється IR score (оцінка інформаційного пошуку).
-
Основною системою для зменшення індексу і його оцінки є NavBoost, який був інтегрований в алгоритм ще у 2005 році або навіть раніше. Але з того часу зазнав численних змін. У нього є розширення: Glue — яке використовується для всіх компонентів сторінки видачі, а не тільки для блакитних посилань на інші сайти.
-
NavBoost запам'ятовує і аналізує за допомогою машинного навчання всі кліки по всім запитам користувачів за останні 13 місяців (до 2017 р — до 18 місяців). Але є документи, по яким немає кліків, тому це не єдиний фактор для оцінки. Інші фактори: тематичність, PageRank (використовувався раніше), надійність, локальність.
-
Алгоритм, який збирає нам видачу, як ми її бачимо, називається Tangram, а раніше називався Tetris.
-
Перед змінами алгоритму Google їх тестує. Потім асесори оцінюють результати. Потім зміни впроваджуються в пошук. Скор, який присвоюється асесорами, називається IS — information satisfaction — інформаційне задоволення. І він є головним відображенням якості пошуку. Він використовується для тренування інших модулей пошуку і для запровадження змін у алгоритм.
-
Google тримає приблизно 15тис зразків запитів, які постійно оцінюють асесори, і на яких вони експериментують.
-
Для ранжування Google використовує глибоке навчання з 3 основних моделей: RankBrain, DeepRank, RankEmbed BERT. Їх теж тренують на даних з кліків користувачів і запитів за останні 13 місяців. Але оскільки для гугла це як чорна скринька, то весь аналіз вони йому не довіряють, тому що тоді не зможуть контролювати результат — тут великий привіт усім віруючим у неіснуючий рандом!
-
RankBrain тренується на всіх мовах і запитах в усіх локалях. А потім налаштовується за допомогою скора IS (від асесорів). Це дорогий алгоритм, тому його використовують тільки на топ-20-30 результатах пошуку. Він коректує початковий скор (оцінку) результату.
-
RankEmbed було додано пізніше, потім він став RankEmbed BERT. Але все ж таки тренувався на даних кліків і запитів. І налаштовувася скором IS. Він додає документи до вже існуючого індексу.
-
А потім до нього додали DeepRank, який відіграє компліментарну функцію і майже заміщує BERT. Він використовується для розуміння мови. Але його використання ще дорожче, ніж RankBrain, через обчислювальну вартість обробки трансформерів.
-
Велика проблема для Google, яку вони постійно вирішують, — затримка результатів пошуку для користувачів. Команда з UX додає до видачі зображення і різні функції, що призводить до зниження швидкості, за яку відповідає інша команда. Але у той же час для Google вкрай важливо задовільнити потреби користувачів, тому їм постійно доводиться балансувати між UX і затримкою.
-
Тому вони не використовують MUM на проді — вона для цього завелика і повільна. Замість великих важких моделей використовуються маленькі класифікатори.