Компания «Яндекс» объявила о запуске новой версии своего поиска на основе алгоритма «Королев», названного в честь советского конструктора Сергея Королева. Алгоритм использует нейронную сеть, которая сопоставляет смысл запросов с содержанием веб-страниц.
Изначально поисковые системы опирались на запросы, которые вводили пользователи в строку поиска. Чем чаще и точнее эти слова встречались на той или иной веб-странице, тем лучше сайт подходил для выдачи результатов. Поисковики по-прежнему используют такой принцип, а также сложные алгоритмы ранжирования. Однако, как объясняют в «Яндексе», страницы могут не содержать слова из запроса, но предлагать необходимую информацию. В таком случае нейросети подходят как нельзя лучше.
«Поисковый алгоритм „Королев“ сравнивает семантические векторы поисковых запросов и веб-страниц целиком — а не только их заголовков. Это позволяет выйти на новый уровень понимания смысла», — поясняют представители «Яндекса».
Преобразованием содержания веб-страниц в семантические векторы занимается нейросеть. Поскольку эта операция требует больших вычислительных ресурсов, то «Королев» делает вычисления еще на этапе индексирования. Таким образом, когда пользователь вводит запрос, алгоритм сравнивает его с известными ему векторами страниц. Помимо этого, «Королев» также учитывает другие запросы, по которым пользователи попадают на эти страницы и формирует смысловые связи.
Нейронная сеть, используемая поиском «Яндекса», обучается на поисковой статистике. Здесь учитываются и другие факторы, например, на какие сайты люди переходят чаще, сколько времени они на них проводят. Так система учится на примерах пользователей и оценках, которые они выставляют в сервисе «Яндекс.Толока».