Common Crawl
Common Crawl — это некоммерческая организация, занимающаяся сбором, хранением и предоставлением свободного доступа к архивам данных, полученных в результате сканирования (краулинга) веб-страниц сети Интернет. Основным продуктом организации является одноимённый открытый набор данных, представляющий собой крупнейший в мире публично доступный архив содержимого веб-сайтов, который регулярно обновляется и используется для исследований в области компьютерной лингвистики, машинного обучения, анализа больших данных и информационного поиска.
История
Проект Common Crawl был основан в 2007 году программистом и предпринимателем Джилом Элбином (Gil Elbaz) — сооснователем компании Applied Semantics, технологии которой легли в основу сервиса Google AdSense. Первоначальная идея заключалась в создании открытой и бесплатной альтернативы частным архивам интернета, таким как те, что поддерживаются поисковыми системами. Первый публичный релиз набора данных состоялся в 2008 году.
На ранних этапах проект существовал как волонтёрская инициатива. В 2011 году Common Crawl был официально зарегистрирован как некоммерческая организация (501(c)(3) в США) со штаб-квартирой в Сан-Франциско, Калифорния. Финансирование осуществляется за счёт пожертвований от частных лиц, академических институтов и технологических компаний, включая Amazon Web Services (AWS), которая предоставляет инфраструктуру для хранения и распространения данных.
С 2012 года организация начала публиковать регулярные, ежемесячные или ежеквартальные, дампы данных. Каждый последующий выпуск архива содержит миллиарды веб-страниц, собранных за определённый период. Ключевым изменением в 2015 году стал переход на хранение данных исключительно в облачном сервисе Amazon S3, что позволило пользователям обрабатывать данные напрямую, не скачивая их целиком.
Устройство и формат данных
Архив Common Crawl представляет собой не единый файл, а структурированную коллекцию данных, организованную по месяцам. Каждый релиз состоит из трёх основных типов файлов:
Файлы с необработанными данными (WARC)
Файлы в формате WARC (Web ARChive) содержат полные копии веб-страниц вместе с HTTP-заголовками ответа сервера. Каждая запись в WARC-файле включает в себя URL-адрес страницы, время захвата, MIME-тип содержимого и собственно HTML-код (или другой тип контента, например, JSON, изображения). Именно эти файлы представляют наибольшую ценность для анализа содержимого сайтов.
Файлы с метаданными (WAT)
Файлы WAT (Web Archive Transformation) содержат извлечённые метаданные для каждой страницы, полученные из WARC-файлов. В них включаются:
- HTTP-заголовки запроса и ответа (код ответа, дата, Content-Type).
- Результаты базового синтаксического анализа HTML (количество ссылок, изображений, скриптов).
- Информация о размере документа и времени загрузки.
WAT-файлы значительно меньше по размеру, чем WARC, и используются для быстрой фильтрации и статистического анализа без необходимости парсить полный HTML.
Файлы с текстовым содержимым (WET)
Файлы WET (Web Extract Text) содержат только извлечённый чистый текст из HTML-документов. Из страницы удаляются все HTML-теги, скрипты, стили и навигационные элементы, оставляя только основной текстовый контент. Этот формат оптимизирован для задач обработки естественного языка (NLP), обучения языковых моделей и построения текстовых корпусов.
Индекс (CC-INDEX)
Для навигации по архиву используется специальный индексный файл (обычно в формате CDX). Он представляет собой сортированный список всех URL-адресов, присутствующих в данном релизе, с указанием, в каком именно WARC-файле и на какой позиции находится каждая страница. Индекс позволяет эффективно искать конкретные домены или URL без полного сканирования всего архива.
Масштаб и характеристики
Common Crawl является одним из крупнейших открытых наборов данных в мире. По состоянию на 2024 год, каждый ежемесячный релиз содержит:
- Объём данных: от 200 до 400 терабайт (ТБ) сжатых данных.
- Количество страниц: от 2 до 3 миллиардов уникальных веб-страниц.
- Количество доменов: десятки миллионов.
- Языки: контент на всех основных языках мира, с преобладанием английского (около 45–50%), за которым следуют китайский, испанский, русский, немецкий, французский и японский.
Данные собираются с помощью собственного краулера, написанного на Python. Краулер начинает обход с начального списка популярных и репрезентативных веб-сайтов (seed list) и следует по гиперссылкам, соблюдая правила файла robots.txt (в стандартном режиме). Полный цикл сканирования всего известного краулеру интернета занимает примерно один месяц.
Применение
Открытость и масштаб Common Crawl сделали его незаменимым ресурсом для широкого круга задач:
Машинное обучение и искусственный интеллект
Наиболее известное применение — обучение больших языковых моделей (LLM), таких как GPT (OpenAI), LLaMA (Meta — организация признана экстремистской и запрещена в РФ), BLOOM и многих других. Common Crawl служит основным источником разнообразных текстовых данных для предварительного обучения этих моделей. Для повышения качества данных из Common Crawl разработаны специализированные фильтры и пайплайны (например, C4, OSCAR, CCNet), которые удаляют шум, дубликаты и нежелательный контент.
Информационный поиск и веб-аналитика
Исследователи используют архив для изучения структуры веб-графа, анализа эволюции сайтов, оценки распространённости определённых технологий (например, версий CMS, фреймворков) и тестирования алгоритмов ранжирования.
Лингвистика и корпусная лингвистика
Common Crawl используется для создания огромных текстовых корпусов для изучения словоупотребления, грамматических конструкций, появления неологизмов и языковых изменений в интернете.
Социальные науки и цифровая гуманитаристика
Исследователи анализируют содержимое архива для изучения общественных настроений, распространения дезинформации, эволюции политического дискурса и культурных трендов.
Критика и ограничения
Несмотря на свою ценность, Common Crawl имеет ряд существенных ограничений:
- Качество данных: Архив содержит огромное количество спама, сгенерированного контента, дубликатов, страниц с ошибками (404) и технического мусора. Прямое использование необработанных данных часто приводит к низкому качеству результатов.
- Неполнота и смещение: Краулер не индексирует весь интернет. Он не видит содержимое, скрытое за формами авторизации, динамически генерируемое JavaScript (без полного исполнения скриптов) или защищённое файлом
robots.txt. Кроме того, выбор начальных сайтов (seed list) может вносить смещение в сторону англоязычных и популярных ресурсов. - Правовые и этические вопросы: Включение в архив личных данных, защищённого авторского права и конфиденциальной информации без согласия владельцев вызывает споры. Использование Common Crawl для обучения коммерческих моделей также порождает вопросы о соблюдении авторских прав.
- Устаревание: Данные в архиве на момент публикации уже устаревают на несколько недель или месяцев, что делает его малопригодным для задач, требующих актуальной информации в реальном времени.
Интересные факты
- Размер полного архива Common Crawl с момента его основания превысил несколько петабайт. Для его хранения используются тысячи серверов в облаке Amazon.
- Доступ к данным осуществляется через Amazon S3, что делает их доступными для пользователей с любым уровнем вычислительных ресурсов, но стоимость вычислений в облаке может быть значительной.
- Проект полностью открыт: код краулера, инструменты для обработки данных и документация распространяются под свободными лицензиями.
Источники
- Официальный сайт Common Crawl (commoncrawl.org).
- Документация по формату WARC (iipc.github.io/warc-specifications).
- Статья «The Common Crawl: An Open Repository of Web Data» (2015).
- Публикации исследовательской группы по обработке больших данных (например, работа по созданию датасета C4).
- Материалы конференций по машинному обучению (NeurIPS, ICML) с упоминанием Common Crawl в качестве источника данных.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →