GDELT (Global Database of Events, Language and Tone — «Глобальная база событий, языка и тона») — открытый проект, который круглосуточно читает мировые онлайн-СМИ более чем на 100 языках и превращает их в структурированные данные: кто упоминается, где, о чём и каким тоном. Он бесплатный, обновляется каждые 15 минут и остаётся одной из крупнейших открытых баз о новостях.
Разберём, что внутри GDELT, как пользоваться им почти без кода и где он может ввести в заблуждение. Мы работаем с GDELT каждый день: с него начинается каждая цифра на Mirada.
GDELT в одном абзаце
Проект создал исследователь данных Калев Литару (Kalev Leetaru); в нынешнем виде (GDELT 2.0) он работает с 2015 года. Каждые 15 минут GDELT собирает новые статьи с десятков тысяч новостных сайтов мира, машинно переводит материалы на 65 языках на английский и извлекает из каждого персоны, организации, места, темы и эмоциональный тон. Результат публикуется в открытых файлах и через бесплатные API.
Какие данные внутри
GDELT — не одна таблица, а несколько связанных наборов:
- GKG (Global Knowledge Graph) — запись на каждую статью: ссылка, издание, дата, упомянутые люди, организации и места, темы (например, «протест» или «экономика») и оценки тона. Обычно под «данными GDELT» имеют в виду именно его.
- Events — записи вида «кто что сделал по отношению к кому» в кодировке CAMEO (например, одно правительство угрожает другому) с географией. Исторические события — с 1979 года.
- Mentions — каждое новое упоминание события в статье; по ним считают, сколько внимания получает событие.
- Специальные коллекции — расшифровки телеэфира (TV API), география освещения (GEO API) и другие.
Как часто обновляется и сколько там данных
Новые файлы выходят каждые 15 минут. За обычный день GDELT обрабатывает сотни тысяч статей; на Mirada после фильтрации мы видим около 300 тысяч статей в сутки примерно из 11 тысяч изданий. Через 15–20 минут после публикации статья уже попадает в подсчёт.
Карточка выше собрана из данных GDELT в реальном времени: сколько статей о войне в Украине вышло за 30 дней и как изменилось освещение за неделю.
Как пользоваться GDELT без кода
Быстрее всего изучать GDELT через инструменты поверх него:
- Mirada — введите тему, персону или страну в поиск и получите готовую страницу: статьи по дням, страны, языки, издания, тон и свежие заголовки на четырёх языках. Без настройки и SQL.
- Собственные интерфейсы GDELT — проект публикует веб-поиск по новостям и телеэфиру; они мощные, но рассчитаны на исследователей.
- Таблицы — DOC API (ниже) отдаёт CSV, поэтому ссылку на запрос можно вставить в Google Таблицы через
IMPORTDATA.
DOC API: бесплатные запросы прямо в браузере
DOC 2.0 API ищет по освещению за последние три месяца и возвращает статьи или динамику. Вставьте в браузер:
https://api.gdeltproject.org/api/v2/doc/doc?query=%22climate%20change%22&mode=timelinevol&format=json×pan=30d
Полезные параметры:
query— ключевые слова, фразы в кавычках, фильтрыsourcecountry:,sourcelang:,domain:иtone<-5;mode—artlist(список статей),timelinevol(доля освещения по времени),timelinetone(средний тон),tonechart;timespan— например24h,7d,30d, максимум около трёх месяцев;format—json,csvилиhtml.
У API есть лимиты частоты, он рассчитан на лёгкую нагрузку. Для серьёзной работы используйте BigQuery или исходные файлы.
BigQuery и исходные файлы: весь архив
Для масштабных исследований GDELT зеркалируется в Google BigQuery (публичный датасет gdelt-bq). Такой запрос считает статьи с упоминанием персоны по дням:
SELECT DATE(_PARTITIONTIME) AS day, COUNT(*) AS articles
FROM `gdelt-bq.gdeltv2.gkg_partitioned`
WHERE _PARTITIONTIME >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
AND V2Persons LIKE '%elon musk%'
GROUP BY day ORDER BY day
BigQuery берёт плату за объём просканированных данных, поэтому всегда фильтруйте по дате партиции. Исходные 15-минутные CSV-файлы тоже можно скачивать бесплатно — именно их Mirada загружает в собственную базу.
Как измеряется тон
Каждая статья получает оценку тона по словарю эмоциональной лексики: позитивные слова повышают её, негативные — понижают. Обычно оценки лежат от −10 до +10; большинство новостей слегка негативны, потому что в повестке доминируют конфликты, преступления и катастрофы. Тон полезен для сравнения — стран, изданий, недель — и гораздо менее полезен как вердикт отдельной статье. Подробно метод разобран в гайде по анализу тональности новостей.
Ограничения, о которых нужно знать
- Неравномерное покрытие. Крупные международные СМИ видны хорошо, небольшие региональные и платные — заметно хуже.
- Машинный перевод и извлечение имён ошибаются, особенно на редких языках, с транслитерацией и однофамильцами. Встречаются обрывки вроде подписей фотографов, принятых за имена.
- Дубли. Одна агентская новость, перепечатанная сотнями сайтов, раздувает счётчики, если не считать уникальные издания. Mirada создаёт страницу персоны, только когда о ней за неделю написали минимум 25 разных изданий.
- Заголовки, а не тексты. GDELT отдаёт метаданные и ссылки, а не сами статьи.
Частые вопросы
GDELT бесплатный?
Да. Данные, исходные файлы и API бесплатны. Запросы к зеркалу в BigQuery платные сверх бесплатной месячной квоты Google.
За какой период есть данные?
События — с 1979 года, статейный Global Knowledge Graph — с 2015 года.
Есть ли в GDELT соцсети?
В основном нет: проект сосредоточен на новостных сайтах и расшифровках эфира. Mirada дополнительно подключает публичные Telegram-каналы.
Как проще всего посмотреть данные GDELT по теме?
Найдите тему в поиске Mirada: откроется готовая страница с графиками, странами, тоном и свежими статьями, обновляемая каждые 15 минут.