Статистика по операторам колдунщика Яндекса

Вот так по нашей массе запросов колдунщик Яндекса “любит” вставлять разные операторы (в % относительно &):

&		100%
&/(-2 4)	8.813
&/(-1 3)	9.914
&/(1 1)		1.784
&/(0 0)		0.035
&&/(-7 7)	15.212
&&/(-3 3)	14.705
&&		6.714
!!%		0.035
! 		0.699

Яндекс – новое описание языка и интервью…

1.
Эх, давно я не перечитывал правила языка запросов Яндекса – ан глядь: они уже на новом месте и выглядят по-новому. Раньше, вроде, на статическом урле все находилось…
В новом описании языка: во-первых, появился оператор rhost, который некоторое время был недокументированным, появился найденный мной 🙂 оператор domain (правда, пример там странный приведён, с расстоянием, но именно так он используется в reqtext), по-русски написано про параметр мягкости:

(запрос из нескольких слов)//N, где N — число от 0 до 100.
При расчете релевантности документа могут быть сочтены релевантными пассажи, где есть только часть слов запроса, тем меньшая, чем больше N (по умолчанию N=6). В результатах поиска такие документы помечены как «нестрогое соответствие». Подробнее см. раздел «”Фильтрация” по кворуму» в статье «Некоторые аспекты полнотекстового поиска и ранжирования в Яндекс».

Ну и еще добавлен оператор cat для поиска по категории или региону (“пацанский” оператор, для своих:)) и оператор date, тоже забавного вида (снова непонятно, что значит “Поиск производится только по страницам, дата которых удовлетворяет заданному условию” – “дата которых”??)
2.
Ну и остальное – Александр Быков о Персональном поиске Яндекса – интервью, данное К. Рощупкину. Что за ППЯ – не знаю, кто такой Быков – тоже. Но зато там есть ссылка на новые правила запросов. 🙂

a#link больше не работает…

Где-то когда-то анонсировался (возможно, в одном из примеров, приводимых сотрудниками Яндекса) синтаксис запросов a#link=”хост”[текст] как альтернатива anchor#link=”хост”[текст] для поиска ссылающихся страниц с текстом в ссылке.
Таки он больше не работает.
А вот anchor#link=”www.leningradspb.ru*”[шубы] по-прежнему работает
Блин, эти недокументированные функции… 🙁

domain: “новый” оператор Яндекса?

