Основа wordcloud-визуализации — таблица частот, где каждому слову сопоставлены числовые характеристики. Типовая структура входного набора данных включает:
text — исходная строка (слово или токен)count — частота появленияКлючевая задача подготовки данных заключается в нормализации текста и
приведении его к единому пространству токенов: удаление пунктуации,
приведение к нижнему регистру, фильтрация стоп-слов. На уровне
спецификаций Vega и Vega-Lite эта стадия чаще реализуется через
трансформации filter, formula,
aggregate.
Пример логики агрегации:
В Vega-Lite базовая подготовка wordcloud-данных обычно выполняется через декларативные трансформации:
aggregate — группировка и подсчётsort — упорядочиваниеfilter — исключение шумовых значенийcalculate — вычисление производных метрикПример логической схемы:
вход: поток текстовых токенов
трансформация:
textcountcount > thresholdИтоговый набор становится основой для layout-этапа.
Vega-Lite не содержит встроенного полноценного алгоритма раскладки слов (layout engine), характерного для классического облака слов. Причина заключается в том, что wordcloud требует:
Vega-Lite ориентирован на статические декомпозиции (bar, line, area), поэтому wordcloud реализуется либо:
В Vega используется специализированный трансформирующий слой,
основанный на алгоритмах наподобие d3-cloud.
Ключевая идея:
count)Типовые параметры layout:
fontSize — функция от частотыrotate — угол поворотаpadding — расстояние между словамиspiral — тип траектории размещенияРезультатом работы layout является набор координат:
x, yfontSizeangleWordcloud в Vega строится как цепочка трансформаций:
Формально:
агрегирование:
group by textcount recordsвычисление размера:
fontSize = scale(count)layout:
wordcloud transformвизуализация:
textКлючевая трансформация wordcloud — отображение числового значения в визуальный вес.
Используются шкалы:
Логарифмическая шкала часто предпочтительна для длинных хвостов распределения:
В Vega задаётся через scale:
Алгоритм размещения основан на итеративной проверке пересечений:
Ключевые параметры:
Rotation — важный элемент структуры wordcloud.
Используются стратегии:
Это влияет на:
Цвет в wordcloud обычно не несёт семантической нагрузки, но может кодировать дополнительные параметры:
В Vega используются:
scale для цветаordinal шкалы для категорийsequential для непрерывных значенийТак как Vega-Lite ограничен в layout-моделях, стандартная архитектура включает:
wordcloudТиповой подход:
Vega-Lite:
Vega:
Основной mark для wordcloud:
type: textПараметры:
x, yfontSizefontWeightalignbaselineДополнительно:
limit для обрезки текстаtooltip для интерактивностиWordcloud — вычислительно затратная структура.
Основные факторы нагрузки:
Методы оптимизации:
Практически всегда применяется ограничение:
В Vega это реализуется через:
filtertop-k transform (через calculate + rank)Плотность wordcloud определяется:
Ключевые настройки:
Алгоритмы wordcloud могут быть:
В Vega это управляется через:
Помимо базового wordcloud, возможны расширения:
Такие подходы реализуются через предварительные
transform этапы в Vega.
Wordcloud не является только визуальной формой, он опирается на:
В рамках Vega трансформация wordcloud становится результатом последовательного применения:
Типовой pipeline wordcloud: