Показаны сообщения с ярлыком Геозависимость. Показать все сообщения

вторник, 7 февраля 2023 г.

О геозависимости запросов с топонимом

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

Здесь все зависит от того, что считать геонезависимостью. Независимость выдачи по запросу от региона пользователя или вообще от какого-либо региона. 

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

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


понедельник, 11 февраля 2019 г.

Лайфхак №4.3. Определение геозависимости запроса в Яндексе – поиски универсального метода продолжаются

Вот уже в четвертый раз мне приходится поднимать тему поиска надежного способа определения геозависимости запроса. Ибо с завидной регулярностью действующий вариант метода теряет свою работоспособность.
Напомню, последняя версия метода определения геозависимости базировалась на двух принципах:
  • Принцип первый. Для запросов, не содержащих топоним, соответствующий региону выдачи, этот топоним в сниппетах подсвечивается для геонезависимых запросов и не подсвечивается для геонезависимых запросов. 
  • Принцип второй. Добавление к исходному запросу через документированный оператор | («логическое ИЛИ») какого-либо достаточно редкого термина (т.е. имеющего достаточно большое значение IDF – обратной частоты встречаемости в коллекции документов) никак не влияет изменение геозависимости запроса. 
И если первый принцип продолжает действовать, то второй, к сожалению, уже не соответствует действительности, в чем можно убедиться на следующем примере. Возьмем геозависимый запрос продвижение сайтов, в геозависимости которого легко можно убедиться по подсветке топонима Москва уже на первой странице выдачи для соответствующего региона (lr=213):
Однако добавление к исходному запросу через оператор | («логическое ИЛИ») любого термина, в том числе и очень редкого, меняет геозависимость нового запроса, делая его геонезависимым, что можно определить по исчезновению подсветки топонима:
Таким образом, подобную модификацию исходного запроса уже нельзя использовать для определения его геозависимости, что существенно снижает наши возможности.
Конечно, хорошо, когда топоним, соответствующий региону выдачи, встречается с сниппетах уже на первой странице выдачи (которую можно расширить до 50 результатов в браузерной выдаче и до 100 результатов в Яндекс.XML), как в нашем первом примере. И по наличию или отсутствию его подсветки можно легко определить геозависимость запроса. Но если искомый топоним в сниппетах не встречается на первой странице поисковой выдачи (что весьма характерно для геонезависимых запросов), то без дополнительных запросов не обойтись.
В этом случае было бы хорошо можно быстрее найти документ, релевантный исходному запросу, в заголовке сниппета которого показывался бы топоним, соответствующий региону выдачи. А затем, сузив выдачу по исходному запросу на этот документ, получить гарантированное наличие или отсутствие подстветки искомого топонима, по которой и определить геозависимость исходного запроса. 
Для поиска такого документа я предлагаю модифицировать исходный запрос, добавив в его начало топоним, соответствующий региону выдачи. Причем, для повышения эффективности я рекомендую применить к этому топониму документированный оператор + («плюс»), предназначенный для поиска документов, в которых обязательно присутствует выделенное им слово. Для примера возьмем исходный запрос конхоида никомеда (для которого топоним, соответствующий региону выдачи, не встречается в первой сотне результатов), и модифицируем его предлагаемым способом. Искомый топоним находится в заголовке одного из сниппетов уже на первой странице выдачи:
Теперь сужаем исходный запрос на найденный нами документ (введя его адрес в поле «На сайте» формы расширенного поиска), и наблюдаем отсутствие подсветки топонима в сниппете, что свидетельствует о том, что исходный запрос геонезависим:
Также для сужения можно применить к исходному запросу документированный оператор url: (поиск по страницам, размещенным по заданному адресу), в качестве его значения задав адрес найденного на первом этапе документа.
При поиске подходящего документа нужно иметь в виду, что если исходный запрос состоит из одного слова, то желательно также и к нему применить оператор + («плюс»). Если этого не сделать, то в выдаче может быть довольно много документов, в котором этот термин из исходного запроса не встречается. Это обусловлено тем, что даже одно из слов двухсловного запроса (в данном случае - топоним) может проходить так называемый кворум. Желающих поподробнее разобраться в сути этого явления могу отослать к главе «Фильтрация по кворуму» эпохальной статьи «Яндекс на РОМИП-2004.  Некоторые аспекты полнотекстового поиска и ранжирования в Яндекс». 
Таким образом, в выдаче может встречаться много документов, релевантных топониму и не релевантных исходному запросу. А это может сильно затруднить поиск подходящего для дальнейшей проверки документа, который обязательно должен быть релевантен исходному запросу. Кстати, у использовавшегося мною в качестве примера исходного двухсловного запроса конхоида никомеда, первое слово в одиночку проходит кворум, что видно из последнего примера – найденный нами релевантный исходному запросу проверочный документ второе слово исходного запроса (никомеда) не содержит, и запросу, состоящему из него одного, нерелевантен. 

