Repolode
MaartenGr

MaartenGr/BERTopic

Библиотека Python для тематического моделирования: она объединяет эмбеддинги трансформеров и c-TF-IDF, чтобы выделять понятные темы в текстах.

Звёзды
7,942
Форки
931
Открытые issues
478
Последний коммит
позавчера

Что это?

BERTopic — библиотека Python для тематического моделирования. Она строит эмбеддинги документов с помощью моделей-трансформеров, снижает их размерность, группирует документы в кластеры, а затем описывает каждый кластер наиболее характерными словами с помощью процедуры class-based TF-IDF. В результате получается набор тем с понятными описаниями по ключевым словам, а также распределение документов по темам и вероятности для каждого документа.

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

Помимо базового обучения BERTopic поддерживает управляемое, supervised-, semi-supervised-, zero-shot-, иерархическое, динамическое (с учётом времени), поклассовое, онлайн- и мультимодальное тематическое моделирование. Библиотека также предлагает интерактивные визуализации, например карту тем в стиле LDAvis, а ещё методы для сохранения, загрузки и объединения моделей.

Ключевые возможности

  • 01Строит темы на основе эмбеддингов трансформеров, снижения размерности в стиле UMAP и кластеризации в стиле HDBSCAN.
  • 02Описывает темы ключевыми словами c-TF-IDF и позволяет уточнять их представлениями на основе KeyBERT или LLM.
  • 03Поддерживает управляемое, supervised-, zero-shot-, иерархическое, динамическое и онлайн-тематическое моделирование.
  • 04Предоставляет интерактивные визуализации тем, документов, иерархий и изменений тем во времени.
  • 05Позволяет заменить или отключить любой этап конвейера.

Сценарии использования

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

Быстрый старт

  1. 1

    Установите BERTopic с помощью pip

    pip install bertopic
  2. 2

    Обучите модель на документах с помощью fit_transform в Python

Что важно знать

  • При стандартной установке добавляются тяжёлые зависимости, такие как transformers и UMAP. Чтобы уменьшить занимаемое место, нужна облегчённая установка.
  • Для некоторых дополнительных функций разметки тем, например представления OpenAI, требуется API-ключ платного сервиса.

В подборках

Темы

#topic-modeling#nlp#sentence-embeddings#transformers#clustering#text-analysis#bert#ldavis#machine-learning#topic

Частые вопросы

Что такое BERTopic?
Библиотека Python для тематического моделирования: она объединяет эмбеддинги трансформеров и c-TF-IDF, чтобы выделять понятные темы в текстах. BERTopic — библиотека Python для тематического моделирования. Она строит эмбеддинги документов с помощью моделей-трансформеров, снижает их размерность, группирует документы в кластеры, а затем описывает каждый кластер наиболее характерными словами с помощью процедуры class-based TF-IDF. В результате получается набор тем с понятными описаниями по ключевым словам, а также распределение документов по темам и вероятности для каждого документа.
BERTopic можно использовать бесплатно? Какая у него лицензия?
BERTopic распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
BERTopic всё ещё поддерживается?
Активно поддерживается. Последний коммит в BERTopic — 5 нояб. 2026 г..
Для чего можно использовать BERTopic?
Изучение больших массивов отзывов клиентов, обращений в поддержку или ответов на опросы для выявления повторяющихся тем. Отслеживание изменений тем в новостях, социальных сетях или аннотациях научных работ с течением времени. Анализ коллекций документов на нескольких языках с помощью многоязычной модели эмбеддингов. Присвоение кластерам текстов понятных человеку названий тем, сгенерированных LLM.
Как установить BERTopic?
Установите BERTopic с помощью pip: pip install bertopic Обучите модель на документах с помощью fit_transform в Python
Где скачать BERTopic?
Исходный код и инструкции по установке — на GitHub: https://github.com/MaartenGr/BERTopic

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Учебный репозиторий на китайском языке: основы математики для ИИ, машинное и глубокое обучение, Transformer, BERT и разборы конкурсных задач с пояснениями к коду и датасетами.

3,6 тыс.476Jupyter NotebookMITОбновлён 21 день назад

Мощная NLP-библиотека для Python и Cython: токенизация, предобученные пайплайны и модели для разметки, синтаксического анализа и распознавания сущностей.

34 тыс.+31 за неделю4,7 тыс.PythonMITОбновлён 11 дней назад