вторник, 6 декабря 2016 г.

«Атипичная синонимия» в выдаче Яндекса – проделки «Палеха»?

В текущем году Яндекс уже во второй раз нас порадовал внедрением нового официального «именного» алгоритма ранжирования. И если февральский «Владивосток» касался только мобильной выдачи, то ноябрьский «Палех» был анонсирован для общей формулы. Вкратце – Палех предназначен для поиска таких ответов на запросы, которые не содержат ключевых слов, входящих в запрос, но тем не менее релевантны ему. Это особенно актуально для длинного хвоста низкочастотных запросов, когда пользователь формулирует запрос достаточно нечетко, не сумев подобрать «правильных» ключевых слов, по которым поисковая система может выдать ему релевантный ответ. Поэтому поисковику приходится подбирать некоторые «ассоциации» к исходному запросу.
Впрочем, проблема с подбором расширенных результатов поиска не нова, и Яндекс уже давно пытается ее решить. Первой ласточкой было внедрение в 2008-м году в алгоритме «Магадан» первых вариантов синонимов ключевых слов – перевода и транслитерации. Затем синонимы сильно расширились за счет создания специального словаря. Также было внедрение в 2010-м году в алгоритме «Краснодар» технологии «Спектр» – попытки расширить выдачу за счет учета возможных вариантов расширения потребностей пользователя, заданных в общем, достаточно неоднозначно сформулированном, запросе.
Но все эти нововведения не решали проблему релевантной выдачи для «длинного хвоста», и вот появился «Палех». И сразу же стала весьма интересной задача определения, какие именно результаты выдачи сформированы именно этим алгоритмом.
Об идентификации различных уже известных примесей к органической выдаче Яндекса, в том числе, и сформированной технологией «Спектр», я писал в своей статье «Примеси к органической выдачи Яндекса».
Примерно месяц назад (еще до анонса «Палеха») мне показали один любопытный запрос, отдельные результаты в выдаче по которому, заставили задуматься о том, что в ней могло появиться что-то новое. Выдача по запросу по названию русскоязычной школы «Адриатик Колледж», находящейся в черногорском городе Будва, содержит ссылки на документы, касающиеся других русскоязычных школ Черногории и не имеющие подсветки ключевых слов из запроса в сниппетах:
Оказывается, что эти страницы вообще не содержат слов запроса ни в контенте, ни в текстах входящих ссылок:
В общем-то, подобная картина характерна для документов, найденных с помощью одних только синонимов слов запроса. Так, например, находящийся на первом месте документ, имеет точно такие же свойства, демонстрируя нам подсвеченные синонимы (а именно, перевод слов запроса на английский язык) в сниппете:
Однако, мне удалось найти конструкцию запроса (с добавлением оператора отрицания с термином, заведомо не содержащимся в документе, например, произвольной абракадабры), при которой выдача для данных документов ведет себя по-разному, в одном случае документ продолжает находиться, в другом - нет:
Что дает возможность предположить, что документы, для которых в таком случае выдача пуста, попали в выдачу каким-то иным способом, нежели с помощью традиционного со времен релиза «Магадан» механизма учета синонимов. Назову это явление «атипичной синонимией».
Дальнейшее исследование показало, что документы, ведущие себя в выдаче по базовому запросу [адриатик колледж] как найденные с помощью «атипичной синонимии», достаточно хорошо находятся с помощью следующего запроса (по крайней мере, такими свойствами обладают четыре документа из топ-5):
Что позволяет предположить наличие некоей связи между запросами [адриатик колледж] и [русская школа в черногории] или схожим ему по смыслу и набору ключевых слов. Документ, который мы выбрали для примера идентификации «атипичной синонимии», также находится по запросу [русская школа в черногории], хоть и по тексту входящих ссылок:
Анонс алгоритма «Палех», в котором говорится, что семантический вектор стал использоваться несколько месяцев назад, наталкивает на мысль, что подобная «атипичная синонимия» может быть не чем иным, как результатом работы «Палеха».
Еще один пример «атипичной синонимии» я обнаружил у запросов, представляющих собой некоторые достаточно редко употребляемые русскоязычные варианты корейского бренда «Hyunday»:
Кроме запроса [хенде] «атипичная синонимия» наблюдается на запросах [хендей], [хэндэй], [хендеи], [хендаи], [хюнде].
Другие же (более распространенные?) русскоязычные варианты бренда, такие как [хендай] ведут себя, как «типичные» синонимы:
К ним также относятся запросы [хюндэй], [хюндай], [хюндаи] и др.
Я буду очень признателен, если кто-то из читателей найдет в выдаче подобные примеры «атипичной синонимии» и пришлет мне на е-мейл ludkiewicz@yandex.ru для исследования. А вдруг это действительно реальный способ идентифицировать примесь к органике, сформированную «Палехом».

