Работаем с 2009 года Более 450 успешных проектов Санкт-Петербург
8 (999) 849-91-09

Автоматические методы идентификации географической принадлежности веб-сайтов

Возможность эффективного автоматического определения географической принадлежности сайтов является первостепенной задачей поиска локальной информации в глобальной сети, особенно с учетом того, что более 95% проиндексированных Яндексом ресурсов, так или иначе относятся к Российской Федерации. Сегодня интернет активно проникает в регионы удаленные от Москвы и Санкт-Петербурга, что предполагает возможность предложения их жителям ближайших по их территориальному месторасположению сайтов. Из содержащихся в Я.Каталоге ресурсов с ручным присвоением региона более 55% относятся к Российским городам, однако это решает сложившуюся проблему только частично. В литературе имеется достаточное количество методов для вычисления месторасположения организаций на основании IP-адресов, доменных имен и анализа содержимого сайтов. Основной же идеей нашего с вами подхода является эффективное совмещение нескольких источников извлечения географической информации. Приведенный ниже рисунок показывает объединение алгоритмов Яндекса следующим образом:

привязка сайта к региону

Где CBC — это классификатор, исследующий контент (мы его подробно изучим в части анализа содержимого сайтов организаций). Стоит заметить, что он также может применяться поисковой системой в качестве фильтра для исключения неуникальной информации для какого-либо региона (аффилиация); DLC — это классификатор доменных имен, который учитывает транслитерацию; DNHC — учитываются географические домены третьего уровня; Host Location (мы его подробно изучим в части анализа внешних баз данных по IP-адресам); IP-blocks — это классификатор непрерывных блоков IP-адресов. Более жирные линии показывают нам то, что накопленные результаты какого-либо этапа классификации комбинируются со входными данными для последующей обработки.

Анализ внешних баз данных по IP-адресам

В зависимости от поставленных перед нами задач по извлечению информации из сети, один известный IP-адрес (Internet Protocol Address) может предоставить нам геоданные не только о физическом месторасположении сервера с текущим IP (Host Location), но также и сообщить данные о физическом месторасположении организации, вероятно хранящей свою информацию на территориально удаленном сервере (Provider Location). Кроме перечисленных двух типов адресов (для разработчиков поисковых систем они необходимы, прежде всего, для показов контекстной рекламы), существует еще позиционирование сервиса (Serving Location), но в данном материале нас в основном будут интересовать взаимосвязи между Host и Provider Location. Иными словами, мы попытаемся определить все возможные методы вычисления действительного адреса владельцев известных IP-адресов. Перед тем, как мы перейдем к анализу текущего материала, нам следует сделать одно очень важное замечание касательно того, что несмотря на тот факт, что в распоряжении глобальных интернет служб имеются данные о владельцах доменных имен, IP-адресов и автономных систем, которую мы в любой момент времени можем запросить для своего пользования, существуют ряд критических ограничений, касательно автоматического извлечения регистрационного материала из сервиса whois (от англ. who is — «кто такой?»). Всегда существует вероятность того, что регистрационные данные могут не совпадать с той контактной информации (юридический адрес), которая указывается владельцем веб-сайта на соответствующих страницах с адресной информацией (физический адрес). По причине того, что с течением времени база данных владельцев доменных имен и IP-адресов могут устаревать, нам также следует поддерживать ее в относительно свежем виде.

В своей работе мы проанализируем имеющееся соответствие между информацией предоставляемой глобальными провайдерами, а также коммерческими организациями, которые реализуют информацию о географической привязке IP-адресов (мы будем исследовать только те IP, которые указывают на Россию), и открытыми для сканирования данными о владельцах тех или иных веб-сайтов. Для начала мы будем использовать глобальные данные RIPE.DB, информацию российских провайдеров RIPE_PROVIDER и коммерческие данные MAXMIND_RUSSIA, IP2COUNTRY. Последние две коммерческие базы содержат более структурированную информацию (для каждого IP-адреса определен населенный пункт), нежели чем две предыдущие. Поэтому для выявления неструктурированных записей нам потребовалось специально разработанное программное обеспечение, которое позволило выделять блоки географической информации (country, city и пр.), сопоставлять их с русско-английским словарем и, наконец, логически определять нераспознанную в полученной иерархии (страна — город — адрес) информацию. В этой части вычисляется географическая принадлежность к какому-либо населенному пункту Российской Федерации для более 74% сайтов из имеющейся выборки.

Анализ содержимого сайтов региональных организаций

Далее нашей задачей становится автоматическое сканирование содержимого веб-сайтов посредством специально разработанного алгоритма поиска и выделения таких документов, которые содержат контактную информацию об организации. Иными словам, в случае успешного ее обнаружения (в нашем исследовании мы не будем учитывать DNS-имя документа, сумму упоминаний населенного пункта в контенте и региональных входящих / исходящих линках), мы попытаемся проанализировать такую интересующую нас информацию, как: страна, почтовый индекс, город, улицу / проспект, строение, контактные телефоны. Мы будем использовать как словарь нахождения соответствующего документа ADR с контактными данными организации (табл. 1), который содержит ключевые фразы в виде регулярных выражений, так и словарь обнаружения конкретного местонахождения (табл. 2), содержащего в себе упоминания города, почтового индекса, улицы / проспекта и номеров контактных телефонов.

Регулярное выражение Релевантность перехода Регулярное выражение Релевантность перехода
About 30 О нас 70
Company 60 О компании 70
Kontakt 85 Контакт 95
Contact 85 Наш адрес 100
Sitemap 40 Как нас найти 100
Location 80 Координаты 80
   