Конечно, предлагаемый способ не так удобен, как потерявший работоспособность предыдущий, но, тем не менее, вполне позволяет решить задачу определения геозависимости запроса, пусть и с большим количество обращений к поиску. И остается только надеяться, что все используемый в нем документированные операторы языка запроса Яндекса будут работать корректно. 

четверг, 1 ноября 2018 г.

Лайфхак №4.2. Снова чиним универсальный способ определения геозависимости в Яндексе

Не прошло и трех месяцев с той поры, как я починил утративший работоспособность универсальный способ определения геозависимости запроса в Яндексе, как мне поступил сигнал, что он опять сломался. Действительно забиваю в Яндекс последнюю версию запроса, и вижу безрадостную картину:
Надо опять чинить. 
Сначала проверяю, работает ли запрос, если не применять поиск по сайту. Оказалось, что работает, и ожидаемо подсвечивает в сниппетах топоним в случае геозависимой правой части запроса:
И не подсвечивает в случае геонезависимой:


Получается, что способ вполне можно применять именно в таком виде. Однако, в общем случае нельзя быть уверенным, что топоним обязательно встретится на первой странице выдачи. Поэтому хотелось бы иметь более надежный вариант. Собственно, именно для этого и сужал выдачу на конкретный сайт с гарантированым наличием топонима в заголовках сниппетов.
Проводя дальнейший анализ, я решаю заменить термин arsenaltula из левой части запроса на arsenal, который гарантированно содержится в доменном имени тестового сайта arsenal-tula.ru. И получаю, что теперь выдача непустая и с нужной нам подсветкой топонима в сниппете для геозависимой правой части:
Однако состоит она теперь сплошь из результатов быстробота. Зато потеря работоспособности прежней конструкции запроса стала более понятна. 
Не знаю, временное это явление или уже постоянное, но, получается, что корректная работа оператора | (логическое ИЛИ) при поиске по сайту осталась только у быстроботовской примеси. А она, в отличие от органической выдачи, похоже, не поддерживает переколдовки запроса arsenaltula, в которую добавляются синонимы arsenal и tula. Поэтому первоначальный запрос и выдавал пустую выдачу, не смотря на наличие на сайте быстроботовского индекса.
Таким образом, надо просто подыскать более подходящий сайт, на который будем сужать выдачу. Он должен с большой вероятностью иметь быстроботовскую примесь, а также вхождение топонима в заголовки страниц. Такой сайт я буквально за несколько минут нашел среди региональных новостных ресурсов, т.к. новостники всегда отличались наличием большого количества быстроботовской примеси. Имеем наличие подсветки топонима в первом же результате для геозависимой правой части запроса:
И отсутствие подсветки топонима для геонезависимой правой части, хоть и не в первом результате, но на первой странице:
Уверен, что потратив немного больше времени, можно найти и другой более удобный сайт-индикатор с гарантированным наличием топонима в первом результате выдачи. Либо, как вариант, сузить выдачу на конкретную папку данного сайта с получением того же гарантированного результата:

В общем, варианты решения задачи пока есть, и, надеюсь, найдутся и в дальнейшем.

пятница, 10 августа 2018 г.

Лайфхак №4.1. Универсальный способ определения геозависимости запроса в Яндексе – восстанавливаем утраченную работоспособность

