一个基于 Python 的库,用于在 CPU 上快速聚类大规模高维嵌入向量,接口兼容 scikit-learn。
MaartenGr/BERTopic
一个 Python 主题建模库,结合 Transformer 嵌入与 c-TF-IDF,从文本中提取可解释的主题。
- Star
- 7,937
- Fork
- 931
- 未关闭 Issue
- 478
- 最近提交
- 前天
这是什么?
BERTopic 是一个用于主题建模的 Python 库。它先用 Transformer 模型对文档做向量嵌入,再降维、聚类成若干主题组,最后通过基于类的 TF-IDF(c-TF-IDF)为每个主题提取最具代表性的关键词,使主题结果易于理解。输出包括主题关键词、每篇文档的主题归属和概率。
该库采用模块化设计,嵌入模型、降维、聚类、分词、词权重和主题表示等环节都可以替换或省略。主题表示可以用 KeyBERT 风格的关键词提取优化,也可以用 OpenAI 等大模型生成标签,或通过多维度(multi-aspect)方式同时保留多种表示。
除基础建模外,BERTopic 还支持引导式、有监督、半监督、零样本、层次化、随时间动态、按类别、在线增量和多模态主题建模,并提供类似 LDAvis 的交互式可视化,以及模型的保存、加载和合并功能。
核心功能
- 01基于 Transformer 嵌入,结合降维与聚类生成主题。
- 02用 c-TF-IDF 提取主题关键词,并可借助 KeyBERT 或大模型优化表示。
- 03支持引导式、有监督、零样本、层次化、动态和在线主题建模。
- 04提供主题、文档、层次结构及随时间变化的交互式可视化。
- 05各个处理环节均可替换或省略,便于自定义。
适用场景
- 对大量用户反馈、客服工单或问卷回复做探索,找出反复出现的主题。
- 追踪新闻、社交媒体或论文摘要中的主题随时间的变化。
- 借助多语言嵌入模型分析多种语言的文档集合。
- 用大模型为文本聚类生成可读的主题名称。
快速上手
- 1
使用 pip 安装 BERTopic
pip install bertopic - 2
在 Python 中使用 fit_transform 对文档建模
使用前须知
- 默认安装会引入 transformers 和 UMAP 等较重的依赖,若需要更小的体积,需要使用轻量级安装方式。
- 部分可选的主题标注功能(例如 OpenAI 表示方法)需要付费服务的 API 密钥。
收录于专题
标签
常见问题
- BERTopic 是什么?
- 一个 Python 主题建模库,结合 Transformer 嵌入与 c-TF-IDF,从文本中提取可解释的主题。 BERTopic 是一个用于主题建模的 Python 库。它先用 Transformer 模型对文档做向量嵌入,再降维、聚类成若干主题组,最后通过基于类的 TF-IDF(c-TF-IDF)为每个主题提取最具代表性的关键词,使主题结果易于理解。输出包括主题关键词、每篇文档的主题归属和概率。
- BERTopic 可以免费使用吗?用的什么许可证?
- BERTopic 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- BERTopic 还在维护吗?
- 活跃维护中。BERTopic 最近一次提交是在 2026年11月5日。
- BERTopic 适合用来做什么?
- 对大量用户反馈、客服工单或问卷回复做探索,找出反复出现的主题。 追踪新闻、社交媒体或论文摘要中的主题随时间的变化。 借助多语言嵌入模型分析多种语言的文档集合。 用大模型为文本聚类生成可读的主题名称。
- BERTopic 怎么安装和运行?
- 使用 pip 安装 BERTopic: pip install bertopic 在 Python 中使用 fit_transform 对文档建模
- 在哪里获取 BERTopic?
- 源代码和安装说明在 GitHub 上:https://github.com/MaartenGr/BERTopic
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Rust 的高性能分词库,提供 Python 和 Node.js 绑定,用于 NLP 与大语言模型流程。
将 BERT、RoBERTa、XLNet 等 Hugging Face 预训练 Transformer 模型接入 spaCy 流程的组件与架构。
中文 AI 学习专题,涵盖数学基础、机器学习、深度学习、Transformer、BERT 及竞赛实战,附注释代码与数据集。
面向 Python 与 Cython 的工业级自然语言处理库,提供分词、预训练流程及实体识别等模型。
在浏览器中直接运行 Hugging Face Transformers 模型,无需服务器。