高次元の埋め込みベクトルをCPUで高速にクラスタリングする、scikit-learn風APIのPythonライブラリ。
MaartenGr/BERTopic
transformerの埋め込みとc-TF-IDFを組み合わせ、解釈しやすいトピックをテキストから抽出するPython製トピックモデリングライブラリ。
- スター
- 7,937
- フォーク
- 931
- 未解決の Issue
- 478
- 最終コミット
- 一昨日
これは何?
BERTopicは、トピックモデリング用のPythonライブラリです。transformerモデルで文書を埋め込み、次元削減とクラスタリングを行った後、class-based TF-IDFの手法で各グループの特徴を最もよく表す語を抽出します。これにより、読みやすいキーワードで説明されたトピックに加え、文書ごとのトピック割り当てと確率が得られます。
ライブラリはモジュール式に設計されています。埋め込みモデル、次元削減、クラスタリング、トークン化、語の重み付け、トピック表現など、各段階を別のものに置き換えたり、省いたりできます。トピック表現は、KeyBERT風のキーワードや、OpenAIモデルなどのLLMが生成するラベルで洗練できるほか、multi-aspect modelingによって複数の表現を同時に利用することもできます。
基本的な学習に加えて、BERTopicはガイド付き、教師あり、半教師あり、zero-shot、階層型、時間経過に伴う動的な分析、クラス別、オンライン、マルチモーダルなトピックモデリングに対応しています。また、LDAvis風のトピックマップなどのインタラクティブな可視化や、モデルの保存、読み込み、統合の機能も備えています。
主な機能
- 01transformerの埋め込み、UMAP風の次元削減、HDBSCAN風のクラスタリングによってトピックを生成します。
- 02c-TF-IDFキーワードでトピックを説明し、KeyBERTやLLMベースの表現でさらに洗練できます。
- 03ガイド付き、教師あり、zero-shot、階層型、動的、オンラインのトピックモデリングに対応しています。
- 04トピック、文書、階層、時間経過に伴うトピックをインタラクティブに可視化できます。
- 05パイプラインの各段階を別のものに置き換えたり、省いたりできます。
ユースケース
- 大量の顧客フィードバック、サポートチケット、アンケート回答を調べ、繰り返し現れるテーマを見つける。
- ニュース、ソーシャルメディア、研究論文の要旨に含まれるトピックが時間とともにどう変化するかを追跡する。
- 多言語対応の埋め込みモデルを使って、複数言語の文書コレクションを分析する。
- LLMが生成した、人が理解しやすいトピック名をテキストのクラスタに付与する。
クイックスタート
- 1
pipでBERTopicをインストールする
pip install bertopic - 2
Pythonでfit_transformを使って、ドキュメントにモデルを適合させる
使う前に知っておきたいこと
- デフォルトのインストールではtransformersやUMAPなどの大きな依存関係も導入されるため、容量を抑えるには軽量版のインストールが必要です。
- OpenAI representationなど、一部のオプションのトピックラベル付け機能を使うには、有料サービスのAPIキーが必要です。
収録されている特集
トピック
よくある質問
- BERTopic とは?
- transformerの埋め込みとc-TF-IDFを組み合わせ、解釈しやすいトピックをテキストから抽出するPython製トピックモデリングライブラリ。 BERTopicは、トピックモデリング用のPythonライブラリです。transformerモデルで文書を埋め込み、次元削減とクラスタリングを行った後、class-based TF-IDFの手法で各グループの特徴を最もよく表す語を抽出します。これにより、読みやすいキーワードで説明されたトピックに加え、文書ごとのトピック割り当てと確率が得られます。
- BERTopic は無料で使えますか?ライセンスは?
- BERTopic は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- BERTopic は今もメンテナンスされていますか?
- 活発にメンテナンス中。BERTopic の最終コミットは 2026年11月5日 です。
- BERTopic は何に使えますか?
- 大量の顧客フィードバック、サポートチケット、アンケート回答を調べ、繰り返し現れるテーマを見つける。 ニュース、ソーシャルメディア、研究論文の要旨に含まれるトピックが時間とともにどう変化するかを追跡する。 多言語対応の埋め込みモデルを使って、複数言語の文書コレクションを分析する。 LLMが生成した、人が理解しやすいトピック名をテキストのクラスタに付与する。
- BERTopic のインストール方法は?
- pipでBERTopicをインストールする: pip install bertopic Pythonでfit_transformを使って、ドキュメントにモデルを適合させる
- BERTopic はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/MaartenGr/BERTopic
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
NLPや言語モデルのパイプライン向けに、Rustで実装され、PythonとNode.jsのバインディングを備えた最先端の高速トークナイザーライブラリ。
Hugging FaceのBERT、RoBERTa、XLNetなどのtransformerモデルをspaCyパイプラインに組み込むコンポーネントとアーキテクチャ。
AIの数学の基礎、機械学習、深層学習、Transformer、BERT、コンペの事例を、注釈付きコードやデータセットとともに学べる中国語の講座形式リポジトリです。
PythonとCython向けの高性能NLPライブラリ。トークン化、学習済みパイプライン、タグ付け・構文解析・エンティティ認識用の学習済みモデルを提供します。
ONNX Runtimeを使い、サーバーなしでHugging Face TransformersモデルをブラウザーやJavaScriptランタイム上で実行できます。