Я довольно давно увидел, что при поиске по Яндекс-каталогу урла система автоматически превращает его в url=”домен.ru*”. Что-то мне чудится, что там и оператор domain=”” мелькал…
Итак, в общем поиске работает оператор domain=”string”, который показывает все сайты с этой подстрокой в имени домена (и третьего, и второго, и первого, и нулевого! уровня). Работает на точное соотвествие одной из частей доменного имени, без чисел.
Также работает звездочка:
domain=”search*” – по любым совпадениям.
Работает и domain=”ru”, и domain=”root”. 🙂
Как нашел: смотрел reqtext на странице поиска строки “XML-вид каталога Яндекса” по сайту blog.promosite.ru. А reqtext такой:
((“XML::45433 вид::2105 каталога::1451 Яндекса::76938”)//6 <<(domain="promosite"::39515:0 &/(1 1) domain="ru"::39515:0 &/(1 1) domain="root"::39515:0):0) Еще и какие-то цифры через двоеточие два раза вместо одного...

Яндекс-Директ – караул! Последнее отнимают! :(

Яндекс-Директ косячило в последнее время – то страниц с запросами просматривать больше 20 не дает, то стоп-слова вырезает…
А сейчас смотрю – он логические операторы поддерживать перестал! Вбиваю конструкцию со скобками и значком “|” типа (а|б) – а он, гад, все скобочки и операторы в пробелы превращает! 🙁
Готовится к наплыву лохов-рекламодателей, наверно. Готовит им почву для бОльших трат…

Длина функции близости в Рамблере

Надо все-же чаще перечитывать доки 🙂 Или хотя бы внимательнее читать…
В хелпе “Применение языка запросов” написано, каким числом слов ограничена длина функции близости – 40 слов:

Ограничение расстояния

Если запрос составлен из одного или нескольких слов без применения операторов и конструкций языка запросов, то будут найдены документы, в которых встречаются все слова запроса. При этом для каждого запроса всегда существует так называемое ограничение контекста – положительное число, по умолчанию равное расстоянию в 40 слов. Документ, в котором встретились все слова запроса, будет выдан только в том случае, если расстояние в словах между вхождениями слов запроса будет меньше этого числа. Например, по запросу ‘красная армия’ будут найдены те документы, в которых слова ‘красная’ и ‘армия’ хотя бы один раз встретятся менее чем в 40 словах друг от друга.

Значение ограничения контекста можно изменять конструкцией ‘(число, запрос)’, где число – любое положительное число, запрос – любой корректный с точки зрения поисковой машины запрос, состоящий более чем из одного слова (очевидно, ограничение расстояния между словами в случае однословного запроса не имеет смысла). Таким образом, по запросу ‘(2, красная армия)’ найдутся только те документы, в которых между словами ‘красная’ и ‘армия’ хотя бы раз не стоит ни одного слова (поскольку лишь в случае их непосредственного соседства разница в порядковых номерах слов меньше 2, т.е. равна 1)

-т.е., если слова стоят на расстоянии более чем в 40 слов, “вес” этого словосочетания = 0.
Хотя бы какая-то точка отсчета есть. Плюс-минус 40 слов. 80 чисел для функции вычисления веса словосочетания в тексте.
Так длина эта и от запроса к запросу может меняться…?

Колдунщик Яндекса

Тут Professor недавно заметил у себя странные рефереры. Рефы были со страниц подсветки “найденных слов” Яндекса. Например, ищем Яндексе реклама в интернете, ссылка на “Найденные слова” выглядит как hghltd.yandex.ru/yandbtm?url=http://www.promodo.com/index-ru.html&text=реклама в интернете&reqtext=(реклама::1676 &/(-1 3) в::0 &/(-1 3) интернете::1313)//6&dsn=70&d=3153694 – в ней есть параметр reqtext, который переводится как (реклама::1676 &/(-1 3) в::0 &/(-1 3) интернете::1313)//6
Возникла мысль, что это реальный запрос, который отрабатывается вместо введенного, т.н. “колдунщик”. Нечеткий поиск, расстояния, веса.
Вот то, что после :: – похоже на вес слова в запросе. Например, в данном случае вес стоп-слова – ноль, а если бы был запрос реклама в, то стоп-слово имело бы ненулевой вес.
Я пробил 30 слов разных весов, получилось похоже на то, что вес~1/(число найденных страниц). Плюс-минус полпорядка 🙂 При этом точность была в пределах 0.3 порядка на не очень часто спрашиваемых словах, а на стоп-словах и очень частотных словах (напр. web, www) она прыгала сильно. Возможно, это с неточностью показа числа найденных страниц переплелось.
Короче, вес, видимо.
Он ограничен сверху – для “очень редких” запросов (лоренциан, гуано) = 2063133498.
Однако выдача немного не та, что на исходном запросе. По крайней мере у меня отличается, когда я смотрю последние сайты из 50, часто отличается… Хотя слабо очень.
Если вбить “заколдованный” запрос, и поменять веса ручками, то выдача не меняется. Он его переколдовывает обратно, блин! 🙂 А вот если поменять расстояние между словами – их не переколдовывает.
Яндексовские операторы:

пробел или & логическое И (в пределах предложения)
&& логическое И (в пределах документа)
/(n m) расстояние в словах (-назад вперед)
&&/(n m) расстояние в предложениях (-назад вперед)

Но интереснее – как он переколдовывает.

Слово лоренциан переколдовал так:
(лоренциан::2063133498 &/(0 0) !!%лоренциан::2063133498) – т.е., поиск на нулевом расстоянии между словами. Т.е., как бы усилено влияние самого слова, что ли…
А уже гуано колдует как гуано::2063133498.

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

Такое впечатление, что колдунщик устойчивые словосочетания понимает… Но как-то странно.
напольные покрытия => (напольные::78746 &&/(-7 7) покрытия::21744)//6 – поиск в пределах 7 предложений,
новый год => (новый::532 &/(-1 3) год::502)//6 – поиск в пределах нескольких слов от год новый до новый () () год,
офисная мебель => (офисная::16909 & мебель::5321)//6 – без расстояния в одном предложении…

Все-таки не особо он понимает устойчивые выражения. Тогда “новый год” он бы искал по фразе. Может, просто с частотностью каждого из слов связано?

Иногда переставишь слова местами, а он их по-другому колдует:
аренда квартир => (аренда::10297 & квартир::5104)//6,
квартир аренда => (квартир::5104 &&/(-3 3) аренда::10297)//6 – явно не устойчивое словосочетание, и начинает сразу искать в пределах 3 предложений… Но вот для пар существительно – прилагательное это не работает. А только существительное – существительное.

И так-то не всегда получается – строительство домов и домов строительство одинаково переколдовывает…

А то иногда переставляешь слова в запросе – и он там расстояния между ними вставляет… Например синтаксис язык запросов яндекса переколдовывает через & , а язык запросов яндекса синтаксис – синтаксис отделяет &&(-7 7). И так далее.

А то еще и от падежей зависит! синтаксис языка запросов яндекса (не язык!) – переколдовал иначе, яндекс отделил &(-2 4), т.е., в одном предложении… Все-таки устойчивые фразы он как-то понимает…

Нет, что-то очень хитрое это…

У кого какие мысли?
_____________
PS ссылка на панель Links – для показа Евгений ТрофименкоОпубликовано Рубрики SEO и поисковикиМетки , 34 комментария к записи Колдунщик Яндекса

Очередные возможности языка запросов Яндекса

А.Садовский на форуме рассказывает об операторе нечеткого поиска в Яндексе и дает ссылку на Тезисы выступления на Диалоге-99.
Кажется, этот оператор (многословный запрос)//[0-100] не описан. Число явно на выдачу влияет, но что оно означает по смыслу…
Из тезисов больше удивило вот это:

Поисковый спам можно (довольно условно) разделить на две категории:

Спам по определенной тематике. Как правило, тематика совпадает с тематикой содержательной части документа. В этом случае автор спама, расчитывает на получение преимущества перед документами конкурентов на ту же тему. Можно считать такой вид спама не очень вредным, поскольку пользователь в этом случае получает примерно то, что искал.

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

В Яндексе обеспечена возможность подавлять спам избирательно.

-т.е., тематический спам по коммерческим запросам с редиректом – не считается таким уж серьезным. 🙂

Язык запросов Рамблера: изменения

Влад Шабанов сообщает на форуме Рамблера от 29 сентября: Язык запросов: изменения в семантике операторов.

Изменение в поисковой машине затронуло язык запросов. Основная идея — сейчас между словами вставляется некоторый “клей”, примерно как в TeX (см. книжку Дональда Кнута “Все про TeX”). Поведение – аналогичное, только вот ядро Рамблера не имеет возможности решать задачу поиска наикратчайшего пути в графе (см. главу 14).

Сейчас “снаружи” доступны следующие операторы:

a & b
— документы, где одновременно есть a и b, чем ближе, тем лучше. Фактически амперсанд здесь означает кусочек клея с некоторыми стандартными настройками сжимаемости, растяжимости и “оборачиваемости”.

a &< b a &<< b a &<<< b -- вариант оператора & с более жестким клеем. Клей &<<< совсем плохо сжимается и почти не растягивается. a &> b
a &>> b
a &>>> b
— вариант оператора & с более мягким клеем. Запрос, где слова склеены клеем &>>> ранжируется почти как && (см. ниже)

a && b
a AND b
— документы, где одновременно есть a и b, причем все равно на каком расстоянии.

a &&& b
— сайты, где одновременно есть документы, содержащие a и b, причем не обязательно, чтобы a и b были в одном документе. &&& – это еще один вид клея, который помещается уже не между словами, а между документами одного сайта.

a | b
— документы, где есть a или b, причем одновременно a и b — лучше, а уж если рядом, то совсем хорошо

a || b
— документы, где есть a или b, все равно, радом или нет, на ранжирование не влияет

(N, a & b & c …)
— ограничение расстояния между словами.

“a * b”
— буквальный поиск, * — джокер (любое слово или знак препинания). Найдет все документы, где есть a и b, причем между ними стоит в точности одно слово. Разумеется, звездочек может быть несколько.

a NOT b
— отрицание.

Операторы &&&&, |||, ||||, &<.> и так далее зарезервированы на будущее.

Пробелы, знаки препинания — это такие “волшебные” операторы, которые в зависимости от контекста заменяются на
что-то из перечисленного выше (или еще на что-нибудь :-).

Вот бы Яндекс так сообщал…
Все, иду тестить. 🙂

‘новый’ оператор в Яндексе – rhost

Тема форума Запрос в Яндекс – поиск поддоменов.
Оператор поиска по урлу с обратным порядком перечисления, комментарий Саши Садовского:

rhost=”tld.domain.*”

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

rhost=”ru.exler.*”

или

rhost=”ua.kharkov.kpi.*”

В результате будут найдены все документы в заданной группе доменов

r – это, наверное, от reverse…