понедельник, 7 ноября 2016 г.

Региональность в Google. Установка региона выдачи через браузер Chrome

В своей предыдущей статье «Региональность в Google. Get-параметр uule» я рассказал об одном способе получить у себя в браузере выдачу для любого интересующего вас региона посредством добавления в URL страницы поисковой выдачи get-параметра uule со значением, соответствующим  данному региону. Однако есть и альтернативный способ – убедить Google в том, что вы находитесь в интересующем вас регионе. Сделать это можно через настройки браузера Chrome.
Итак, согласно информации, представленной в Справке по веб-поиску, Google может автоматически определять местоположение пользователя на основе IP-адреса, истории местоположений (если она включена) или истории поисковых запросов. Для начала мы должны в браузере Chome позволить Google учитывать наше местоположение по IP-адресу, если это еще не было сделано. Допустим, вы видите внизу страницы поисковой выдачи, что ваше местоположение определяется исходя из вашей истории поиска. Нужно нажать ссылку «Указать мое местоположение» и в появившемся всплывающем окне дать сайту www.google.ru разрешение на доступ к данным о вашем местоположении:
Итак, я физически нахожусь в Туле, и после выданного разрешения местоположение в командной строке браузера Chrome появляется значок означающий, что загруженный сайт отслеживает ваше местоположение, а в низу страницы поисковой выдачи Google местоположение сменяется на «Тула – С этого компьютера» – это автоматически определяет Google на основании моего IP-адреса. Обновив страницу, я получаю выдачу для своего региона – Тулы:

Чтобы получить в браузере Chrome выдачу Google для другого региона (в качестве примера возьмем Брянск), необходимо знать географические координаты интересующего вас места. Это можно сделать разными способами. Например, в сервисах Google Maps или Яндекс.Карты, введя название населенного пункта в поисковую строку – искомые координаты содержатся в URL страницы выдачи:
А в Яндекс.Картах дополнительно еще и в контенте самой страницы:
Итак, у нас есть координаты нужного места. В настройках браузера Chome с загруженной в него страницей поисковой выдачи выбираем пункты меню «Дополнительные инструменты» – «Инструменты разработчика» (также активируются нажатием кнопки F12 или комбинации кнопок Ctrl+Chift+I).
Далее идем по цепочке пунктов меню пункт меню «Customize and control DevTools» – «More tools» – «Sensors». В открывшейся вкладке «Sensors» для пункта «Geolocation» выбираем значение «Сustom location…» и вводим имеющиеся у нас координаты широты («Latitude») и долготы («Longitude») нужного нам населенного пункта (в нашем случае – Брянска). После этого еще раз нажимаем ссылку «Учитывать моё местоположение» (вместо неё так же может быть ссылка «Обновить»):
Теперь еще раз задаем поисковый запрос и видим у себя в браузере Chrome выдачу для населенного пункта, географические координаты которого мы ввели на предыдущем шаге, в нашем случае – Брянска:

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

вторник, 11 октября 2016 г.

Региональность в Google. Get-параметр uule.

В своей предыдущей статье «Региональность в Google» я упоминал о весьма актуальной проблеме для регионального поиска Google – возможности получения в своем браузере поисковой выдачи для произвольного региона, а не только для того, к какому автоматически отнесет ваш компьютер сам Google на основании вашего IP-адреса. В качестве одного из решений упоминался инструмент для предварительного просмотра объявлений – Ad Preview Tool. Однако в текущем виде этот инструмент имеет весьма существенные ограничения – результаты показываются в виде скриншота первой страницы выдачи, содержащей только 10 результатов, и поэтому с его помощью заглянуть дальше, чем за топ-10, нельзя.
Между тем результаты работы инструмента Ad Preview Tool не всегда выдавались в виде скриншота. Так, например, на форуме Searchengines.guru в одной из дискуссий за декабрь 2015 года упоминается о том, что можно было получить результат поиска в заданном регионе в виде URL. И приводится пример подобного URL для региона «Красноярск»:
https://www.google.ru/search?q=%D1%80%D0%B5%D0%BC%D0%BE%D0%BD%D1%82+%D0%BD%D0%BE%D1%83%D1%82%D0%B0&
newwindow=1&hl=ru&tci=p:30000,g:1011941&adtest=on&noj=1&igu=1&
uule=w+CAIQICIjS3Jhc25veWFyc2ssS3Jhc25veWFyc2sgS3JhaSxSdXNzaWE&nomo=1&nota=1&
source=lnms&sa=X&ved=0ahUKEwimqq658LrJAhUFinIKHe5tDOsQ_AUIBygA&biw=1920&
bih=961&dpr=1&glp=1&ip=0.0.0.0
И действительно, находясь в другом регионе, для данного URL мы имеем возможность наблюдать внизу страницы выдачи упоминание, что поиск осуществляется именно по региону «Красноярск»:
Осталось понять, какой из многочисленных get-параметров данного URL поисковой выдачи отвечает за указание региона. Несложные манипуляции показывают, что удаление из URL параметра &uule=w+CAIQICIjS3Jhc25veWFyc2ssS3Jhc25veWFyc2sgS3JhaSxSdXNzaWE приводят к тому, что регион выдачи меняется на определяемый Google автоматически (в моем случае это Тула):
Теперь для другого запроса сами построим URL выдачи, содержащий только get-параметры q (текст запроса) и uule с обозначенным выше значением, и убеждаемся, что опять видим выдачу для Красноярска:
Итак, теперь остается понять, каким образом построить нужное значение параметра uule для произвольного региона.
Для этого я хочу вас отослать к замечательной статье https://moz.com/ugc/geolocation-the-ultimate-tip-to-emulate-local-search , где подробно рассказывается о том, каким образом строится значение этого параметра. Для этого нужно:
  1. Определить каноническое название на латинице интересующего региона с помощью инструмента Google Geographical Targeting.
