Repolode
MaartenGr

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. 1

    使用 pip 安装 BERTopic

    pip install bertopic
  2. 2

    在 Python 中使用 fit_transform 对文档建模

使用前须知

  • 默认安装会引入 transformers 和 UMAP 等较重的依赖,若需要更小的体积,需要使用轻量级安装方式。
  • 部分可选的主题标注功能(例如 OpenAI 表示方法)需要付费服务的 API 密钥。

收录于专题

标签

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

常见问题

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 数据每日更新。

相关项目