|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Переформулировки поисковых запросов в ЯндексеЕвгений Трофименко Доклад на конференции
Расшифровка текста доклада на searchengines.ru Просмотреть презентацию в браузере? ВведениеВ данной работе рассмотрены результаты, полученные из одной «недокументированной фичи» - показа в Яндекс.XML запроса, который реально отрабатывает вместо введенного пользователем. Эта возможность позволяла получить информацию о дополнительных словах в переформулированном запросе, контрастностях слов и ограничении расстояний между словами при поиске. Расширение пользовательских запросов в ЯндексеВведенный пользователем запрос подвергается определенным изменениям перед отработкой его поисковой машиной (историческое название «переколдовка»), изменения могли включать в себя и добавление новых слов. Например, запрос что такое XYZ изменялся таким образом, что в запрос добавлялись слова это, означает, аббревиатура, расшифровывается, которые также подсвечивались в выдаче. Однако, если раньше это делалось в единичных случаях, то теперь поисковик находит подходящие переформулировки для большого количества запросов – вручную или автоматически – вопрос отдельный. Летом 2008
года Яндекс сообщил [7] об изменениях в алгоритме переформулировки запросов,
которые предполагают сильные изменения, включающие автоматическое добавление
новых слов в запрос:
Как именно происходит эта переформулировка запроса? Во-первых, некоторые слова могут быть заменены по смыслу (в случае замены транслитерации или аббревиатуры). Во-вторых, в некоторых случаях запрос может быть расширен с переходом между частями речи (недвижимость в Москве -> московская недвижимость, продвижение сайта – продвигать сайт). Важно не только знать, какие именно слова и расстояния находятся в переформулированном запросе, но и каким именно образом «внутри» Яндекса отрабатывают эти переформулировки. Если переформулировка происходила бы с использованием оператора «ИЛИ», то, вероятно, разные варианты слов почти не «пересекались» бы в подсчете релевантности. Например, могло оказаться, что дополненный/измененный запрос -- низкоконкурентный и более легкий для продвижения. Тогда, установив особенности подмешивания выдачи по одному запросу к результатам другого, мы найдем возможности оптимизации бюджета продвижения. Если же дополнительные слова дают дополнительный вклад в релевантность, их имеет смысл использовать в текстах и ссылках наравне с основными словами запроса. История измененийИзначально в «переколдовке» запросов были доступны данные о дополнительных словах, расстояниях между словами и «весах» слов. Однако, Яндекс последовательно борется с возможностями получения информации. В 2008 году [3], [4] был доступен метод определения ограничений расстояния между словами с помощью операторов исключения вида: (+слова +запроса) ~~ (+слова [ОПЕРАТОР_РАССТОЯНИЯ] +запроса) Перебирая различные операторы расстояния, можно было добиться ситуации, когда в результатах Яндекс.XML-поиска, где показывалось отдельно число найденных документов в пределах контекстных ограничений (strict) – оно обнулялось при увеличении подобранного расстояния между словами: <found
priority="phrase">0</found>
И подобранное таким образом расстояние соответствовало истинному расстоянию между словами. Однако, в настоящее время Яндекс.XML «вылечил» эту возможность и перестал давать разное число найденных документов для relevance priority = phrase, strict, all: <found
priority="phrase">7786843</found>
Поэтому теперь подбор расстояний таким образом невозможен, можно только пользоваться архивными данными. То, что данные по числу страниц показываются заведомо неверные – видимо, стало новой его «фичей». :) Показ переформулированных запросов в Яндекс.XMLЛетом 2010 мной случайно была обнаружена интересная возможность [11] – при задании определенного вида запросов в Яндекс.XML в ответном результате появлялись данные следующего вида, по запросу поисковая оптимизация: ((поисковая::17483 ^ поисковик::65545) &&/(-32768 32768) (оптимизация::32653 ^ оптимизировать::95157 ^ оптимизироваться::4208069)) Это происходило, как представляется, в результате ошибок в модуле подсказок в ответ на опечатки в поисковом запросе. Например, при задании запроса вида (fizi-olog) (поисковая оптимизация) (fizi-olog) – воспринимался как не одна ошибка, а сразу две – Volapyuk (транслит запроса) и Undash (что-то с разбиением слова на части). В результате в подсветке результата появлялась подсказка такого вида: <reask>
…которая и содержала (очевидно) переформулированный запрос. Однако, эта подсказка появлялась только в том случае, когда в выдаче найден хоть один результат, а это происходило далеко не всегда. Поэтому я пошел двумя путями – сделал свой экспериментальный массив, содержащий рабочие «ошибочные» слова вместе со всеми словами русского языка и собрал коллекцию из ~20 тыс. «воляпюков». В результате удалось выкачать ~1.3 млн. разных переформулировок по популярным поисковым запросам. Хотя я и скрывал метод получения, Яндекс нашел и прикрыл эту возможность, поэтому о методе теперь можно и рассказать. :) При введении «переформулированного» запроса как исходного результаты выдачи изменяются. Это может быть связано как с дополнительным переформулированием уже переформулированного запроса, так и с изменениями в обработке «весов» слов. Данные по переформулировкам доступны в сервисе [1], веса слов доступны в сервисе [2]. Оператор [^]: [|] или [%]?Наиболее интересной особенностью переформулированных запросов является перечисление дополнительных слов запроса через оператор ^. Как работает этот оператор – нужно выяснять дополнительно. С одной стороны, он дает результаты, похожие на работу оператора [%] - с необязательным включением дополнительных слов при обязательном основном слове. С другой стороны, в выдаче иногда встречаются результаты, не содержащие основного слова запроса. С третьей стороны, на классический оператор «ИЛИ» [|] он тоже не похож – результаты выдачи значительно отличаются и, в отличие от «или» меняются при «перемене мест слагаемых» (в зависимости от того, какое слово идет первым до ^, а какое после него). В любом случае, основной вопрос – дают ли дополнительные слова в переформулированном запросе вклад в релевантность или считаются полностью независимо. Я остаюсь при мнении, что дают, и что оператор ^ дает приоритет основному слову запроса и работает похожим на % образом. Особенности переформулировокВсе переформулировки содержали «веса» слов, более половины переформулировок содержали расширение запроса дополнительными словами, около 10% содержали ограничение расстояния между словами. Особенности переформулировки полностью соответствуют предыдущим наблюдениям – очень часто стало использоваться «длинное» расстояние между словами, как в приведенном примере – 32768 предложений. Новые части речи, транслит, расшифровка аббревиатур – как и ожидалось, активно используются. Часто используются возвратные глаголы («продвигаться» наравне с «продвигать»), аббревиатуры расшифровываются с прямым порядком слов с расстоянием «плюс-минус одно слово» медлу соседними словами. Общее количество переформулированных сложным образом запросов довольно велико – более 70% процентов от всей базы. В принципе, и раньше «переколдовок» было много – видимо, автоматическое расширение запросов имело место и тогда, и сейчас.
Если дополнительные расширяющие запрос слова и можно найти в открытой выдаче, то с расстояниями все гораздо сложнее. Яндекс последовательно борется с возможностью получения внутренней информации о переформулировках. Транслитерация запросаютуб
hyundai
Ограничения расстояний между словами – 10% запросовЧасто используются привычные нам расстояния, ставшие уже классическими – в одно слово, в три и семь предложений: в контакт
рабочий
стол обои
русская
страховая компания
театр
юного зрителя
налоговая
46
6300
nokia
нормативные
документы дополнительного образования
Работа с фрагментами словЧасто используется разбиение длинных слов на фрагменты и разбиение сложных обозначений из букв и цифр: Составные слова: кинопоиск
билайн
Сложные обозначения могут искаться почти во всех возможных вариантах разбиений w200i
Используется не только разбиение, но и склейка популярных фрагментов в одно слово: dsl 200
Курьезы переформулировок запросовВ пользу автоматического подхода Яндекса к подбору переформулировок кроме общего большого количества переформулированных запросов говорит еще и то, что зачастую переформулировки встречаются явно бессмысленные. Например, по запросу витрины москва вместо «витрин» находятся сайты с «окнами» [10] То, что это не глюк, а фича - подтверждается исключением слова «витрина» из запроса – в этом случае в выдаче остаются только «окна». Витрина, конечно, тоже может быть сделана из стекла, однако сложно представить, что человек может назвать витрину окном – вероятно, тут «поработал» алгоритм. С другой стороны, некоторые другие примеры переформулировок явно показывают вмешательство человека. Например, запрос партия единая россия переформулируется как партия
единая россия
По данным http://wordstat.yandex.ru/ Что искали со словом «педирос» — 24 показа в месяц. Мне лично не верится, что алгоритмы Яндекса способны на такие расширения запросов, тем более непопулярными словами, которые редко задаются в поиске и статистика использования слов в запросах вряд ли может помочь. :) Новые поисковые зоны и термы в большом поиске (ФИО)Кроме расширений запросов дополнительными словами, в переформулировках видны также новые операторы поиска и термы, соответствующие поиску по именам. Для запросов, содержащих имена в виде нескольких слов, например: вася пупкин Переформулировка содержала фрагмент вида: fioname[((васяfi::332552
&&/(-32768 32768) !!пупкин::901729))] |
Здесь мы видим новые операторы поиска по новой поисковой зоне, соответствующей имени fioname, fiinname, fiinoinname, finame Кроме этого, в запросе присутствуют отдельные термы термы (вfi, васяfi) – поиск всех имен, которые начинаются на фрагмент, стоящий перед fi и в сокращенном варианте тоже. Например, если задать запрос вfi: Мы найдем результаты, в которых будут все имена, начинающиеся на В, в том числе и сокращения (пример здесь: В.И.Вернадского, Вл.С.Соловьев) Использование новых поисковых зон и отдельных термов показывает нам, что выделение сущностей (например, имени) – в большом поиске Яндекса уже началось и уже внедрено. Яндекс начал в боевом режиме использовать выделение объектов без специальной разметки и микроформатов. «Веса» слов (контрастность по общей базе)Вес, который используется и использовался при переформулировках через двойное двоеточие после слова – является мерой контрастности, заметности этого слова в общей базе слов. Очень популярные и стоп-слова имеют низкий «вес», редкие слова – наоборот, высокий вес. Как правило, слова с низким весом стараются использовать как дополнительные для разбавления текстов ссылок. А насколько на самом деле одно слово «весит» больше, чем другое? Связь «двоеточечного веса» с классическим IDF (Inverse document frequency)Часто можно услышать употребление термина «IDF» в отношении этого двоеточечного веса. Однако некоторые особенности дают повод для сомнений в правильности этого. Веса, которые наблюдались раньше и присутствуют в переформулировках, обладают некоторыми особенностями, например – эти веса не непрерывны, есть фиксированный набор популярных значений весов, также существует некий «максимальный» вес слова по коллекции. В таблице приведен набор самых больших весов слов по части коллекции с небольшой статистикой:
При этом топовые веса, что интересно, кратны максимальному весу (984688320) и получаются делением его на целое число. Однако, в формуле классической IDF используется логарифм, и никаких целочисленных отношений (кроме как в 10, 100… раз) быть не может: |D| — количество документов в корпусе; — количество документов, в которых встречается ti Однако по базе реальных весов целочисленное соотношение – скорее правило. По виду формулы IDF становится очевидно, что вес – это отношение D/Di до логарифмирования. Т.е., общее число документов в коллекции D = 984688320, самое редкое слово встречается в коллекции 1 раз, и Di=1. Второе по редкости слово встречается в коллекции 2 раза, и D/Di=(984688320/2)=492344160 и так далее. Таким образом можно сделать вывод, что двоеточечный вес – это вовсе не IDF, а IDF получается взятием логарифма от веса: ::вес=Dобщее/Dсо словом IDF=log(::вес) Если в Яндексе для взвешивания слов используется классическая IDF, отличия в контрастности слов получаются не столь разительными:
Связь «двоеточечного веса» с мерой по словоформам (ICF)То, что веса рассчитываются по числу документов, содержащих слово, а не по общему числу словоформ в базе – это еще большой вопрос. Похожие результаты можно получить, если использовать вместо D общее число слов в коллекции и вместо Di – число выбранных слов. Дополнительно следует отметить, что вес точной формы слова отличается от сыммарного веса всех его словоформ – это было видно и в переформулировках. Для примера рассмотрим связь истинных весов слов из переформулировок с числом слов (не документов, а словоформ) в базе Яндекса: Видно, что это практически точная линейная зависимость без отклонений в области малых весов (популярных слов). Если бы ::вес был документным, то в области малых весов, соответствующей популярным и стоп-словам, линейность должна была быть искажена за счет того, что популярное слово используется в одном документе много раз. Однако то, что искажений линейности нет, как бы говорит нам - что веса считаются даже не по документам, а по словоформам, и в качестве меры контрастности используется не IDF, а ICF. Разные коллекции документов – разные весаТак как при получении переформулировок в запросах часто присутствуют одни и те же слова, у этих слов я ожидал увидеть одинаковые же веса. Однако было большим удивлением увидеть разные веса для слова fizi в раздичных вариантах задания запроса:
Таким образом, у одного слова может быть несколько разных весов – в зависимости от того, к какой области «приписан» запрос и по какой коллекции документов считается статистика по слову. Всего было видно три коллекции – основная русскоязычная (когда запрос содержал русские слова), англоязычная (когда запрос полностью состоит из цифр и английских букв) и украинская (?) (когда запрос состоит полностью из украинских слов). Поскольку число документов и сами документы в коллекциях разные, относительная популярность одного и того же слова тоже получается разной. Максимальный вес тоже отличается для этих разных коллекций. Примеры тематических переформулировокВот как переформулируются поисковые запросы по тематике продвижения сайта:
ЗаключениеПольза от знания переформулировок запросов очевидна для поисковой оптимизации– использование дополнительных слов в текстах и ссылках, использование ограничения расстояний при оптимизации текстов страниц, использование «весов» слов для разбавления текстов ссылок. Не все данные вечны, многие теперь нельзя получить с помощью открытых методов, но большая часть этих данных сохранена и может использоваться в seo-сервисах и системах автоматического продвижения. Литература
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-по трафику / посещаемость -по позициям / первая страница Доступ к CRM с примерами позиций: rabsila.ru: пароль demo cbrf.magazinfo.ru: пароль demo SEO-инструментарий и ноу-хау |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|