Палех
Палех - поисковый алгоритм компании Яндекс, запущенный в ноябре 2016 года. Его основная задача - улучшение качества ответов на редкие и уникальные запросы (так называемый "длинный хвост") за счёт использования технологий нейронных сетей и семантического анализа.
В отличие от предыдущих алгоритмов, которые опирались на наличие ключевых слов в тексте страницы, «Палех» позволяет Яндексу находить смысловые соответствия между запросом и содержимым страницы, даже если в них нет ни 1 общего слова.
Происхождение названия
[править]График частотного распределения поисковых запросов в Яндексе традиционно представляют в виде птицы:
- Клюв - самые популярные, высокочастотные запросы (их мало, но задают очень часто)
- Туловище - запросы средней частотности
- Длинный хвост - огромное количество низкочастотных и уникальных запросов, которые по отдельности встречаются редко, но в сумме составляют существенную часть поискового трафика
Такой хвост есть у сказочной Жар-птицы, которая часто изображается на палехских миниатюрах (народный промысел, лаковая миниатюра из города Палех). Отсюда алгоритм и получил своё название.
Предпосылки появления
[править]Каждый день поиск Яндекса обрабатывает около 280 миллионов запросов. Примерно 100 миллионов из них - уникальные, то есть такие, которые задают 1 раз и больше никогда не повторяются.
Проблема с редкими запросами в том, что по ним практически отсутствует поведенческая статистика. Для популярных запросов Яндекс знает, на какие страницы пользователи переходят чаще, сколько времени там проводят, возвращаются ли в поиск. Для редких запросов такой статистики нет, и раньше поисковику было сложно понять, какие страницы действительно соответствуют запросу.
Кроме того, смысл запроса и страницы может быть выражен по-разному. Пользователь ищет «фильм про человека, который выращивал картошку на другой планете», а в заголовке страницы написано «Марсианин» - общих слов нет, но смысл 1.
Технология работы
[править]В основе алгоритма «Палех» лежит метод семантических векторов и нейронные сети.
Перевод в числа
[править]Компьютерам проще работать с числами, чем с текстом. Нейросеть «Палеха» была обучена переводить заголовки веб-страниц в наборы чисел - векторы размерностью 300 чисел. Каждая страница получает свои координаты в трёхсотмерном пространстве.
Точно так же в вектор переводится и поисковый запрос. После этого система сравнивает, насколько близко расположены векторы запроса и страницы. Чем ближе - тем лучше страница подходит в качестве ответа.
Обучение нейросети
[править]Обучение проходило на огромном количестве пар «запрос - заголовок». Использовались как положительные примеры (где пользователи действительно переходили по ссылке), так и отрицательные.
Применялась специальная техника обучения - hard negative mining, когда система учится на самых сложных негативных примерах, которые она сама сначала ошибочно считала хорошими.
Понимание смысла без общих слов
[править]Ключевое достижение алгоритма - способность устанавливать семантическое соответствие даже при полном отсутствии общих слов. Например:
- Запрос: «келлская книга»
- Заголовок страницы: «ирландские иллюстрированные евангелия vii viii вв»
С точки зрения обычного поиска по ключевым словам эти 2 текста никак не связаны. Нейросеть же способна «понять», что речь об одном и том же.
Примеры работы
[править]Алгоритм особенно эффективен для 2 типов запросов:
Детские запросы
[править]Дети часто обращаются к поиску как к живому собеседнику:
- «дорогой яндекс посоветуй пожалуйста новые интересные игры про фей для плантика»
Поиск по описанию
[править]Люди ищут название фильма, книги или музыки по запомнившемуся эпизоду:
- «фильм про человека который выращивал картошку на другой планете» → «Марсианин»
- «фильм где физики рассказывали даме про дейтерий» → «9 дней 1 года»
Место в экосистеме Яндекса
[править]«Палех» стал одним из первых алгоритмов Яндекса, активно использующих нейросети для понимания смысла. Он заложил основу для дальнейшего развития семантических технологий, которые позже были применены:
- В поиске по картинкам (более точный подбор изображений под текстовые запросы)
- В модерации рекламных объявлений
- В фильтрации взрослого контента
- В распознавании речи
В дальнейшем технологии семантических векторов развивались в алгоритмах «Королёв» и «ВЕГА», которые уже учитывают не только заголовки, но и полные тексты страниц.
Значение для вебмастеров
[править]Для владельцев сайтов появление «Палеха» означало, что:
- Стало важнее писать тексты, полно и глубоко раскрывающие тему, а не просто набивать ключевые слова
- Появился шанс получать трафик по очень редким запросам, даже если в тексте нет точных формулировок
- Выросла ценность качественного контента, отвечающего на реальные вопросы пользователей