Геозависимость запроса в Яндексе является одним из важнейших параметров в алгоритме ранжирования. И если вы хотите реально понимать, как ранжируются те или иные запросы, какие запросы будет эффективно комбинировать для одной посадочной страницы, а какие – нет, вам необходимо уметь определять их основные параметры, а не слепо полагаться на результаты работы так называемых «кластеризаторов по топу».
Немногим менее года назад я представил рабочий на тот момент универсальный способ определения геозависимости запроса в Яндексе с использованием только документированных операторов языка запросов. Настоятельно рекомендую внимательно перечесть ту статью, чтобы иметь полное представление о логике данного метода. Вкратце же – этот метод базируется на основополагающем принципе – в выдаче Яндекса для геозависимых запросов в сниппетах наблюдается подстветка топонима, соответствующего региону выдачи, а для геонезависимых – нет. Суть метода заключается в построениие выдачи, в которой для любого проверяемого (исходного) запроса мы сможем гарантировано увидеть на первой странице сниппет, содержащий нужный нам топоним, по наличию подсветки которого мы сможем сделать вывод о геозависимости проверяемого запроса.
К сожалению, упомянутый метод не так давно потерял свою работоспособность. Судя по всему, неожиданным образом потерялась логика группировки запроса на две независимые части по разные стороны от оператора | («логическое ИЛИ»). То есть по факту Яндекс этот оператор игнорирует, и выдачи как с ним, так и без него идентичны:
Вообще, с логикой работы даже документированных операторов языка запросов в последнее время в Яндексе творятся очень странные вещи. Но как бы то ни было, постараемся понять, чем грозит методу подобная реакция поиска на запрос? А тем, что метод уже не является универсальным, и может не давать результатов для целого класса запросов, содержащих в себе такие ключевые слова, для которых на сайте, выбранном для сужения запроса, не найдется релевантных документов. Например:
То есть нам необходимо вернуть потерянную группировку двух частей запроса. Удивительно, но в этом нам может помочь уже официально списанный Яндексом в утиль оператора группировки () («круглые скобки»). О прекращении поддержки этого оператора наряду с некоторыми другими было объявлено 31 января 2017 года, вскоре он исчез из официальной документации. Но, тем не менее, на текущий момент частично сохранил свою работоспособность. 
Для начала хочу внести небольшую, но важную поправку к своей предыдущей статье о методе определения геозависимости. Тогда я писал о том, что «изучая свойства геозависимости запросов, я обратил внимание на тот факт, что добавление к исходному запросу через документированный оператор | (логическое ИЛИ) какого-либо достаточно редкого термина (т.е. имеющего достаточно большое значение IDF – обратной частоты встречаемости в коллекции документов)». 
Но, к сожалению, забыл добавить, что для корректной работы метода, этот термин с большим IDF должен быть обязательно геонезависимым. То есть геозависимость запроса, состоящего из двух частей, разделенных оператором | («логическое ИЛИ») есть логическая сумма (дизъюнкция) значений геозависимости этих двух частей, при этом значению 1 («ИСТИНА») соответствуют геозависимые запросы, а значению 0 («ЛОЖЬ») - геонезависимые. И поэтому только в том случае, когда добавочный запрос является геонезависимым, геозависимости исходного запроса и конечного составного запроса совпадают.
Правда, в оправдание своей забывчивости я могу сказать, что в подавляющем своем большинстве запросы с большим IDF являются геонезависимыми, поэтому вероятность при его случайном выборе ошибки была невелика. Собственно, выбранный мною добавочный запрос, состоящий из термина arsenaltula, как раз и является геонезависимым, в чем мы убедимся несколько позже.
Итак, конструируем новый запрос, который бы сохранил логику работы предыдущего. Для начала нам понадобится выбрать другой тестовый сайт, так как у сайта, использовавшегося в примерах предыдущей статьи из заголовков страниц исчез топоним «Тула». По подсветке которого в сниппетах выдачи для соответствующего региона «Тула» (lr=15) и определяется геозависимость запроса. Я просто заменю официальный сайт тульского футбольного клуба «Арсенал» на сайт его болельщиков, доменное имя которого отличается от предыдущего только наличием дефиса, и страницы которого также релевантны выбранному добавочному запросу. И, что немаловажно, содержат в заголовках нужный топоним, отображаемый в сниппетах. Заодно по отсутствию подсветки топонима в сниппетах убедимся в том, что выбранный добавочный запрос действительно геонезависим:
Далее пробуем заключить в скобки обе части запроса из предыдущего метода. И, к моему огромному удивлению, получаем опять пустую выдачу:
Эпик фейл? Недокументированный оператор уже не работает? Но не тут-то было! Получается, что при таком применении – да, действительно не работает. Но неисповедимы пути Яндекса, и стоит нам поменять местами части запроса, как мы чудесным образом получаем нужный нам результат.  По отсутствию подсветки в сниппетах говорящий нам, что базовый запрос геонезависим:
Поистине, текущая логика работы языка запросов Яндекса непредсказуема. Сразу же возникает вопреки всякой элементарной логике шальная гипотеза изыскателя – а вдруг подобная рокировка поможет нам и без недокументированных «скобок»? Но не тут-то было, здесь Яндекс остается на удивление логичным:
В общем, получаем понимание, что пока придется-таки использовать недокументированные «скобки». Напоследок убеждаемся, что для геозависимого исходного запроса, новый метод демонстрирует ожидаемую подсветку в сниппетах:
Что позволяет считать его вполне рабочим. В итоге берем новый метод на вооружение вместо прежнего, искренне надеясь, что коварная и непредсказуемая логика языка запросов Яндекса его в скором времени не испортит. Ну, а если и испортит, так все равно сможет найтись достойная альтернатива.
P.S. Замечено, что к сожалению, иногда в Яндексе глючит оператор | («логическое ИЛИ»), и метод выдает пустую выдачу. Но это не проблема метода, а проблема Яндекса. К счастью, пока довольно редко встречающаяся.

