Крупнейшая поисковая система России «Яндекс» запустила новую версию поиска, в основе которой сопоставление смысла запроса и веб-страницы, сообщает компания. Новый поиск работает на алгоритме «Королев», который сравнивает семантические векторы поисковых запросов и веб-страниц полностью, а не только их заголовков.
«В прошлом году мы запустили новый алгоритм ранжирования „Палех“, в котором сделали первые шаги в сторону семантического поиска, а сегодня запускаем новый алгоритм ранжирования „Королев“. Почему мы выбрали такое название? Сергей Павлович Королев осуществил мечту человечества о полетах в космос. Для нас в „Яндексе“ сегодняшний запуск является таким же важным технологическим прорывом к мечте о поиске, который понимает пользователей», — сказал на презентации поиска руководитель службы релевантности лингвистики «Яндекс» Александр Сафронов.
![](https://cdn4.chrdk.ru/width/800_2289c446/chrdk/9/e/9efc32122e4a49a4c9e9657c6014e31f58376ded.jpg)
Александр Сафонов. Фото: пресс-служба ЯндексаКак это работает
Первые поисковые системы стали появляться в конце 20 века. Тогда они были достаточно примитивными и даже в чем-то наивными. Они показывали пользователям страницы, которые содержат слова из запроса. Причем эти слова могли находиться далеко друг от друга и не быть связанными. Со временем алгоритмы ранжирования усложнялись, а точность ответов увеличивалась. Однако поиск оставался поиском лишь по словам.
«Со временем специалисты, которые занимаются поиском, стали все больше убеждаться в том, что для того чтобы создать действительно хороший поиск, необходимо искать не по словам, а по смыслу, по-научному это называется семантический поиск», — отмечает Сафронов.
И специалисты «Яндекс» начали учить нейронные сети понимать смысл запросов.
«Чтобы обучать нейронную сеть, нам нужно показать ей много положительных и отрицательных примеров. Положительный пример — это запрос и текст страницы, которые связаны по смыслу. Отрицательный пример — это пара, которая по смыслу не связана. Чтобы текст получился, мы должны показать ей большое число примеров. Тут нам на помощь приходят пользователи», — поясняет Сафронов.
На основании пользовательского поведения специалисты и создают обучающие примеры, или эталоны для нейронной сети. Например, если по какому-либо запросу пользователи очень часто кликают на одну и ту же страницу, то, вероятнее всего, запрос и текст страницы связаны по смыслу, то есть семантически.
«После тренировки наша модель имеет способность представлять текст в виде особого набора чисел. Мы называем этот набор чисел семантическим вектором. Он формируется последним скрытым слоем нейронной сети. Таким образом, подавая на вход нейронной сети любой текст, мы получаем соответствующий ему семантический вектор. В наших моделях мы обычно представляем текст в виде 300 чисел», — рассказывает Сафронов.
При этом чем ближе тексты по смыслу, тем больше будет сходство у чисел этих векторов. То есть, сравнивая семантические векторы, можно оценить смысловую близость текстов.
![](https://cdn1.chrdk.ru/chrdk/5/2/52dae4ada62a2cf73af8c270bfefb5e8a84432d4.png)
Схема формирования семантического вектора. Изображение: пресс-служба Яндекса
Что изменилось
В алгоритме «Королев» существенно увеличено влияние нейронных сетей на ранжирование. Так, их стали применять к тексту документа.
«Раньше у нас были модели, которые оценивают близость только запроса и заголовка страницы. А теперь мы внедрили модель, которая при оценке близости смотрит не только на заголовок, но и на тело страницы», — отметил Сафронов.
Другим нововведением стало количество страниц, в которых применяются нейронные сети. Раньше «Яндекс.Поиск» использовал нейронные сети только для 150 страниц, а в «Королеве» количество страниц, на которых высчитывается смысловая близость по запросу, достигает 200 тыс.
Люди учат машины
Одна из проблем в работе с нейронными сетями — это найти образцовый пример, эталон, как делать правильно. Чтобы обучить новый поиск, специалистам «Яндекс» приходится самим определять такие эталоны. Сбором данных для машинного обучения в компании уже несколько лет занимаются специальные люди — асессоры. На сегодняшний день их около 1400−1500. Асессор получает случайный пользовательский запрос и документы, которые могли быть найдены по нему. И задача такого работника — оценить, насколько тот или иной документ может быть хорошим ответом на запрос пользователя.
«Чтобы собирать все больше данных нам требовалось больше людей, — рассказывает руководитель обработки данных „Яндекс“ Ольга Мегорская, — Когда асессоров стало больше 1,5 тыс, а их все равно не хватало, мы поняли, что надо что-то менять. Что технологии и области применения машинного обучения развиваются так быстро, что никакая команда не будет способна удовлетворить постоянно растущие потребности в обучающих данных».
И компания запустила краудсорсинговую платформу, на которой любой желающий может зарегистрироваться как исполнитель, найти интересные задания и выполнять их за вознаграждение. А любой заказчик, которому нужны данные для машинного обучения, может там же разместить заказы. Платформа получила название «Толока». Этим словом называли типичный для русской деревни общий сход людей, когда сообща все делали одно большое дело.
«На нашей платформе за несколько лет ее существования собралось уже больше 1 млн товолкеров. Сообща они сделали больше 2 млрд оценок, которые пошли на обучение искусственного интеллекта», — заявляет Мегорская.
![](https://cdn2.chrdk.ru/width/800_2289c446/chrdk/a/6/a62c2454376ad9a935c7ff0ad9483ddb30a7dfd1.jpg)
Сельский сход. А. Убиган, XVIII век
Неудобные вопросы
«Яндекс» ежедневно получает порядка 200 млн запросов. И треть из них задают один единственный раз, и больше никогда не задают. Это такие сложные запросы, на них нельзя хорошо отвечать при помощи пользовательской статистики", — рассказывает руководитель поиска «Яндекса» Андрей Стыскин.
Примером такого сложного запроса может быть поиск названия фильма «про космос, где отец общался с дочерью при помощи секундной стрелки» (спойлер: это про «Интерстеллар»).
«Ни в одном документе так не описывается этот фильм. Но благодаря технологии „Королев“ мы умеем понимаем суть описания из текста запроса и суть описания из документа и их сопоставлять. И умеем отвечать на такие сложные запросы», — поясняет Стыскин.
Говоря о том, что обновленный поисковик все-таки не умеет делать, Стыскин признался, что его команда испытывает сложности с поиском «информации, которой в интернете пока не существует»: неоцифрованные, закрытые библиотеки и соцсети, которые не дают данные для индексации.
Не так давно Яндекс презентовал и новый алгоритм машинного обучения — CatBoost, умеющий работать с алгоритмами.
Комментарии:
Авторизуйтесь, чтобы оставить отзыв