«Яндекс» объявил о запуске нового поискового алгоритма «Палех», который позволяет повысить релевантность поисковой выдачи по низкочастотным запросам. Об этом сообщается в блоге компании.
Работа современных поисковых систем основана на анализе ключевых слов. Получив информацию о содержании интернет-страницы, индексатор разбивает его на элементы - текст, заголовки, метатеги и другие - и сохраняет их в индексной базе. В ответ на запрос пользователя система проверяет базу на наличие подходящих сайтов и осуществляет их выдачу в определенном порядке. При этом порядок выдачи зависит от степени соответствия запросу, которая определяется по длине и сочетанию ключевых фраз, и частоте таких запросов от других пользователей. Поисковая выдача по длинным и нестандартным запросам часто имеет низкую релевантность.
Для повышения такой релевантности компания
использовала поисковую модель на искусственных нейросетях. Алгоритм одновременно сопоставляет запрос и индексную базу по формальному (ключевые слова) и семантическому признакам. Это позволяет выявить соответствия, даже если в запросе и базе нет общих ключевых слов или запрос и база соответствуют только формально. Пополнение таких ассоциаций происходит за счет машинного обучения, а его результатом является трехсотмерный семантический вектор.
Пример построения семантического вектора «Палех» в двухмерном пространстве. / © «Яндекс», 2016
По данным компании, пока алгоритм строит семантические векторы только по заголовкам страниц. Потенциально он может сопоставлять запрос с полным текстовым содержанием страницы, а также составлять профиль интернет-пользователя исходя из его действий.
Подробностями проекта с Naked Science поделился представитель «Яндекса» Алексей Гусаков:
«Самая интересная часть всей нашей истории про нейросети в поиске - это семантический вектор. Так мы назвали новый способ обработки запроса и его сопоставление с вероятными ответами. Дело в том, что компьютеру проще работать с числами, чем с буквами, поэтому поиск соответствий между запросами и веб-страницами сводится к сравнению чисел. С помощью нейронной сети мы перевели заголовки веб-страниц в числа, а точнее - в группы из трехсот чисел каждая. В результате документы из базы данных "Яндекса" получили координаты в трехсотмерном пространстве. Представляя запрос и веб-страницу в виде вектора в трехсотмерном пространстве, мы можем понять, что они хорошо соответствуют друг другу, даже если у них нет ни одного общего слова. Семантический вектор мы используем не только в поиске "Яндекса", но и в "Картинках", а в будущем мы планируем переводить в такие векторы не только заголовки, но и полные тексты документов - это еще сильнее улучшит нашу выдачу».
Новый поисковый алгоритм назван в честь российского поселка Палех, известного палехскими миниатюрами. Для этого народного промысла характерно нанесение рисунка (иконы или сюжета из сказки) темперой на папье-маше, а одним из самых популярных персонажей миниатюр является Жар-птица. «Яндекс» использует изображение Жар-птицы как иллюстрацию распределения частотности запросов: высокочастотные (небольшое количество, но часто встречаются) соответствуют короткому клюву, среднечастотные - крупному туловищу, низкочастотные и редкие - длинному и витиеватому хвосту.