понедельник, 2 октября 2017 г.

Лайфхак №4. Альтернативный способ определения геозависимости запроса в Яндексе

Немногим более года назад я опубликовал в своём блоге довольно любопытный способ определения геозависимости выдачи Яндекса одним запросом. Вообще традиционный способ определения геозависимости подразумевает минимум два запроса – надо    сравнить выдачи для разных регионов. Там, где они совпадают, делается вывод о геонезависимости. Однако, в последнее время выдача даже в одном и том же регионе по одним и тем же запросам, сделанным в разные моменты времени, может различаться вследствие различных причин, например, примеси «многорукого бандита». Что может привести к неверному выводу о геозависимости геонезависимого запроса. Таким образом, задача определения геозависимости выдачи именно одним запросом достаточно актуальна. 
Способ, предложенный мною год назад, в общем-то пока еще является рабочим (правда, с некоторых пор несколько ограниченно – только для запросов, где есть быстроботовская примесь), однако он использует операторы языка запроса Яндекса, которые больше не содержатся в официальной документации и о прекращении поддержки которых было официально объявлено в январе этого года. Идея этого способа заключалась в том, что геозависимые запросы имеют в сниппетах подсветку жирным шрифтом топонима региона выдачи. Поэтому основная задача заключалась в том, чтобы сформировать выдачу таким образом, чтоб в сниппеты первых 50 результатов выдачи (максимальное количество результатов, которое можно получить одним запросом) входил топоним, чтобы по наличию или отсутствию его подсветки сделать вывод о геозависимости запроса. Тогда это удалось сделать с помощью двойного использования операторов отрицания ~~, а также оператора title: (поиск в заголовке документа) и оператора << (неранжирующее И), но именно этим операторам в числе прочих в последствии было отказано в поддержке. На момент написания статьи прежний способ работает весьма специфически – в выдаче показываются только документы из быстроботовской примеси, однако, по ним вполне можно сделать анализ. Однако нельзя гарантировать наличия быстроботовской примеси для конкретного запроса, да и нет никакой уверенности, что и быстроботовская примесь не исчезнет в любой момент, как исчезла органическая выдача, кстати, еще буквально пару недель назад имевшаяся в наличии по сформированному подобным образом запросу.
Таким образом, возникает потребность в более надежном способе, не использующем неподдерживаемые официально операторы языка запроса. При этом было бы логично, используя прежнюю идею, найти иной способ ее реализации, т.е. обеспечить наличие в топе результатов поиска гарантированного формирования сниппета с топонимом. 
Изучая свойства геозависимости запросов, я обратил внимание на тот факт, что добавление к исходному запросу через документированный оператор | (логическое ИЛИ) какого-либо достаточно редкого термина (т.е. имеющего достаточно большое значение IDF – обратной частоты встречаемости в коллекции документов) никак не влияет изменение геозависимости запроса. Это наблюдение я и решил положить в основу альтернативного решения поставленной задачи формирования нужного сниппета. 
Добавление к исходному запросу нового термина дает нам массу возможностей в этом плане. Достаточно найти релевантный этому термину сайт, содержащий в теге title своих страниц какой-нибудь топоним, и построить выдачу для соответствующего региона, суженную на этот конкретный сайт. Поясню на примере. 
Возьмем в качестве исходных запросов примеры из прошлогодней статьи – доставка пиццы (как пример геозависимого запроса) и вкусный борщ (как пример геонезависимого). Убедимся, что пока еще работающиий старый способ это подтверждает. У первого запроса топоним Москва подсвечивается жирным шрифтом в московской выдаче (lr=213):
А у второго – нет:
В качестве дополнительного термина с большим IDF я взял термин arsenaltula – часть доменного имени официального сайта футбольного клуба «Арсенал» из города Тулы (arsenaltula.ru), т.к. в теге title главной страницы этого сайта содержится топоним Тула. И сформировал суженные на этот сайт (с помощью get-параметра URL страницы выдачи site) выдачи для региона Тула (lr=15) для исходных запросов с добавлением через оператор | (логическое ИЛИ) дополнительного термина. В первом случае ожидаемо получил подсветку жирным шрифтом топонима Тула в сниппете:
А во втором – подсветки топонима ожидаемо не обнаруживается:
Безусловный плюс данного метода – это возможность гарантированного формирования нужного сниппета практически для любого исходного запроса. Чего, кстати, в общем случае не мог гарантировать предыдущий метод. Однако есть и минус – все-таки нам приходится модифицировать исходный запрос, и гарантировать в общем случае, что такая модификация не повлияет на геозависимость исходного запроса, нельзя. Наиболее находящимися в зоне риска мне представляются запросы, содержащие термины с большим IDF. Однако на данный момент мне случаев смены геозависимости запроса вследствие его подобной модификации обнаружить не удалось. Так что пока что я склонен считать данный метод вполне рабочим. И что, самое главное – очень удобным.
В заключении хотелось бы упомянуть об одном глюке поисковой выдачи Яндекса, который необходимо учитывать при применении методики. Оказывается, не для каждого региона осуществляется подсветка топонима в сниппете для геозависимых запросов. Так, к примеру, мне прислали пример, что этого не происходит в регионе Орёл (lr=10):


