Два дня назад крупнейший российский маркет-мейкер — поисковый сервис Яндекс сообщил о том, что он вводит в действие новый способ определения рейтнигов веб-страниц — алгоритм ранжирования Королев.
Новая разработка заменит не совсем удачный «Палех». Авторы уверяют, что теперь они используют технологию нейронных сетей, с помощью которой поисковик будет искать материалы «по смыслу» их содержания, а вовсе не по признаку наличия в них ключевых слов, отвечающих запросу пользователя, как это было раньше. Заявлено также, что изменения коснулись не только собственно алгоритма определения релевантности, но и общей архитектуры базы данных индекса.
Чем отличатся «Королев» от «Палеха»?
Действительно чем? Ведь при введении последнего Яндекс тоже рассказывал о нейронных сетях и вычислении уровня релевантности. Главное отличие в том, что год назад поисковик научили отыскивать смысловое только между запросом и заголовком страницы, и фактически он вообще не брал в расчет того, что на этой станице было написано. В результате, поиск отбрасывал огромное число высокорелевантных публикаций, авторы которых которых не позаботились о том, чтобы в заголовках были нужных для высокого рейтинга данные.
Понятно, что для более точного отыскания требуемых пользователю материалов требуется тщательно анализировать не только заголовок, но и весь текст на страницах. Но это было бы решением не только не простым и не дешевым, но и весьма длительным, если выполнять такой анализ в реальном времени.
На это раз программисты Яндекса пошли на радикальные меры. Было решено выполнять предварительно вычисление в профиля релевантности каждого документа еще на этапе его индексации и сохранять полученную таким образом информацию. Тогда при отработки очередного поискового запроса системе более не нужно анализировать документ, достаточно достать из базы сохраненный ранее его векторный профиль и сравнить с тем, что ищет клиент. Говорят, что это решение позволило поисковику отыскивать для каждого запроса до 200 тысяч релевантных материалов
Как работает алгоритм ранжирования Королев
Разрабатывая новое поисковое решение команда программистов выбрала для себя главное правило — скорость. Пользователь не должен ждать. Поэтому в новом алгоритме процесс выбора лучших соответствий на веб-страницах происходит не в момент поиска, а намного раньше — на стадии индексации.
За основную концепция при создании алгоритма была взята следующая мысль. Пусть у вас есть поисковый запрос, состоящий из нескольких отдельных слов. Если для каждого из этих слов или словосочетаний подобрать набор наиболее релевантных документов, то среди найденных публикаций обязательно найдутся тексты, которые будут релевантны для всех запрошенных в поиске слов.
Звучит не очень понятно? На самом деле, похоже, что Яндекс формирует отдельные индексы («множества»)для всех слов, которые мы ищем в интернет, а также для наиболее популярных их сочетаний. А затем будет просто отыскивать и выводит в выдаче страницы, оказавшиеся одновременно в нескольких индексах. Помните про «пресечения множеств» из школьной математики?
В результате, большая часть расчетов уйдет в оффлайн, что намного ускорит обработку поисковых запросов.