Автоматический геотаргетинг российских web-сайтов
Аннотация
В данной статье рассматривается быстрый, простой и точный метод связывания большого числа веб-ресурсов, хранящихся в базе данных поисковой машины, с их географическими положениями. Описанный метод использует информацию об IP адресе, доменных именах и контентозависимые данные: коды почтовых индексов и телефонных номеров. Новшество подхода заключается в построении базы данных, хранящей географическое положение и IP адрес с использованием метода IP блоков. Также сделан упор на анализе доменных имен. Метод использует внутреннюю структуру поисковой машины и позволяет эффективно связывать большое количество данных поисковой машины с их географией. Эксперименты проведены над индексом поисковой системы Яндекс; результаты говорят об эффективности подхода.
Введение
Аспекты географического положения веб-ресурсов и их владельцев становятся все более значимыми в последнее время для большинства Интернет-пользователей. Тенденции отмечены академическим исследованием в этой сфере, а также появлением локальных сервисов онлайн-поиска.
Поисковая система Яндекс индексирует ресурсы в доменах пост-советских стран, а также любые русскоязычные документы. На текущее время, Яндекс проиндексировал более 600 млн. страниц на более 2.5 млн. сайтах; порядка 95% этих сайтов расположены в России. Несмотря на то, что наибольшая активность поиска проявляется в больших городах, таких как Москва или Санкт-Петербург, Интернет в России и других пост-советстких странах развивается, в основном, за счет удаленных областей. Этот факт делает геотаргетинг важным моментом в поиске Яндекса.
Проблема частично решается Яндекс.Каталогом с ручной модерацией. На данный момент каталог состоит из примерно 87 тыс. записей с ручным присваиванием региона; около 48 тыс. из них принадлежат российским городам. Географический атрибут состоит из различных семантических положений:
- местоположение провайдера (физическая принадлежность владельца ресурса);
- география контента (географическое положение, о котором говориться в контенте);
- положение сервера (область, где размещен web-ресурс).
Ручное присваивание значений региона может наследоваться от поддоменов или отдельных страниц сайта. Однако, редакторы не учитывают наследование географии определенного ряда доменов (таких как бесплатные хостинги или публичные домены). Приблизительно 140 тыс. сайтов дополнительно получают атрибут русского города через наследование от специального каталога (EMC, extended manual classification). Однако, на данный момент, региональное покрытие базы данных Яндекса незначительно, что заставляет изучать автоматические методы для множественного присваивания региона уже проиндексированным веб-ресурсам. Мы используем EMC для проверки правильности полученных данных с помощью методов, описанных ниже.
Необходим практический подход: методы должны быть эффективными и качественными, а также должны использовать уже существующие данные. В статье предоставлен отчет о результатах автоматического геотаргетинга российских сайтов на уровне городов.
Данные и методы
В найденной литературе описаны различные методы, использующие данные об IP адресе, доменных именах, а также контент самого сайта (указание местностей, например, городов, телефонных номеров и почтовых индексов) для геотаргетинга. Главная идея нашего подхода в том, чтобы эффективно совместить несколько источников информации о местоположении.
Для определения города, мы разработали два типа методов, работающих с: 1) контентом сайта и 2) данными о домене. Методы совмещены в определенной последовательности (как показано на рисунке 1). Количество сайтов, значения точности (P, precision) и полноты (R, recall), вычисляющиеся с помощью EMC, высчитываются на каждом шаге. Пунктирными стрелками отображено, что результаты классификации объеденены с входными данными для последовательной обработки. Таким образом, результаты классификации накапливаются по мере следования стрелок на рисунке.
1. Классификатор, основанный на контенте (CBC, content-based classifier). Этот метод использует не сами документы, а их представление в индексе. Так как алгоритм не извлекает адреса непосредственно со страниц сайтов, это сильно увеличивает его эффективность. Мы собрали список шестизначных почтовых кодов (ZIP code) для 12 тыс. местностей в России, а также список телефонных кодов для 2 тыс. регионов вместе с их названиями. Были разработаны два шаблона запросов. Цель первого — в поиске веб-страниц с почтовыми индексами и соответствующими названиями местностей. Второй акцентировался на извлечении страниц с кодами телефонов, названиями региона и элементов адреса, например, указатели улицы или телефона и соответствия этих указателей друг другу.
2. Классификатор метки домена (DLC, domain label classifier). Этот метод основан на анализе домена. Во-первых, мы считаем, что доменное имя, эквивалентное названию города в транслитерации, это хороший индикатор аффилирования сайта с городом. Анализ входных данных позволил нам отделить “хорошие” варианты транслитерации: если доменные имена большинства известных сайтов соответсвуют городу, мы полагаем, что все сайты с подобным доменом будут соответствовать этому городу (например, сайты города Тверь: tver.eparhia.ru, tver.marketcenter.ru, www.tver.ru). Во-вторых, мы ищем специфические названия городов в доменных именах, то есть, если большинство известных сайтов с определенной меткой соответствуют одному и тому же городу, тогда метка является “хорошей”. Подобные метки обычно являются псевдонимами или аббревиатурами городов (например, nsk — Новосибирск, dolgopa — Долгопрудный).
3. Классификатор иерархии доменного имени (DNHC, domain name hierarchy classifier). Идея состоит в том, чтобы найти “хорошие” городские домены, поддомены которых, вероятнее всего, будут соответствовать названию города, например, spb.ru и omskcity.com (Санкт-Петербург и Омск соответственно). Заметьте, что DNHC используется дважды на диаграмме (рисунок 1).
4. IP адрес (Loc-by-IP). Мы используем свою базу данных IPREG, ассоциирующую IP адреса с соответствующими регионами. IPREG была собрана из Интернет-записей для других целей. В IPREG сохраняются лишь “хорошие” блоки IP адресов и проверяются на диаграмме.
5. Классификатор IP блоков (IP-blocks). Городские сайты зачастую хостятся у локальных провайдеров, которые могут и не располагаться в IPREG или подобной базе данных. Однако, ресурсы определенного региона часто можно определить из блока в пространстве IP адресов. Метод основан на определении этих “хороших“ непрерывных IP-блоков, другими словами, в этих блоках размещена основная часть некоторых сайтов, регион которых известен.
Рисунок 1 — Диаграмма классификации сайтов
Из рисунка 1 видно, что первое использование DNHC увеличивает важность как показателя точности, так и полноты, в соответствии с EMC. Последующие шаги не ведут к интенсивному увеличению качества результатов, однако, число классифицируемых сайтов выросло существенно (благодаря менее популярным сайтам, не представленных в EMC).
В результате, используя диаграмму, мы можем присвоить примерно 1.3 млн. российских сайтов (из примерно 2 млн. в базе Яндекса) соответствующие российские города.
Оценка результатов
Качество алгоритма, работающего с хорошими и высоко цитируемыми сайтами, может быть проверено благодаря сравнению результатов с данными EMC. Для тестирования производительности алгоритма в горячих условиях, был сгенерирован тестовый набор. Мы собрали список из случайно выбранных 1.2 тыс. веб-сайтов, не более одного на каджый домен второго уровня. Всем сайтам в списке автоматически была присвоена метка города или же тег “без региона” (region zero, то есть город не может вычислиться в результате работы алгоритма). Список был предоставлен редакторам Яндекс.Каталога для ручного таггирования в обычных условиях. Данные, полученные в результате ручного отбора, позволяют поделить тестовый набор на три категории: 1) географически локальные сайты, 2) хорошие, не мусорные сайты (то есть, не дорвеи, пустые сайты или киберсквотеры), и 3) полный набор сайтов.
Результаты работы алгоритма для всех из этих категорий приведены в таблице 1. Первая колонка соответствует подмножеству локальных сайтов (1). Ресурсы с меткой “без региона” в этом множестве отсутствовали — уменьшилась полнота (recall) алгоритма и не было потерь в точности. Во второй и третьей колонке, автоматически присвоенный тег “без региона” интерпретировали как “без географии”. Классификатор не разрабатывался для различия между локальными, глобальными и “мусорными” сайтами, возможно, он означает, что техника определения города прошла безуспешно. В результате, факторы точности и полноты для этих случаев практически одинаковы.
Локальные сайты | Все (кроме ГС) | Полный набор (+ ГС) | |
---|---|---|---|
Кол-во сайтов | 723 | 1048 | 1200 |
Точность | 0.917 | 0.722 | 0.688 |
Полнота | 0.751 | 0.696 | 0.667 |
F1 | 0.826 | 0.709 | 0.677 |
Таблица 1. Результаты вычислений.
Заключение
Статья описывает множество методов, направленных на решение проблемы геотаргетинга. Методы используют различные источники информации, такие как IP адрес и домен, а также контентозависимые данные: прямой поиск почтовых индексов и телефонных номеров на страницах сайта. Методы используют инфраструктуру поисковой системы и позволяют эффективно назначать регионы большому количеству поисковых данных.
Новый подход разрабатывался для связывания IP адресов с их географией и контентом сайта. Методология показала лучшую точность по сравнению с традиционными методами, основанными на анализе записей регистрара. С другой стороны, также сделан вклад в методы, основанные на анализе доменных имен сайтов.
Оценка производительности и качества доказала годность подхода для реальных ситуаций. Однако, результаты показали, что главная проблема — это различить локальные сайты от национальных или глобальных ресурсов. В ближайшем будущем мы планируем разработать классификатор распределения сайтов по регионам без геоконтекста.
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Всегда храни верность своему начальнику - следующий, может быть еще хуже... |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.