Новый алгоритм «Яндекса» заставит SEO-шников работать со смыслами, а не с ключевиками

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

Сливинский, служба по работе с вебмастерами «Яндекса»: Если раньше меня заботил только сайт «Викимарта», то сейчас — миллионы сайтов Рунета

Технология начала работать несколько месяцев назад. О том, как она работает с технической точки зрения можно почитать на «Хабрахабре». Чтобы понять, что фактически произошло, несколько цитат из официального блога компании:

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

Добавить 42 комментария

  • Ответить

    ))) очередной маркетинговый «алгоритм» а-ля минусинск… Если был бы алго, а не очередной маркетинговый ход, то выдача не была бы такой печальной. Пример: «Как снять московскому студенту квартиру в США» хуже выдача разве что у спутника и то только потому что индексировать инет толком не научились, по теме запроса в лучшем случае один результат. От того и падает доля Яндекса среди пользователей поиска.

  • Ответить
    Владимир Мяу и компания

    Это что, значит, достаточно будет угадать, какой заголовок наиболее выстрелит при том или ином запросе, налепить его на свои странички, и ты в топе?!

  • Ответить
    Игорь Ашманов Сам себе компания

    Но вообще, алгоритмов синтаксического и семантического анализа настрогали за 30 лет очень много. Нейронные сети — просто один из этапов.
    И применять их в большом поисковике было нельзя просто потому, что не хватало никакой мощности.
    Не думаю, что сейчас что-то изменилось.

    Так что мечта применять нейронную сеть на всём тексте будет стоить серьёзного увеличения серверной мощности. А при 100−150 тысячах серверов добавление хотя бы 10−15% - это 50−100 миллионов долларов. Мне кажется, их проще заплатить разработчикам, чтобы они не делали так.

  • Ответить

    А как же специальные хардварные асики, которые тензоры перемножают и уже работают на китайско-английском переводе Гугла?

  • Ответить

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

  • Ответить

    > И применять их в большом поисковике было нельзя просто потому, что не хватало никакой мощности.
    Не так уж и много мощности нужно для использования нейросети. Вот для обучения….
    Так что в реальности не очень и дорого получается, массовый OR я на них делал.

    Другой вопрос — что это дальнейшее ОТУПЛЕНИЕ поиска. То есть «не выеживайтесь, и слушайте наши валенки».
    Первой ласточкой стало массовое отмирание языка запросов.

    В результате — по сложным низкочастотным теперь что-то нормально найти можно только в Вольфраме и Утке. Яндекс с Гуглем — сплошной мусор.

    > распределенный P2P поиск
    Давно пора!

  • Ответить

    У меня сейчас на домашнем компе 128 гб оперптивной памяти. Мне вот кажется, что обьем индекса по которому осуществляется поиск можно уместить в половину этого объёма. Т.е. Без всяких распределенных систем через 3−5 лет каждый сможет позволить иметь свой поисковик.

  • Ответить
    Игорь Ашманов Сам себе компания

    на домашнем компе 128 гб оперптивной памяти. Мне вот кажется, что обьем индекса по которому осуществляется поиск можно уместить в половину этого объёма

    Ну вот это примерно показывает степень владения материалом в здешнем обсуждении.
    И эта степень — примерно десять в минус четвёртой. То есть понимания проблем — 0,01%. Как у автора «честной методики» выше.

    Не, обсуждать-то можно, каждый имеет право слова, у нас свобода.

  • Ответить
    Игорь Ашманов Сам себе компания

    Не так уж и много мощности нужно для использования нейросети. Вот для обучения…

    хотя к тебе предыдущий камент не относится, но вот представь, сколько тебе нужно GPU или асиксов, чтобы делать OR на миллиарде страниц в день.
    Или на десяти миллиардах.
    Если хочешь обходить Рунет, скажем, за 3−4 дня.

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

    Я уж не говорю про ролики и картинки, которые тоже как-то надо обрабатывать и семантически тегировать.

    И заметим, что эти асиксы и карточки — более другие, чем имеющиеся 150 000 серверов у Яндекса.

  • Ответить

    насколько я ничего в этом не понимаю, обучать — долго, применять — быстро.

    То есть охреначивать уже обученной сетью «миллиард страниц в день» — не видно принципиальной проблемы.

  • Ответить

    OR — распознавание объектов, с ними сложнее, чем с текстом — факторов ну сильно больше (да и многоуровневое оно), и объем исходных данных на порядки выше.
    И то — распознавание с картинки 1500 разных типов объектов у меня занимает 512Mb памяти и порядка 200мс CPU (обычный Xeon). Кое-что даже OCR-ится по дороге.
    Вот пересобрать сеть для новых типов — это вообще почти всегда ручная работа по сбору данных, плюс часик переобучать сеть, плюс несколько дней ловли FP (а потом еще раз переобучать).

    Не надо тащить весь текст в нейросеть — это даже вредно, переобучение снижает качество очень сильно.
    Надо, чтобы она по запросу классифицировала его тип — а это на порядок проще. То есть просто есть классификатор, и эта сетка учится на классифицировании (пока) заголовков — заметим, оффлайново, а потом — по сету типов заголовков — сопоставляет тип запроса.
    Прогон по сети в случае текста запросов — задача примерно того же порядка потребления ресурсов, что и исправление опечаток.

    Вопрос только какого типа и скорости там обратная связь, а то будет как с поведенческими, которые способны сильно навредить. И вот тут живут реальные драконы, а не в миллиарде запросов.

  • Ответить

    Я вот не понимаю необходимость в п2п и куче серверов. Алгоритмами можно добиться большей эффективности: использовать работы Хафмена (необязательно хранить все слова и тексты в прямом виде в индексе, можно их перевести в деревья), отрезать ненужные части страниц, обходить только новый контент, обновлять только динамический контент. На 20мбит 1млн страний в день не предел.

    Игорь, я по этому и спрашиваю, плохо владею темой поиска, но интересно.

  • Ответить
    Игорь Ашманов Сам себе компания

    Я ваших расчётов не понимаю. В первую очередь — что же вы считаете.

    Например, пусть «исправление опечаток» (или прогон через нейронную сеть или разбор синтаксиса — неважно, любая «семантика) занимает на среднем тексте в 20 килобайт, скажем, 10 миллисекунд.
    Не считая собственно его выкачки из дальней галактики, парсинга ХТМЛя, индексирования, записи в пяток хранилищ и прочего.
    Тогда 100 миллиардов страниц потребуют миллиард секунд.
    Пусть это делает 1000 серверов. Тогда это миллион секунд, или 12 суток.
    Если 10 000 серверов — то сутки. Только на это.
    А если семантика чуть посложнее, и почему-то нужно 100 миллисекунд на двадцатикилобайтную страницу — то эти сутки будут работать все 100 000 серверов.

    Хорошо, что у кого-то есть канал на 20 мегабит и он может индексировать на нём 4 миллиона страниц в сутки.
    Чтобы обойти, допустим, за 25 суток в очередной раз 100 миллиардов страниц, потребуется таких добровольных участников — миллион. С полностью забитыми каналами и занятыми компьютерами.
    То есть примерно то, что и есть в Гугле с его несколькими миллионами серверов. Только Гугл побыстрее.
    И это опять же не посчитана «семантическая обработка», а только выкачка и индексирование.

    Так что это всё-таки проблема. А вот где там драконы, мне тоже не очень понятно.
    Думаю, они в процессе с ФАСом, всё-таки.
    И в получении больших поведенческих данных (в Турции, например), а не в их обработке.

  • Ответить

    То есть охреначивать уже обученной сетью «миллиард страниц в день» — не видно принципиальной проблемы.

    Принципиальной — нет. Есть проблема, где взять дополнительные 10 000 или 100 000 серверов.
    Нейронные сети взлетели в последнее время (2 года) по трём причинам:
    а) научились обучать свёрточные и прочие сети. Специалисты говорят, что это причина не очень важная, многое известно уже 15−20 лет.
    б) появилось быстрое железо, в том числе специализированное - GPU, ASIC (а нейронные сетки сами по себе не сильно ускорились); специалисты считают это самым важным.
    в) появился доступ к большим наборам данных. Это тоже специалисты считают очень важным.

    Большие данные у Яндекса, очевидно есть, специализированного железа в требуемом количестве, очевидно — нет. Покупать его на масштабе Яндекса — десятки, а скорее, сотни миллионов долларов.
    Ради торжества науки?

    Это значит, что охреначивать запросы, пользовательские сессии, пары запрос-выдача, клики, куки, программатики — можно (да это и мы делали, как ты помнишь, на обычном железе, когда получали 500 миллионов запросов в месяц).
    А все 100 миллиардов веб-страниц — непонятно, на чём и зачем.
    Ну, мне так кажется.

  • Ответить
    Игорь Ашманов Сам себе компания

    Алгоритмами можно добиться большей эффективности: использовать работы Хафмена (необязательно хранить все слова и тексты в прямом виде в индексе, можно их перевести в деревья)

    Как вы думаете, если Хаффман придумал префиксные деревья в начале 1950-х, а поисковики развиваются уже 30 лет, известны ли им эти идеи или нет?

  • Ответить

    >> скажем, 10 миллисекунд.
    >> Есть проблема, где взять дополнительные 10 000 или 100 000 серверов.

    Но это же на одном процессорном ядре. Миллион в сутки на ядре, скажем 36 млн на сервере о 36 ядрах (и все — чистый изумруд). 30 серверов — одна стойка — прожует миллиард в день. Ну не так и дорого получается.
    10k или 100k серверов явно не нужны для этого.

    А выкачка, разбор и все такое — и так производятся.

  • Ответить
    Игорь Ашманов Сам себе компания

    Миллион в сутки — это «индексация». А мы про разбор текста.
    И миллиард в сутки — это сто суток на весь объём. Или пятьдесят.

    А надо за двое-трое, по-хорошему.

  • Ответить

    Ну я исхожу из идеи, что при приложении этого добра все зависит «от объема данных».

    Если ~100ms на картинку (сотни килобайт данных даже в маленькой) — это на одном ядре, то на десятки килобайт данных (текстового документа) должно быть («при прочих равных») — ~10ms

    Но я не настоящий сварщик.

  • Ответить

    Я тоже не настоящий сварщик, потому и использую примитивно эти самые поисковики. Набрал слово и вот либо картинки листай либо выдачу текстовую. Фильтруй от белиберды, напоминает рытье в навозной куче, нередко. Причем, чем более «простой» запрос (понятно, что на распространненые вопросы или слова есть куча ссылок) тем дольше приходится выкапывать искомое. Иногда и плюнешь. Ето еще хорошо, что на многое есть википедия. Но по ряду специальных вопросов просто фиг откопаешь. Еще сумбура вносят все эти «ассистенты» (видимо, самообучаемые) которые норовят подсунуть тебе кучу ненужной инфы исходя из каких то своих там алгоритмов чортикаких.
    Я думаю, что настало время более «новых» типов поисковиков. Т.к. уже многое и большинством людей найдено, наверняка в большей степени стали более узко и осмысленно использоваться они (поисковики), т.е. объем выдачи не критичен, ибо поиск в куче нужного сайта огромного времени требует.
    Было бы здорово иметь предварительные, более детальные, настройки конкретного поиска, сужающие объем. Лучше потратить неск. минут на «настройку», чем потом час рыться и так, возможно, и не долистать до нужного.
    Возможно такое и есть гдето, но кроме гугловского патентного раздела я чтото особо не видел много такого.
    Конечно, можно сделать более детальным сам запрос в поисковой строке, но это, по многим и понятным причинам, невозможно.

  • Ответить
    dima5ty гасконец

    Я только не понял куда они его воткнули… На уровень разбора документа (т.е. увеличение размера базовых индексов) или на уровень расширения запроса (т.е. обогрев датацентров)?

  • Ответить

    а и не пытайтесь понять это. Ибо документ как значимость — в посл. время утратил значимость. Он стал фикцией, которую пишут, согласовывают, обсуждают, утверждают, проверяют, анализируют и хранят, но не читают и не берут во внимание в реальных делах.
    Если документы как команда — то обычные слишком долгие, да и огромные, масса воды. Пока его издадут все давно сделано. (или никогда не будет сделано)))
    Если документ как удостоверение — то тоже формальность, известно что их продают, покупают, подделывают итп. И все проверки идут по другим каналам (биометрия итп.).
    Но нельзя так взять и просто отказаться от рельефной сургучной печати — они такие прикольные.

  • Ответить

    > Да-да, P2P — это (по мне) именно про сужение области поиска.
    Я тебе еще один бонус скажу. Это еще и геолокация — скорость света — ограничена, вот такая она бессердечная!
    Ну и локальные запросы тоже можно ускорить.

    > Если ~100ms на картинку (сотни килобайт данных даже в маленькой) — это на одном ядре, то на десятки килобайт данных (текстового документа) должно быть («при прочих равных») — ~10ms
    Объем у меня даже больше — около 8 мб на фрейм (mjpeg). Ибо дофигапиксельная.
    Ядер на поток использую два (так удобнее).
    CUDA тоже поддерживается, но в основном под обучение — в DC ставить такие серваки нерентабельно.

    Удачно получилось, сейчас клиенты у системы уже в 7 странах ^_^

    > Большие данные у Яндекса, очевидно есть, специализированного железа в требуемом количестве, очевидно — нет. Покупать его на масштабе Яндекса — десятки, а скорее, сотни миллионов долларов.
    Игорь, я тебе как-то говорил. Вот в 2007—2008 это было бы правдой (хотя и тогда Яндекс не стремался поставить кластер стоимостью под лям просто под эксперименты).
    Сейчас собачка здорово подросла, причем и в железе, и в коде. И что приятно — подросла быстрее, чем объем важной информации (помнишь, Сегалович говорил, что 95% интернета — мусор? Ну не 95, но много, да. И его отсеивают даже от индексации — кстати, вот тут как раз нейросетка здорово поможет).
    Ну не нужно уже держать кучу серваков под индексацию и обработку….
    Фронт — да, там от запросов. Но и то — сейчас на реплику нужно в среднем в 60 (!) раз меньше серваков на тот же объем индекса.

    Домашний поисковик — это пока все же экзотика, но вот личный, при желании, сделать уже можно вполне. На достойном уровне и не слишком дорого. Только вот продать не получится — это уже давно процентов на 80 PR, а не технологии (угу, ФАС и все такое. Впрочем, Империя Добра тут в лидерах, кто не в курсе — впаривать тулбары и браузер, например, начали именно они).

  • Ответить
    AS

    Многим комментатором имело бы смысл перед тем как писать тут пургу хотя бы почитать статью на Хабре, что была дана по ссылке выше. Довольно интересно и на многое открывает глаза.
    Мощностей у Яндекса не хватает даже на обычный поиск, а отставание в производительности с главным конкурентом растет наверное в геометрической прогрессии (точно не знаю, вон Ашманов может в теме — в сколько раз выч. мощности гугла больше)
    Поэтому отвлекать еще часть этих мощностей или тупо денег на какие то там исследования ИИ и нейросетей — это все равно что себе серпом по известному месту. К сожалению Я навсегда останется AMD при Intel (и это в лучшем случае) ну никак не вытянуть России супротив всего мира финансово.

    А по существу заголовка темы непонятно: почему это заставит «SEO-шников работать со смыслами, а не с ключевиками"
    Прямой то ключевик всегда по смыслу будет более релевантен …
    Или предполагается что можно будет суммарным весом матрицы сходных по смыслу фраз вывести выше сайт чем тот что идет с прямым включением?

    И вообще причем тут сеошники, тема как то не соответствует содержанию. Речь идет про запросы длинного хвоста, с которым сеошники вообще обычно не работают, т.к. это не эффективно же.

  • Ответить

    >>Но я не настоящий сварщик.
    >>Я тоже не настоящий сварщик,

    «Самые дефицитные и востребованные сейчас кадры в России — это хорошие сварщики.» — шеф департамента стратегического развития минкультпросветпромторга (о роботизации, впрочем, и о прочем) — https://hightech.fm/2016/11/01/Osmakov

  • Ответить

    > Или предполагается что можно будет суммарным весом матрицы
    > сходных по смыслу фраз вывести выше сайт чем тот что идет
    > с прямым включением?
    Так давно уже можно. Будет ещё можнее.
    Tf-Idf по N-словным токенам сниппетов и документов из топ (10.50) — наше фсё.

  • Ответить

    всио это уже было. Еще при Эзопе. Там тоже все Ксанф пытался найти смыслы в белиберде и притчах, которые нес Эзоп. Наверное, с точки зрения алгоритма, басни можно отнести к зоологии (лиса, осел) или ботанике (виноград итп).
    При нашем уровне развития языка и пока еще сохранившемся уровне культуры — эзопов язык легко понимается огромной массой народа.
    Поэтому, чем вылавливать (выпивать море) индексируя все страницы по 3 раза в день, проще, по тойже методе др. греков, этого Эзопа сбросить со скалы да и дело с концом. Нет человека нет проблемы)))

  • Ответить

    > А по существу заголовка темы непонятно: почему
    > это заставит «SEO-шников работать со смыслами,
    > а не с ключевиками»

    Потому что каждому запросу нейросеть определит некий N-мерный вектор, который указывает «направление» в пространстве «смыслов». А страницам сайтов — массивы подобных векторов.

    Так вот когда отбор релевантных страниц произойдёт на основе полного или близкого соответствия участков вектора ЗАПРОС какому-то вектору из МАССИВ, тут мы заметим, что в поиске фактически присутствовали лишь цифровые отпечатки ключевиков и опыта сети. То есть в грубом пояснении, «смысл» — это подобие хеша, вычисленного на основе ключевых и эмпирических сведений.