Hub documentation

Использование BERTopic на Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Использование BERTopic на Hugging Face

BERTopic — это фреймворк для тематического моделирования, который использует 🤗 transformers и c-TF-IDF для создания плотных кластеров, позволяющих легко интерпретировать темы, сохраняя при этом важные слова в описаниях тем.

BERTopic поддерживает все виды методов тематического моделирования:

РуководствоСупервизорныйПолуобученный
РуководствоМноготемные распределенияИерархический
На основе классовДинамическийОнлайн/инкрементальный
МультимодальныеМногоаспектныйГенерация текста/LLM
Zero-shot (новое!)Объединение моделей (новое!)Семейные слова (новинка!)

Исследование BERTopic на Hub

Модели BERTopic можно найти, отфильтровав их на странице моделей слева.

Модели BERTopic, размещённые на Hub, имеют карточку модели с полезной информацией. Благодаря интеграции BERTopic с Hugging Face Hub вы можете загрузить модели BERTopic всего несколькими строками кода. Кроме того, вы можете развернуть эти модели с помощью Inference Endpoints.

Установка

Для начала вы можете воспользоваться руководством по установке BERTopic. Также можно установить пакет одной строкой через pip:

pip install bertopic

Использование существующих моделей

Все модели BERTopic можно легко загрузить с Hub:

from bertopic import BERTopic
topic_model = BERTopic.load("MaartenGr/BERTopic_Wikipedia")

После загрузки вы можете использовать возможности BERTopic для предсказания тем для новых экземпляров:

topic, prob = topic_model.transform("This is an incredible movie!")
topic_model.topic_labels_[topic]

Это даёт нам следующую тему:

64_rating_rated_cinematography_film

Обмен моделями

Когда вы создали модель BERTopic, вы можете легко поделиться ею с другими через Hugging Face Hub. Для этого можно воспользоваться функцией push_to_hf_hub, которая позволяет напрямую отправить модель на Hugging Face Hub:

from bertopic import BERTopic

# Train model
topic_model = BERTopic().fit(my_docs)

# Push to HuggingFace Hub
topic_model.push_to_hf_hub(
    repo_id="MaartenGr/BERTopic_ArXiv",
    save_ctfidf=True
)

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

Дополнительные ресурсы

Update on GitHub