Поиск «Яндекс» учится лучше понимать смысл запроса

23 август, 2017 - 15:53

«Яндекс» запустил новую версию поиска. В её основе лежит поисковый алгоритм «Королёв» – с помощью нейронной сети он сопоставляет смысл запроса и веб-страницы. Благодаря этому поиск понимает, что именно нужно пользователю, и отвечает на сложные вопросы ещё более точно. В новой версии поиска шире используется поисковая статистика и учитываются оценки пользователей «Яндекс.Толоки».

Первый шаг к поиску по смыслу «Яндекс» сделал в прошлом году, когда внедрил алгоритм «Палех» – он в реальном времени сопоставляет смысл запроса и заголовка веб-страницы. «Королёв» использует нейронную сеть, которая анализирует не только заголовок, а всю страницу целиком. Это сложная вычислительная задача, поэтому «Яндекс» определяет суть страницы заранее, на этапе индексирования. Благодаря этому количество страниц, которые поиск сравнивает по смыслу с запросом, выросло со 150 документов до 200 тыс. Другая важная особенность «Королёва» в том, что помимо сопоставления смысла запроса и страницы, он учитывает ещё и смысл других запросов, по которым люди на неё переходят.

Чтобы нейронная сеть могла оценить смысловую близость запроса и документа, ей нужно огромное количество примеров. Их даёт обезличенная поисковая статистика: на какие сайты люди переходят по запросам и сколько времени там проводят. Так, если человек перешёл на страницу и просматривал её какое-то время, скорее всего, она близка по смыслу запросу. Используя поисковую статистику миллионов людей, «Яндекс» учится понимать смысловые связи. Например, он поймёт, что в запросе [картина где небо закручивается] речь идёт о картине Ван Гога, а в запросе [ленивая кошка из монголии] – о мануле.

Для обучения поисковой системы нужны также оценки качества ответов. И чем сложнее система, тем больше оценок требуется. Раньше «Яндекс» оценивал качество поиска с помощью своих специалистов – асессоров. Теперь учитываются также оценки, которые выставляют пользователи «Яндекс.Толоки». Это сервис, где любой желающий может выполнять задания и получать за них вознаграждение. Сейчас в «Яндекс.Толоке» зарегистрировано более миллиона пользователей, которые выставили уже более двух миллиардов оценок.