В этой статье мы познакомим вас с нашим инструментом категоризации веб-сайтов, который позволяет легко и с высокой точностью классифицировать домены/URL-адреса по более чем 441 отдельной категории IAB или более чем 1360 категориям электронной коммерции.

Наши клиенты с большим успехом используют его для своих рекламных технологий, SaaS, фильтрации веб-контента, кибербезопасности, электронной коммерции и других нужд.

В дополнение к нашему инструменту и службе API мы также предоставляем автономную базу данных категоризации IAB, содержащую 5 миллионов самых популярных доменов, которые уже были классифицированы с использованием таксономии IAB. Он используется компаниями AdTech для исследования ниш, фильтрации контента и многих других целей.

Проверьте это здесь: https://www.websitecategorizationapi.com/url_database.php.

Вы можете бесплатно попробовать наш инструмент и API для категоризации IAB на https://www.websitecategorizationapi.com

Объяснимость результатов машинного обучения

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

Возьмем для примера сайт www.allure.com. Он классифицируется по классификатору как /Стиль и красота/Красота (таким образом, верхняя категория — Стиль и красота, а подкатегория — Красота).

В дополнение к этому, сервис, который мы разработали, также производит «объяснение», раскрашивая слова, которые внесли наибольший вклад в результирующую классификацию, как можно увидеть здесь:

красота, макияж, уход, волосы, кожа — те слова, на основании которых классификатор решил отнести www.allure.com к категории /Стиль и Красота/Красота.

Вот еще пример — www.cnn.com:

Мы видим, что наличие слов «CNN», «новости», «погода», «международный», «политика» и «мир» способствовало получению классификации веб-сайта как «Новости и политика».

Вы можете посетить инструмент категоризации веб-сайтов и попробовать свои собственные тексты и веб-сайты.

В этой статье мы предоставим подробную информацию о том, как реализовать категоризацию веб-сайтов и каковы ее типичные варианты использования.

Случаи использования — кибербезопасность, ставки в реальном времени и другие

Категоризация веб-сайтов имеет множество вариантов использования из самых разных областей. Одним из важных применений категоризации веб-сайтов является кибербезопасность, когда мы классифицируем веб-сайты на потенциальный спам, фишинг или другие типы «проблемных» веб-сайтов, которые мы не хотим посещать, например. работников или клиентов в наших сетях.

Еще один важный вариант использования категоризации веб-сайтов — в маркетинге. Если мы хотим разместить нашу рекламу на веб-сайтах издателей, мы хотим, чтобы они размещались на веб-страницах, которые относятся к той же категории/вертикали, что и продукты/услуги, которые мы рекламируем. Чтобы сделать это эффективно, нам необходимо правильно классифицировать веб-сайты потенциальных партнеров.

Таким образом, категоризация веб-сайтов играет важную роль в торгах в реальном времени (RTB), которые управляют процессом предоставления издателем рекламных ресурсов «подходящим» рекламодателям, размещающим самые высокие рекламные ставки. Если рекламодатель релевантен, он может делать ставки через платформу стороны спроса (DSP) и отправлять свой рекламный контент.

Таксономии или категории, используемые для классификации веб-сайтов

В контексте рекламы и маркетинга веб-сайты чаще всего классифицируются с использованием таксономии Бюро интернет-рекламы (IAB), которое было разработано с учетом маркетинга/рекламы. При его использовании обратите внимание, что IAB регулярно пересматривает свои таксономии, поэтому при его использовании следует выбирать самую последнюю версию.

Вот пример нескольких категорий веб-сайтов из таксономии IAB:

Если ваш веб-сайт ориентирован на электронную коммерцию, то для классификации продуктов может быть более подходящей таксономия, ориентированная на продукты. Самые известные в этом сегменте — от Google:

https://www.google.com/basepages/producttype/taxonomy.en-US.txt

и Фейсбук:

https://developers.facebook.com/docs/marketing-api/catalog/guides/product-categories/

Однако этим не исчерпываются все возможности. Многие интернет-магазины, особенно гиганты электронной коммерции, такие как Walmart, Target, Rakuten, выбирают свои собственные таксономии, адаптированные к их потребностям.

Преимущества категоризации URL — пример использования электронной торговли

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

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

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

Как подойти к автоматической категоризации веб-сайтов или как классифицировать контент вашего веб-сайта

Автоматическая категоризация веб-сайтов обычно выполняется с использованием модели контролируемого машинного обучения (МО), разработанной специально для этой цели.

Однако работа над решением ML сначала начинается с обучающих данных, качество и размер которых имеют решающее значение, если вы хотите достичь достаточно высокой точности для развертывания модели категоризации веб-сайта в рабочей среде.

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

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