В случае Красноярска получаем значение
Krasnoyarsk,Krasnoyarsk Krai,Russia
  1. Определить длину канонического названия в символах.
В нашем случае это значение будет равно 35.
  1. Определить значение спецсимвола (<secretkey>) с помощью таблицы
В нашем случае это будет символ j.
  1. Перекодировать каноническое название в формат Base64 (<base64encode>). Например, это можно сделать с помощью инструмента на сайте https://www.base64encode.org/.
В нашем случае мы получим строку
S3Jhc25veWFyc2ssS3Jhc25veWFyc2sgS3JhaSxSdXNzaWE
  1. Скомпоновать значение параметра uule по формуле
w+CAIQICI плюс <secretkey> плюс <base64encode>
Итого имеем:
w+CAIQICIjS3Jhc25veWFyc2ssS3Jhc25veWFyc2sgS3JhaSxSdXNzaWE
Что полностью совпадает со значением параметра uule из рассмотренного нами ранее примера.
Таким образом по данному алгоритму можно сконструировать значение параметра uule для любого региона, имеющего каноническое название в системе географического таргетинга Google, и добавив этот параметр со сконструированным значением в URL страницы поисковой выдачи Google, получить в своем браузере выдачу для этого региона.
В качестве контрольного примера возьмем любой другой регион, например, «Брянск», и пройдем по шагам алгоритма:
  1. Bryansk,Bryansk Oblast,Russia
  2. 29
  3. d
  4. QnJ5YW5zayxCcnlhbnNrIE9ibGFzdCxSdXNzaWE
  5. w+CAIQICIdQnJ5YW5zayxCcnlhbnNrIE9ibGFzdCxSdXNzaWE
Подставив полученную строку в качестве значения get-параметра uule, получаем у себя в браузере выдачу для Брянска, что подтверждается пометкой внизу страницы поисковой выдачи:


пятница, 9 сентября 2016 г.

Параметры URL страницы поисковой выдачи Google

В одной из своих предыдущих статей я рассмотрел парaметры URL страницы поисковой выдачи Яндекса. Теперь рассмотрим тот же вопрос для поисковой системы Google. Там так же, как и в Яндексе, существует возможность регулировать результаты выдачи по базовому запросу (которому соответствует значение параметра q или as_q) с помощью целого ряда get-параметров формата переменная=значение, используемых в URL страницы поисковой выдачи после подстроки /search? . Использование этих параметров может быть весьма полезно при парсинге поисковой выдачи.
Также, как и в случае Яндекса, базовый набор этих параметров можно определить с помощью использования фильтров расширенного поиска, режима «Инструменты поиска», а также индивидуальных настроек поиска.
Примечательно, что некоторые параметры URL страницы выдачи Google сопровождаются появлением соответствующих им поисковых операторов в форме поиска (в Яндексе подобного не происходит). Таковым является набор параметров со значением в виде поисковой фразы:
  • as_epq – поиск по фразе в точной форме, аналог оператора “” (кавычки)
  • as_oq – поиск по любому слову фразы, аналог оператора OR
  • as_eq – исключаемая из запроса фраза, аналог оператора (минус)