Табл. 1 Поиск документа ADR с контактными данными организации

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

Первым параметром является глубина поиска соответствующего документа ADR, то есть такая числовая величина (у нас она составляет 2-3 перехода по внутренним ссылкам), которая определит глубину автоматического поиска страницы на каком-либо веб-сайте. Вторым параметром будет уяснение того, имеет ли смысл искать на всех обнаруженных страницах или ограничиться поиском только в той части, которые имеют значение релевантности отличное от нуля (содержит минимум одно слово из нашего словаря).

Сам процесс обнаружения документа ADR будет учитывать поведение пользователя ресурса, который начинает свой просмотр с главной страницы сайта, а затем пытается отыскать необходимую ссылку на контактную информацию организации. Сканируя в исходном HTML-коде полученного документа внутренние ссылки, мы выделяем ее анкор, атрибут alt, исследуем имя файла. Далее, мы преобразуем относительные ссылки вида <a href=»contacts»>Контакты</a> в абсолютные вида <a href=»http: //wseob.ru/contacts»>Контакты</a> и проверяем на предмет того, ведут ли они на внешние веб-ресурсы (не учитываем) или на исследуемый домен (учитываем). Для каждой учтенной на предыдущем этапе ссылки вычисляется свое значение релевантности в соответствие с таблицей 1, оставляя для дальнейшего анализа только те, которые имеют значение релевантности отличное от нуля. Для тех случаев, которые хотя бы один раз пересеклись с имеющимся у нас словарем, мы определяем уровень глубины нашего поиска и начинаем поочередно исследовать каждый уровень отличный от индексной страницы (нулевой уровень) до тех пор, пока либо мы не обнаружим искомый документ ADR, либо не будет превышен временной (не более 10 секунд ответа от сервера), глубинный и/или количественный лимит наших попыток.

Поле A Поле B Поле C Поле D
Адрес Г. телефон: ул.
Адрес: Город тел./факс: проспект
адресу: г тел: пр-кт.
  Гор. Т. наб.
    звоните: пер
      проезд

Табл. 2 Поиск конкретного местонахождения организации в документе ADR

В соответствии с таблицей 2 для обнаружения конкретного местонахождения мы пытались обнаружить адрес по следующему общепринятому стандарту прописания данных: [почтовый индекс] [страна] [населенный пункт] [улица/проспект] [дом/строение] [помещение/офис] [телефон]. Именно такой стандарт обозначения почтовых адресов на странице может потребовать от вас качественная поисковая оптимизация и продвижение сайтов по какому-либо заданному региону, даже, несмотря на то, что сегодня Яндекс предлагает владельцам ресурсов определять регионы в ручном режиме через панель Вебмастера. Возвращаясь к нашему исследованию, мы также учитывали возможные пропуски и варианты написания адреса в тексте. Наиболее пристальное внимание было уделено анализу знаков препинания, последовательности прописания и дистанции (ограничение в 40 символов) между ключевыми фразами, наличию нескольких адресов в одном документе ADR. В этой части мы смогли загрузить минимум одну страницу для 34% сайтов из имеющейся выборки, из которых географическая принадлежность к какому-либо населенному пункту Российской Федерации была определена для 12,9% сайтов. Несмотря на столь низкие результаты по сравнению с первой частью нашего исследования, точность работы нашего алгоритма составила 94%. Полнота текущей версии алгоритма составила 39%, что во многом обусловлено особенностями прописания ряда адресов, ограниченностью имевшихся у нас в работе словарей, а также наличию на данных веб-сайтах технических ограничений сканирования (редиректы, flash/splash заставки, англоязычный контент, ошибка 404).

Сравнение полученных результатов

Базе, которая была получена на этапе анализа данных по IP-адресам, мы присвоим имя IP_BASE (она моделирует Host Location), а ту, которая была сформирована на этапе анализа содержимого сайтов, обозначим как _SPIDER (она моделирует Provider Location).

  _SPIDER / IP_BASE Среднее значение для баз, сформировавших IP_BASE
Степень согласованности привязки, % 79 85

Таблица 3. Степень согласованности привязки использованных баз данных

В таблице 3 описана степень согласованности этих двух баз, а также использованных ранее четырех баз в формировании IP_BASE. Данные показывают, что для тех интернет-сайтов, географическая принадлежность которых к тому или иному территориальному пункту Российской Федерации может быть определена любым из примененных нами методов, степень согласованности составляет 79%, что несколько меньше согласованности (85%) между базами данных, сформировавших IP_BASE. Однако с учетом того, что точность работы нашего алгоритма по автоматическому анализу содержимого веб-сайтов организаций составила 94%, для извлечения данных в модели Provider Location, мы можем оценивать полученные результаты в высшей степени положительно. Мы продолжим совершенствовать алгоритмы вычисления контактной информации в содержимом веб-сайтов организаций, а также рассмотрим иные методы (анализ ссылок с известных региональных сайтов, трассировки пакетов IP) эффективного определения географического положения.

Ссылки

[1] yandex.ru (2012), yaca.yandex.ru (2005)

[2] Wang, C., Xie, X., Wang, L., Lu, Y., and Ma, W.Y.Web Resource Geographic Location Classification and Detection. In WWW 2005, May 10-14, 2005, Chiba, Japan, 1138-1139.

[3] Mikhail S. Ageev, Boris V. Dobrov, Pavel V. Krasilnikov, Alexey V. Sidorov, Sergey V. Shternov Geospatial Mapping for IP Addresses. Yandex grant 103032

Полезная информация по продвижению сайтов:

Перейти ко всей информации