Евгений Трофименко «Переформулировки поисковых запросов в Яндексе»
Предлагаем вашему вниманию доклад Евгения Трофименко, с которым он выступил на девятой ежегодной конференции «Поисковая оптимизация и продвижение сайтов в Интернете», а также на белорусской SEO Революции 2010. ПЕРЕФОРМУЛИРОВКИ ПОИСКОВЫХ ЗАПРОСОВ В ЯНДЕКСЕ Здравствуйте, уважаемые участники, меня зовут Евгений Трофименко, я расскажу вам о переформулировках в поисковых запросах в Яндексе. Мне сказали, что на конференции присутствуют не только оптимизаторы, но и клиенты, в пропорции примерно 50 на 50. Общий смысл моего доклада для клиентской стороны представлен на этом слайде: Реальный запрос, который отрабатывается Яндексом, это совершенно не тот запрос, который человек вводит. Они, конечно, похожи, но не совсем. Для успешного продвижения всегда полезно знать, какой запрос реально отрабатывается поисковиком. История переформулировок. Что было с древних времен и что есть сейчас. В древние времена, когда интернет был маленький, (говорят, что он умещался на одном современном диске), морфология не учитывалась. И создатели поисковых систем, конечно, очень хотели находить больше. Согласитесь, что очень неприятная ситуация, когда вводишь запрос, и находится лишь точная форма. Они стремились находить больше, а страниц было мало. Расширение началось с поддержки морфологии – учета различных падежей, чисел, других форм слова. Интернет рос, морфология учитывалась, и вроде бы находилось уже достаточное количество поисковых результатов в ответ на любой вопрос. Сейчас интернет растет еще быстрее, число страниц в интернете увеличивается каждый день, и можно сказать, что их находится слишком много. И почему-то, по инерции, расширение поисковых запросов продолжается и даже усиливается. Первые переформулировки поисковых запросов были обнаружены осенью 2004 года. Тогда, при задании запроса, реально отрабатывающийся запрос появлялся в урле сохраненной копии, ссылке на сохраненную копию в Яндексе. Параметр этот был примерно такого вида: ®text=(реальный::111 & запрос::222)//6 В этом запросе были видны во-первых, расстояния между словами, во-вторых, веса, т.е. контрастность слов, которая показывает важность того или иного слова, его влияние на поиск. Кроме этих вещей, запросы иногда расширялись другими словами, новыми. Усиливалось влияние отдельных слов. Вот примеры расширения запросов от 2004 года: Если запрос выглядел так - [что такое то или это], то реально отрабатывался запрос, в котором поисковик искал слова «это», «означает», «аббревиатура», «расшифровывается». Именно этот список слов был зашит на уровне знаний поисковой системы о том, как нужно отрабатывать поисковый запрос. Не смотря на то, что изначально этих слов в запросе, в общем-то, нет. Очень редкие слова в запросе появлялись два раза, видимо для того, чтобы усиливать их влияние в текстовой части. Для многих запросов, таких как [новый год], например, ограничивалось расстояние, на котором эти слова ищутся в документах и ссылках. Понятно, что если на одном конце предложения написано «новый», а на другом конце предложения написано «год», то это вовсе не ответ на запрос, а что-то совсем другое. Показ этих данных прожил до весны 2007, потом это отключили. Летом 2008 года Яндекс, в версии Магадан, анонсировал учет переходов по частям речи («гамбург» -> «гамбургский»), транслитерации («mazda» -> «мазда») и аббревиатурам (МГУ -> Московский Государственный Университет. Все это делается для расширения запросов. Так, например, при поиске [гостиницы москвы], кроме существительного «москва» искалось прилагательное «московский». Также были существенно ослаблены ограничения расстояний (поиск соседних слов в пределах документа). Раньше расстояние было от -1 слова до +3 слов, а после этого релиза слова стали находиться в разных частях документа в том числе. Были в процессе некоторые варианты подбора этих расстояний (+слова +запроса) ~~(+слова [ОПЕРАТОР] + запроса), но сейчас они уже все вылечены, и эту информацию уже получить нельзя. В Яндексе есть понятие об ошибках в запросе, и есть некие типы ошибок: Volapyuk, Undash и др. Volapyuk – это ошибка, похожая на транслитерацию, когда английскими буквами пишут русские слова. Undash – это когда случайно вставляют тире в слово. Обнаружилось, что при комбинации этих видов ошибок Яндекс XML выдавал запрос в ответ, который, скорее всего и отрабатывался вместо введенных. Потому что он имеет похожий вид – с весами, с двоеточиями, с расстояниями. Тот фрагмент выдачи XML, который приведен, отвечает за переспрашивание. Т. е., если кто-то делает поисковую систему по сайту, например, он может на основе этих данных обработать ошибку также, как это делает Яндекс. Что мы сделали. Были взяты все слова русского языка, из всех запросов, там конечно много ненужных слов было, но в сумме это было около 5 млн. слов, из них где-то миллион нормальных. Для того, чтобы подобного рода поисковый запрос получить, нам нужно что-то найти в выдаче. Используя вот это вот слово с двумя ошибками Volapyuk и Undash, вы должны создать много страниц, на которых будут присутствовать все слова из запросов. Короче говоря, был сделан массив, проиндексирован в Яндексе, и удалось получить переформулировки по 1.3 млн. запросов. Теперь о переформулировках, как они делаются в Яндексе. Вот пример по запросу [продвижение сайтов]. Ниже написан запрос, который реально отрабатывается. Это, во-первых, очень длинные расстояния между словами, здесь это 32 тысячи предложений между словами «продвижение» и словом «сайтов». Во вторых, новые части речи появляются – «про», «движение», «продвигать» и возвратный глагол «продвигаться» отдельно. Веса слов, известные с древних времен, тоже здесь есть. Оператор вертикальной галочки, на котором я остановлюсь позже, здесь вовсе не обязан присутствовать, но если он есть, это плюс. В общем, здесь есть все атрибуты, которые способствуют переколдовке. Основные варианты изменения запросов следующие: 1. транслитерация слов 2. ограничения расстояний 3. работа с фрагментами слов (разбиение и склейка) 4. расширение слов частями речи Встречаются также курьезы переформулировок, в том числе и ручные, пример которых я привожу ниже. Но вообще, переформулировки по 1.3 млн. запросов вручную сделать невозможно, там, в основном, работают автоматы. Вот, например, по запросу [витрины москва], на первом месте стоит сайт, где пластиковые окна находятся. Я понял, видимо если с другой стороны витрины смотреть, то тогда это будет окно. Иначе как объяснить наличие этого сайта на первом месте по этому запросу? Кроме всего перечисленного обнаружилось и то, что Яндекс использует отдельный поиск по именам и фамилиям. Так, например, запрос [вася пупкин] переформулируется с четырьмя операторами поиска, видимых по имени и фамилии: Это, скорее всего, что-то вроде отдельной зоны, как title (поиск по заголовкам) например, также и по именам. И есть отдельные термы, которые соответствуют именам, в данном случае (вfi) – поиск всех имен на букву «в» и сокращений. Что произойдет, если в поисковую строку ввести запрос [вfi], именно так, как здесь написано? Мы найдем все имена, начинающиеся на букву В и их сокращения. Все это я веду к тому, что Яндекс внутри себя выделяет определенные объекты, в данном случае имена. А выделение сущностей в большом поиске, который работает с неструктурированными данными, это мощные изменения. Не знаю, почему это не анонсировалось, наверное, хотели сделать сюрприз. Как работает оператор ^ (вертикальная галочка). Это вертикальная галочка, которая часто используется во всех видах переформулировок, она работает похожим на процентик (%) образом. Первое слово, которое основное, должно находиться обязательно в выдаче и ему дается некоторый приоритет. Остальные слова, которые идут после галочки, дают плюс в ранжировании, тоже находятся, но при этом приоритета не имеют. Например, при запросе окна^ мебель - окна находятся на первых местах. При запросе мебель^ окна - главным словом будет мебель. А, например, при использовании %, который тоже отвечает за необязательное присутствие слов, похоже на то, что слова ранжируются примерно равноправно. Запросы окна% мебель или мебель % окна дают очень похожую выдачу, и на первых местах стоят практически одни и те же сайты. Контрастности (веса) слов Чем слово имеет больший вес, тем оно заметнее и тем большее влияние оно оказывает на поиск. Обнаружилось (на примере выкачанной базы), что одно и то же слово может иметь несколько разных весов. В зависимости от того, какого рода запрос - русский, англоязычный или украинский, существует три разных коллекции весов. Если запрос включает в себя русские слова, то используются обычные русскоязычные веса. Если запрос состоит целиком из цифр и английских букв, то он является для Яндекса англоязычным, и веса слов тоже берутся по английской базе. И есть какое-то количество слов из украинской коллекции, для них соответственно существуют третьи веса. Основным результатом всего этого, явилось то, что раньше мы знали про переформулировки, но теперь очевидно, что переформулировка производится на уровне исходного запроса. Поэтому «дополнительные» слова обязаны давать вклад в релевантность, это не просто подсветка. Нужно использовать эти дополнительные слова при написании текстов и текстов ссылок. • Новые операторы (^, fio* и другие) • Использование доп. слов при оптимизации и в ссылках • Знания об ограничении расстояний в переколдовке – необходимы! • Веса слов тоже полезны это частично внедрено в сервис http://tools.promosite.ru/.