Переход от общих категорий к более подробным также известен как путь таксономии, вот пример:

Предварительная обработка текста необходима для классификации веб-сайтов

Предварительная обработка — важная часть конвейера данных, когда вы хотите классифицировать веб-сайты. Поскольку мы имеем дело с веб-сайтами, первая часть состоит из извлечения соответствующего текста с веб-сайтов.

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

Типичным примером категоризации веб-сайтов являются новостные статьи, где меню/нижний колонтитул могут быть общими, но тема статьи может меняться от статьи к статье. Таким образом, мы хотим удалить все элементы веб-страницы, не являющиеся статьями, как часть так называемого извлечения статьи.

Экстракторы статей, используемые в веб-классификации

За прошедшие годы было проведено много исследований по теме извлечения статей, что является важной частью веб-классификации. Интересный подход был опубликован в широко цитируемой статье «Обнаружение шаблонов с использованием неглубоких функций».

Метод заключается в использовании функциональных элементов веб-сайтов в качестве признаков модели машинного обучения. Некоторые из особенностей:

  • плотность связи
  • средняя длина предложения
  • средняя длина слова
  • количество слов в блоке
  • относительная позиция на сайте

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

Для тех, кто больше заинтересован в этой статье, она доступна по адресу: https://www.researchgate.net/publication/221519989_Boilerplate_Detection_Using_Shallow_Text_Features.

и реализовал (Java) библиотеку: https://code.google.com/archive/p/boilerpipe/.

Если вас больше интересуют библиотеки Python для извлечения статей, мы добились хороших результатов в прошлых проектах с этими двумя:

Другие экстракторы статей можно найти и оценить их производительность в этом сравнительном исследовании: https://trafilatura.readthedocs.io/en/latest/evaluation.html.

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

Модели машинного обучения для помощи в проверке категории веб-сайта

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

Наилучший подход — выбрать несколько моделей машинного обучения в качестве базовых моделей (например, машины опорных векторов — SVM) и несколько моделей машинного обучения и глубокого обучения, которые являются более сложными, могут потребовать больше времени для обучения, но имеют потенциально более высокую точность.

В наших прошлых проектах для этой цели мы рассматривали как рекуррентные нейронные сети, так и сверточные нейронные сети. Интересных результатов можно добиться и при объединении нескольких нейросетевых моделей в ансамбль (пример реализации: https://arxiv.org/abs/1805.01890).

При рассмотрении целей моделей ML их можно построить для прогнозирования конкретной категории уровня (n) или можно выбрать в качестве цели прогноз полного пути таксономии.

Как работать с локализацией в контексте классификации веб-сайтов

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

Один из возможных подходов — построить модель машинного обучения на обучающем наборе данных, состоящем из текстов на английском языке. Затем, применяя модель машинного обучения к неанглоязычному веб-сайту, вы переводите веб-сайт на английский язык, используя модели нейронного машинного перевода (NMT). А затем отправьте переведенный веб-сайт в API категоризации веб-сайтов.

Бесплатный API категоризации веб-сайтов

Если вы ищете бесплатный API для категоризации веб-сайтов, мы приглашаем вас проверить https://www.websitecategorizationapi.com.

Заключение

Категоризация веб-сайтов — важная область машинного обучения и обработки естественного языка. Он имеет множество вариантов использования, от кибербезопасности до категорий интернет-магазинов.

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

Для самой классификации текста можно использовать широкий спектр моделей машинного обучения, от стандартных, таких как SVM, до более сложных, таких как LSTM или модели преобразования.

Часто задаваемые вопросы

  1. Как вы классифицируете веб-сайт?

Основной конвейер: извлечение веб-сайта → извлечение содержимого → выполнение предварительной обработки текста → отправка текста в классификатор машинного обучения → отображение результатов либо в основной категории, либо в полной древовидной структуре json с вероятностями для каждой категории.

Чтобы получить сайт, при использовании python можно использовать Beautifulsoup для этой цели (https://www.crummy.com/software/BeautifulSoup/bs4/doc/). Но многие веб-сайты имеют динамически генерируемые веб-страницы, поэтому в этом случае лучше использовать Selenium: https://www.selenium.dev.

2. Что такое категории веб-сайтов?

Категории веб-сайтов представляют собой список категорий, которые будут выбраны для обозначения их содержания. Наиболее распространенный список категорий веб-сайтов — это список IAB, который также используется нашими классификаторами. Однако, если веб-сайт относится к домену электронной коммерции, более подходящим является список категорий из таксономии Google или Facebook для продуктов.