вторник, 17 мая 2016 г.

Определение геозависимости в Яндексе одним запросом

Встретил сегодня в фейсбучной ленте интересную задачку, сфоррмулированную одним из френдов – украинским оптимизатором Олегом Саламахой – «Как определить геозависимость в Яндексе одним запросом?» .
В общем-то, задача определения геозависимости запроса в Яндексе не очень сложна – нужно просто сравнить выдачи по проверяемому запросу в разных регионах. Там, где они совпадают – запрос геонезависимый (ГНЗ):
Там, где не совпадают – геозависимый (ГЗ):
Но это надо делать минимум два запроса. Да, к тому еще и «многорукий бандит» может вмешаться в одну из региональных выдач, и мы получим ложноположительное срабатывание на геозависимость. 
Если обратить внимание на сниппеты у скриншота с геозависимыми запросами, то легко заметить, что вместе со словами запроса подсвечиваются также и топонимы – слово «Москва» для московской выдачи и слово «Тула» соответственно для тульской. Для ГНЗ топоним, соответствующий региону выдачи, в сниппетеах не подсвечивается:
Это свойство и постараемся использовать для решения поставленной задачи. Однако далеко не всегда в сниппетах базового запроса можно найти нужный топоним, чтоб проверить его подсветку. Так, например, по запросу вкусный борщ он не встречается в первых 50 результатах поиска (а это максимальное количество результатов, которое можно получить одним запросом). Возникает мысль сузить выдачу таким образом, чтоб максимизировать вероятность нахождения топонима в сниппете. Так как содержимое тега title – непременный атрибут поискового сниппета, то логично сузить выдачу только на те документы, которые содержат в теге title искомый топоним. Однако, если делать это в лоб, то у ГНЗ появляется подсветка топонима:
То есть в лоб задача не решается. Но каждый знакомый с логикой знает, что двойное отрицание – есть утверждение. Поэтому построим запрос на двойном отрицании. И подсветка для ГНЗ исчезает:
Проверим, остается ли она для ГЗ. Здесь всё в порядке:
Таким образом, получаем простой способ получить одним запросом выдачу с очень большой вероятностью нахождения топонима в сниппете, по наличию подсветки которого можно определить геозависимость запроса.
И в заключении небольшой нюанс, касающийся класса запросов, уже содержащих какие-либо топонимы в себе. В этом случае для проверки нужно выбрать регион для выдачи, который не связан в уже имеющимися в запросе топонимами. Например, запрос билеты москва минск можно проверять на геозависимость в тульской выдаче:
Пользуйтесь на здоровье ☺



Blog Archive

Технологии Blogger.