PDA

Просмотр полной версии : Яндекс запустил новый поисковый алгоритм «Палех»


mar88
04.11.2016, 18:26
Каждый день поиск Яндекса отвечает примерно на 280 миллионов запросов. Какие-то из них, например [вконтакте], люди вводят в поисковую строку практически каждую секунду. Какие-то запросы уникальны — их задают один раз, и они, возможно, больше никогда не повторятся. Уникальных и просто редких запросов очень много — около ста миллионов в день.

График частотного распределения запросов в Яндексе часто представляют в виде птицы, у которой есть клюв, туловище и длинный хвост. Список самых распространённых запросов не особо велик, но их задают очень-очень часто — это «клюв» птички. Запросы средней частотности образуют «туловище». Низкочастотные запросы по отдельности встречаются чрезвычайно редко, но вместе составляют существенную часть поискового потока и поэтому складываются в «длинный хвост».

https://avatars.mds.yandex.net/get-yablogs/38241/file_1478007706701/orig

Новый алгоритм позволяет поиску Яндекса лучше отвечать на сложные запросы из «длинного хвоста». Такой хвост есть у сказочной Жар-птицы, которая часто появляется на палехской миниатюре (https://href.li/?https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D0%BB%D0%B5%D1%85%D1%81%D0%BA%D0%B0%D 1%8F_%D0%BC%D0%B8%D0%BD%D0%B8%D0%B0%D1%82%D1%8E%D1 %80%D0%B0). Поэтому мы дали алгоритму название «Палех».

Запросы из «длинного хвоста» очень разнообразны, но среди них можно выделить несколько групп. Например, одна из них — запросы от детей, которые пока не освоили язык общения с поиском и часто обращаются к нему как к живому собеседнику: [дорогой яндекс посоветуй пожалуйста новые интересные игры про фей для плантика]. Ещё одна группа — запросы от людей, которые хотят узнать название фильма или книги по запомнившемуся эпизоду: [фильм про человека который выращивал картошку на другой планете] («Марсианин») или [фильм где физики рассказывали даме про дейтерий] («Девять дней одного года»).

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

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

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

Искусственные нейронные сети — один из методов машинного обучения, который стал особенно популярен в последние годы. Нейросети показывают отличные результаты в анализе естественной информации: картинок, звука, текста. Например, нейронную сеть можно обучить распознавать (https://href.li/?https://yandex.ru/blog/company/80564) на изображениях те или иные объекты — скажем, деревья или собак. В ходе обучения ей показывают огромное количество картинок, где есть нужные объекты (положительные примеры) и где их нет (отрицательные примеры). В результате нейросеть получает способность верно определять нужные объекты на любых изображениях.

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

Компьютеру проще работать с числами, чем с буквами, поэтому поиск соответствий между запросами и веб-страницами сводится к сравнению чисел. Мы научили нейронную сеть переводить миллиарды известных Яндексу заголовков веб-страниц в числа — а точнее, в группы из трёхсот чисел каждая. В результате все документы из базы данных Яндекса получили координаты в трёхсотмерном пространстве.

Вообразить такую систему координат человеку довольно трудно. Давайте упростим задачу и представим, что каждой веб-странице соответствует группа не из трёхсот, а из двух чисел — и мы имеем дело не с трёхсотмерным, а всего лишь с двумерным пространством. Тогда получится, что каждое число — это определённая координата по одной из двух осей, а каждая веб-страница просто соответствует точке на двумерной координатной плоскости.

https://avatars.mds.yandex.net/get-yablogs/39006/file_1478074905396/orig

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

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

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

Дальше — больше

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

Технология семантических векторов обладает огромным потенциалом. Например, переводить в такие векторы можно не только заголовки, но и полные тексты документов — это позволит ещё точнее сопоставлять запросы и веб-страницы. В виде семантического вектора можно представить и профиль пользователя в интернете — то есть его интересы, предыдущие поисковые запросы, переходы по ссылкам. Далёкая, но чрезвычайно интересная цель состоит в том, чтобы получить на основе нейронных сетей модели, способные «понимать» семантическое соответствие запросов и документов на уровне, сравнимом с уровнем человека.

источник (https://href.li/?https://yandex.ru/blog/company/algoritm-palekh-kak-neyronnye-seti-pomogayut-poisku-yandeksa)

invader
04.11.2016, 21:19
Не осилил. очень много текста.
Чтобы Яндекс не запускал, всё у него работает через задний проход.
Поисковик особенно.

mleonid
04.11.2016, 21:29
invader написал(а):

Не осилил. очень много текста.
Чтобы Яндекс не запускал, всё у него работает через задний проход.
Поисковик особенно.


Вот тут прямо в точку.

romvi
05.11.2016, 12:04
А вообще яндекс все копирует под чистую у гугла , такое ощущение, что у них сидит не отдел аналитики и разработки алгоритмов, а отдел рерайтинга кода из гугла

invader
05.11.2016, 12:21
romvi написал(а):

А вообще яндекс все копирует под чистую у гугла , такое ощущение, что у них сидит не отдел аналитики и разработки алгоритмов, а отдел рерайтинга кода из гугла


Угу... если бы они копировали грамотно. Сплошной рандомный баг

dmx
05.11.2016, 13:57
Это же не правда) Ничего не копировали и разработки собственные.
Понятно что куда до такого гиганта google.
Мне лично очень нравится это алгоритм - может сможет лучше находить ключи в контенте )

gls
06.11.2016, 19:06
Как по мне, то Яндекс больше переживает о своем кармане - что не запрос, то первая страница (как минимум) платная херня полный Палех.