고차원 임베딩 벡터를 CPU에서 빠르게 클러스터링하는 scikit-learn 스타일 API의 Python 라이브러리입니다.
MaartenGr/BERTopic
트랜스포머 임베딩과 c-TF-IDF를 결합해 텍스트에서 해석하기 쉬운 토픽을 생성하는 Python 토픽 모델링 라이브러리입니다.
- 스타
- 7,937
- 포크
- 931
- 열린 이슈
- 478
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
BERTopic은 토픽 모델링을 위한 Python 라이브러리입니다. 트랜스포머 모델로 문서를 임베딩하고, 차원을 축소한 다음 그룹별로 클러스터링한 뒤, class-based TF-IDF 절차를 사용해 각 그룹을 가장 두드러지는 단어로 설명합니다. 그 결과 읽기 쉬운 키워드 설명이 포함된 토픽과 문서별 토픽 할당 및 확률을 얻을 수 있습니다.
이 라이브러리는 모듈식으로 구성되어 있습니다. 임베딩 모델, 차원 축소, 클러스터링, 토큰화, 용어 가중치, 토픽 표현 등 각 단계를 다른 구성 요소로 바꾸거나 제거할 수 있습니다. KeyBERT 스타일 키워드나 OpenAI 모델로 생성한 것과 같은 LLM 기반 레이블을 사용해 토픽 표현을 다듬을 수 있으며, multi-aspect 모델링으로 여러 표현을 동시에 사용할 수도 있습니다.
기본적인 학습 외에도 BERTopic은 guided, supervised, semi-supervised, zero-shot, hierarchical, dynamic, per-class, online 및 multimodal 토픽 모델링을 지원합니다. LDAvis와 유사한 토픽 맵 등의 대화형 시각화 기능과 모델 저장, 불러오기, 병합 기능도 제공합니다.
핵심 기능
- 01트랜스포머 임베딩, UMAP 스타일 차원 축소, HDBSCAN 스타일 클러스터링을 사용해 토픽을 생성합니다.
- 02c-TF-IDF 키워드로 토픽을 설명하며, KeyBERT 또는 LLM 기반 표현으로 이를 다듬을 수 있습니다.
- 03guided, supervised, zero-shot, hierarchical, dynamic 및 online 토픽 모델링을 지원합니다.
- 04토픽, 문서, 계층 구조 및 시간에 따른 토픽 변화를 대화형으로 시각화합니다.
- 05파이프라인의 각 단계를 다른 구성 요소로 바꾸거나 제거할 수 있습니다.
활용 사례
- 대량의 고객 피드백, 지원 티켓 또는 설문 응답을 살펴보고 반복되는 주제를 찾습니다.
- 뉴스, 소셜 미디어 또는 연구 초록의 토픽이 시간에 따라 어떻게 달라지는지 추적합니다.
- 다국어 임베딩 모델을 사용해 여러 언어로 된 문서 모음을 분석합니다.
- LLM이 생성한 사람이 읽기 쉬운 토픽 이름으로 텍스트 클러스터에 레이블을 지정합니다.
빠른 시작
- 1
pip으로 BERTopic을 설치합니다
pip install bertopic - 2
Python에서 fit_transform을 사용해 문서에 모델을 학습시킵니다
사용 전 알아둘 점
- 기본 설치에는 transformers와 UMAP 같은 용량이 큰 종속성이 포함되므로, 설치 용량을 줄이려면 경량 설치가 필요합니다.
- OpenAI representation 같은 일부 선택적 토픽 라벨링 기능을 사용하려면 유료 서비스의 API 키가 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- BERTopic은(는) 무엇인가요?
- 트랜스포머 임베딩과 c-TF-IDF를 결합해 텍스트에서 해석하기 쉬운 토픽을 생성하는 Python 토픽 모델링 라이브러리입니다. BERTopic은 토픽 모델링을 위한 Python 라이브러리입니다. 트랜스포머 모델로 문서를 임베딩하고, 차원을 축소한 다음 그룹별로 클러스터링한 뒤, 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 바인딩을 제공합니다.
BERT, RoBERTa, XLNet 같은 Hugging Face transformer 모델을 spaCy 파이프라인에 연결하는 spaCy 컴포넌트와 아키텍처입니다.
AI 수학 기초부터 머신러닝, 딥러닝, Transformer, BERT, 대회 사례까지 다루는 중국어 강의형 저장소로, 주석이 달린 코드와 데이터셋을 제공합니다.
Python과 Cython을 위한 강력한 NLP 라이브러리로, 토큰화와 사전 학습 파이프라인, 태깅·구문 분석·개체 인식용 학습 모델을 제공합니다.
ONNX Runtime을 사용해 서버 없이 브라우저나 JavaScript 런타임에서 Hugging Face Transformers 모델을 실행합니다.