Алгоритм «Палех». Или нейронные сети на службе Яндекса

Компания Яндекс совершенствует поисковые механизмы, распознающие запросы пользователей и определяющие, какие сайты и статьи наиболее полно соответствуют поступившим запросам. И самое последнее изобретение — алгоритм «Палех», анализирующий не только ключевые слова из запросов и сайтов, но и смысловую нагрузку выбранных статей. В основе алгоритма — нейронные сети.

«Хвост жар-птицы»

Ежедневно поисковые алгоритмы Яндекса дают ответы почти на 300 миллионов запросов. Многие запросы повторяются из минуты в минуту, другие являются уникальными. Уникальный запрос может никогда больше ни в этот день, ни в этом столетии не повториться. Но ежедневно Яндекс дает ответы на сто миллионов уникальных запросов.

График частотного распределения запросов любой поисковой системы, в частности, Яндекса, можно изобразить в виде птицы: есть клюв, шея, туловище и огромный хвост. Все наиболее часто встречающиеся запросы можно считать клювом. Подобных запросов (стандартных) много, но разнообразием они не отличаются. Запросы, менее популярные, но достаточно часто встречающиеся можно отнести к шее и туловищу птицы. А в хвосте «собираются» те запросы, которые имеют сравнительно низкую частоту. Но подобных запросов много, они могут отличаться деталями. И в итоге «хвост» образуется очень значительных размеров.

И разработка нового алгоритма позволит давать ответы на все самые сложные, экзотические вопросы вне зависимости от длины «хвоста». Почему алгоритм получил название «Палех»? Все очень просто. В российской сказочной культуре очень часто упоминается «жар-птица», имевшая дивный длинный хвост. А мастерицы Палеха на своих изделиях очень часто ее изображали во всей красе. И название появилось само собой.

Все запросы, составляющие хвост, достаточно разнообразны. Но и их можно определенным образом классифицировать и разделить на группы:

  • запросы от детей или лиц, не имеющих опыта обращения с «поисковиками». В таких запросах можно встретить обращения к Яндексу, как к живому человеку, просьбы — «покажи, пожалуйста»;
  • в отдельную группу можно выделить запросы, в которых пользователь четко не знает, что ему нужно, а может только приблизительно указать, что это было (например, американское кино про войны с империей). Можно выделить и другие типы запросов.

Запросы, составляющие «клюв» птицы однообразны. Они не представляют никакой сложности для поисковых роботов. И по таким запросам уже сформирована определенная статистика. Соответственно, при поступлении нового запроса из «клюва» нет необходимости опять пересматривать все необъятные просторы интернета. Ответ поступает в течение миллисекунд. Если же запрос относится к «хвосту», то никакой статистики подобных запросов у Яндекса нет и быть не может. И сложность заключается еще и в том, что запрос может быть сформулирован «коряво» или противоречиво. В такой ситуации определить, какие из найденных страниц будут релевантными запросу, очень непросто.
Но разработчики Яндекса полагают, что ни один из поступивших запросов не должен оставаться без ответа. И на помощь призваны нейронные сети, способствующие лучшему поиску.

Семантический вектор

Разработкой нейронных сетей или искусственного интеллекта и ученые, и программисты заинтересовались давно. На эту тему и фильмы снимали фантастические, и писали докторские диссертации. С помощью нейронных сетей уже несколько десятилетий пытаются анализировать различную информацию: картинки, тексты, звуки и т. д. программы, работающие на основе нейронных сетей, учат выделять определенные предметы из общей массы, например, дома или машины. Если нейронной сети с определенной периодичностью демонстрировать некоторые изображения, соответствующие запросы и не соответствующие запросу, то через небольшой промежуток времени нейронная сеть уже самостоятельно из всего потока информации будет выделять нужную.

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

Изначально, еще в те времена, когда компьютеры только появились, вся обрабатываемая информация для простоты переводилась в цифровое выражение. Каждому символу соответствовало некоторое двоичное выражение. И с того времени ничего не изменилось. По-прежнему, каждый набор знаков переводится в формат числа. И поисковые роботы в процессе поиска соответствий запросам от пользователей последовательно сравнивают коды запросов с кодами заголовков страниц. А для простоты поиска все заголовки страниц уже сгруппированы по триста единиц. И поисковое пространство Яндекса стало трехсот мерным.

И в получившейся трехсот мерной системе координат каждому веб-адресу соответствует определенная точка, к которой и обращается поисковая система при обработке запросов. Запрос пользователя в свою очередь так же переводится в числовое выражение и размещается в той же системе координат. И, если координаты запроса и веб-страницы совпали, то ответ на запрос пользователя найден. Если же координаты не совпали полностью, то есть все основания предполагать, что веб-страницы с максимально близкими координатами так же содержат ответы на запрос пользователя.

У разработчиков такой метод поиска ответов на заданные вопросы получил название «семантического вектора». И этот вариант обработки запросов, как никакой другой актуален, если нужно найти ответ на запрос, относящийся к «длинному хвосту». Метод позволяет быстро и качественно обрабатывать запросы, имеющие низкую частотность, по которым не сформирована статистика. Главное достоинство метода: он позволяет формировать ответы на те запросы, которые сформулированы нечетко, содержат только приблизительные данные.

Компания Яндекс перешла на использование «семантического вектора» в своих поисковых алгоритмах уже несколько месяцев назад. Нейронные модели за это время прошли сложное обучение, научились преобразовывать полученные запросы в цепочки цифр и анализировать их положение в пространстве.

Развитие на этом не останавливается

Поисковая система Яндекс — не единственная, основанная на использовании семантических векторов. По такому же принципу работают Картинки. Пользователь может задать текстовый запрос и получить в качестве ответа некоторое изображение.

В дальнейших планах перевод на поиск по семантическим векторам не только заголовков сайтов и страниц, но и полностью текстов документов. В идеальном варианте пользователь будет получать ответы, полностью соответствующие его запросам. В планах разработчиков — вывод компьютерных нейронных сетей на один уровень с человеческим мозгом. Это позволит «читать мысли» и организовывать поиск соответствий даже тем запросам, которые еще не введены в поисковую строку.

Интересные статьи

28 Сентября 2020
​Как не потерять позиции при обновлении сайта? Чек-лист по переезду! Вторая часть
15 Сентября 2020
Подборка лучших статей
24 Августа 2020
​Как не потерять позиции при обновлении сайта? Чек-лист по переезду! Первая часть


Наверх