А также параметры с другими типами значений:
  • as_nlo и as_nhi – задают начало и конец цифрового диапазона соответственно, аналог оператора .. (две точки)
  • as_sitesearch – сужают область поиска на заданный сайт, аналог оператора site:
  • as_rq – ищет страницы, похожие на заданный документ (в качестве значения используется URL документа), аналог оператора related:
  • as_occt – задает область документа для поиска, принимает значения
  • as_occt=title (поиск в теге title, аналог оператора allintitle:)
  • as_occt=body (поиск в тексте страницы, аналог оператора allintext:)
  • as_occt=url (поиск в URL страницы, аналог оператора allinurl:)
  • as_occt=links (поиск в текстах ссылок на страницу, аналог оператора allinanchor:)
  • as_filetype – задает формат документов для поиска (аналог оператора filetype:) и принимающий значения pdf, ps, dwf, kml, kmz, xls, ppt, doc, rtf, swf.


Другие типы параметров, не производят изменений в поисковой строке.
Языковые параметры:
  • lr – язык документа  (принимают значения в виде lr=lang_ru, где последние две буквы означают индекс языка, в данном примере – русский)
  • hl – язык интерфейса (приминает значения в виде двухбуквенного индекса языка, например, hl=ru – для русского). Примечательно, что этот параметр влияет на выдачу, некоторое преимущество получают документы на языке интерфейса.


Региональные параметры:
  • cr – страна документа (принимает значения в виде cr=countryRU, где последние две буквы означают индекс страны, в данном примере – Россия).
  • gl – страна документа, принимает значения в виде двухбуквенного индекса страны (например, gl=ru для России), аналог оператора cr, однако выдачу строит отличную от него). Стоит заметить, что при использовании операторов cr и gl в топ выдачи подмешиваются сайты из региона или страны пользователя, если она не совпадает со страной, заданной оператором (об этом эффекте я упоминал в статье «Региональность в Google»).
  • near – весьма любопытный недокументированный параметр, которому можно указывать в качестве значения название населенного пункта (на английском или русском языке, например, near=moscow или near=екатеринбург). Однако, эта выдача не является выдачей для указанного населенного пункта. Судя по всему, этот параметр в выдаче, построенной для региона пользователя, дает сайтам из указанного в качестве его значения населенного пункта некоторое преимущество.
Временные параметры:
  • as_qdr и tbs – поиск по документам, имеющим определенную дату обновления (при совместном использовании приоритет имеет параметр tbs). Принимают базовые значения:

as_qdr
tbs
за последний час
h
qdr:h
за последние 24 часа
d
qdr:d
за последнюю неделю
w
qdr:w
за последний месяц
m
qdr:m
за последний год
y
qdr:y
За все время
all
qdr:all
Если же к базовым значениям (кроме значений за все время) добавить число, то можно получить выдачу за несколько соответствующих временных промежутков, например, комбинация as_qdr=h9 сузит выдачу на документы, обновленную за последние 9 часов, а комбинация tbs= qdr:m24 – за последние 24 месяца.
Также с помощью оператора tbs можно задавать произвольный диапазон дат обновления документа, в этом случае, он принимает значение следующего формата:
tbs=cdr:1,cd_min:01.07.2016,cd_max:01.08.2016 (в данном примере указан диапазон от 01.07.1016 до 01.08.2016)
Если при использовании временных параметров с указанными значениями задать для параметра tbs дополнительное значение sbd:1, то результаты будут ранжироваться не по релевантности, а по времени обновления. Этот способ не работает только в том случае, если параметр as_qdr принимает значение all. Поэтому получить выдачу за все время, отсортированную по времени обновления, можно только с использованием комбинации tbs=sbd:1,qdr:all
Оператор tbs, являющий универсальным, может также принимать значение li:1 – поиск по запросу в точной форме (аналог оператора “”), однако в этом случае в поисковой форме не происходит появления соответствующего оператора.


Параметры фильтрации контента:
  • safe – значения active и on включают фильтрацию непристойных результатов с помощью безопасного поиска, значение off отключает фильтрацию в случае, если в настройках поиска был включен режим «Безопасный поиск»; этот параметр может быть весьма полезен для определения, не попал ли конкретный сайт или документ под данный фильтр
  • as_rights – задание различных вариантов прав на использование контента
  • tbm – поиск по различным типам контента, принимает значения
  • app – поиск по приложениям
  • bks – поиск по книгам
  • isch – поиск по изображениям
  • nws – поиск по новостям
  • pts – поиск по патентам
  • shop – поиск по магазинам
  • vid – поиск по видео
Параметры управления результатами поиска:
  • num – количество результатов на странице поиска, принимает значения от 1 до 100
  • start – показ выдачи, начиная с заданной позиции (например, start=100)
  • newwindow=1 – открывать ссылки в новом окне
  • filter=0 – показать скрытые результаты, которые очень похожи на уже представленные
  • pws – управление персональными результатами поиска, принимает значения 0 (персональные результаты скрыты) и 1 (персональные результаты включены)


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