跳到主要内容

在 Hugging Face 使用 BERTopic

BERTopic 是一个主题建模框架,利用 🤗 transformers 和 c-TF-IDF 创建密集聚类,允许轻松解释的主题,同时在主题描述中保留重要单词。

BERTopic 支持各种主题建模技术:

引导式监督式半监督式
手动多主题分布层次化
基于类动态在线/增量
多模态多方面文本生成/LLM
零样本 (新!)合并模型 (新!)种子词 (新!)

在 Hub 上探索 BERTopic

你可以通过在模型页面左侧筛选来找到 BERTopic 模型。

托管在 Hub 上的 BERTopic 模型有一个包含模型有用信息的模型卡片。由于 BERTopic Hugging Face Hub 集成,你可以用几行代码加载 BERTopic 模型。你还可以使用推理端点部署这些模型。

安装

要开始使用,你可以遵循 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 模型。

其他资源