在 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 模型。