Антон, NLP-инженер из Ростелеком Информационные технологии, опубликовал на Хабре пошаговый разбор production-ready пайплайна на базе BERTopic. Задача — взять сырой массив отзывов с маркетплейса Kaspi (119 048 текстов на русском и казахском), без какой-либо разметки выделить тематические группы и дать им человекочитаемые названия. Итог: 45 автоматически найденных кластеров из 3 168 уникальных негативных отзывов в категории смартфонов.
Контекст
Задача тематического моделирования — не новая. Классический LDA существует с начала 2000-х, но он плохо работает с короткими текстами и требует ручного подбора числа тем. BERTopic, появившийся в 2022 году, изменил подход: вместо частотных матриц — контекстные эмбеддинги от трансформеров, вместо вероятностного вывода — плотностная кластеризация. Библиотека не является «чёрным ящиком»: каждый шаг можно заменить своим компонентом.
Ключевой выбор в пайплайне Антона — эмбеддинг-модель FRIDA от AI Forever. На момент публикации она входила в топ-5 бенчмарка MTEB для русского языка и занимала лидирующую позицию именно в задаче кластеризации. Размерность эмбеддингов — 1 536, что само по себе создаёт проблему: алгоритмы кластеризации в пространстве такой размерности страдают от «проклятия размерности», расстояния теряют информативность.
Решение — двухступенчатое снижение: сначала UMAP сжимает вектора до 2D, сохраняя локальную и глобальную структуру лучше, чем PCA или t-SNE. Затем HDBSCAN находит плотные области без необходимости задавать число кластеров вручную. Финальный штрих — LLM генерирует читаемые названия для каждого кластера вместо набора ключевых слов.
Аналитика
Этот пайплайн иллюстрирует сдвиг, который происходит в прикладном NLP прямо сейчас: LLM перестаёт быть центром системы и становится финальным слоем интерпретации поверх классических методов. HDBSCAN и UMAP делают тяжёлую математику, LLM — переводит результат на язык бизнеса. Такая архитектура дешевле, чем прогонять каждый документ через большую модель, и при этом даёт артефакт, понятный аналитику без технического бэкграунда.
Важен и выбор датасета: отзывы с Kaspi — это реальные данные на русском и казахском языках, которые отражают специфику рынка Центральной Азии. Большинство open-source решений тематического моделирования заточены под английский, а FRIDA закрывает этот пробел для русскоязычных корпусов. Для компаний в КР и СНГ, работающих с клиентскими данными, это прямая практическая применимость.
Метрики оценки, которые разобрал автор, — Topic Coherence, Topic Diversity, Stability (ARI) — позволяют не просто запустить кластеризацию и надеяться на лучшее, а измерить, насколько темы осмысленны, разнообразны и воспроизводимы. Это критично для продуктовых команд, которым нужно объяснить результат стейкхолдерам, а не просто показать scatter plot.
Кейсы применения в бизнесе
B2B-SaaS стартап с поддержкой клиентов. Если у вас накопилось несколько тысяч тикетов за полгода — запустите BERTopic на корпусе обращений. Результат: автоматический реестр тем («проблема с оплатой», «баг в мобильном приложении», «запрос на интеграцию»). Это позволяет расставить приоритеты в роадмапе данными, а не интуицией. Время разметки тикетов вручную сокращается до нуля. Сценарий реалистичен даже при 500–1 000 тикетах — HDBSCAN работает и на малых корпусах при правильной настройке min_cluster_size.
Корпорация с legacy и большим call-центром. Транскрипты звонков, почтовые обращения, чат-логи — всё это неструктурированный текст, который дорого размечать вручную. Пайплайн на FRIDA + BERTopic запускается на исторических данных, выдаёт карту тем с весами, позволяет отслеживать, как распределение жалоб менялось квартал к кварталу. На этом можно строить дашборды для операционного директора без написания сложных регулярных выражений.
SMB и локальный бизнес в КР. Интернет-магазин, доставка, сервисный центр — если вы собираете отзывы на Kaspi или в Google Maps, BERTopic позволяет раз в месяц автоматически получать сводку: о чём пишут, что чаще всего раздражает, какие темы набирают вес. Запускается на Kaggle бесплатно (до 30 часов GPU в неделю), не требует собственной инфраструктуры.
Кейсы в личной жизни
Разработчик или аналитик данных. Пайплайн из статьи — это рабочий шаблон, который можно адаптировать под свой корпус за день. Kaggle-ноутбук, FRIDA, BERTopic — всё open-source. Если вы хотите добавить в портфолио проект по NLP с реальными данными и измеримыми метриками — это готовая основа.
Контент-мейкер или исследователь. Если вы ведёте YouTube-канал, блог или подкаст и хотите понять, какие темы реально волнуют аудиторию в комментариях, — тот же пайплайн применим к комментариям. Собираете комментарии через API, чистите, кластеризуете, получаете карту интересов без ручного чтения тысяч сообщений.
Студент или стажёр в NLP. Статья даёт редкое сочетание: полный код + объяснение каждого шага + метрики оценки. Это лучший способ разобраться в том, как работает семантическая кластеризация на практике, а не в теории учебника. FRIDA на Kaggle с P100 — бесплатно, воспроизводимо, с фиксированным seed.
Как применить сегодня
- Зайти на Kaggle, создать ноутбук с GPU (Tesla P100 или 2×T4), установить
bertopic hdbscan umap-learn pymorphy3 sentence-transformers— воспроизвести пайплайн из статьи на своём корпусе за 2–3 часа. - Для русскоязычных текстов использовать FRIDA от AI Forever как эмбеддинг-модель — она даёт лучшие результаты по MTEB для кластеризации на русском языке по сравнению с multilingual-вариантами.
- Начать с параметров
min_cluster_size=15, min_samples=5для HDBSCAN — это разумный baseline; затем итерировать, ориентируясь на метрику Topic Coherence (считается через gensimCoherenceModel). - Подключить локальную LLM для генерации названий кластеров через
TextGenerationизbertopic.representation— это убирает зависимость от внешних API и делает пайплайн воспроизводимым в закрытом контуре. - Оценивать результат тремя метриками в связке: Topic Coherence (осмысленность), Topic Diversity (уникальность тем), Stability ARI (воспроизводимость при разных random seed) — только их совокупность даёт честную картину качества кластеризации.