트랜스포머 임베딩과 c-TF-IDF를 결합해 텍스트에서 해석하기 쉬운 토픽을 생성하는 Python 토픽 모델링 라이브러리입니다.
TutteInstitute/evoc
고차원 임베딩 벡터를 CPU에서 빠르게 클러스터링하는 scikit-learn 스타일 API의 Python 라이브러리입니다.
- 스타
- 356
- 포크
- 22
- 열린 이슈
- 12
- 마지막 커밋
- 9일 전
어떤 프로젝트인가요?
EVōC(Embedding Vector Oriented Clustering)는 CLIP 벡터나 sentence-transformers, OpenAI, Cohere 임베딩 모델의 출력처럼 고차원 임베딩 벡터로 이루어진 대규모 데이터셋을 클러스터링하는 라이브러리입니다. 이 작업에서 UMAP과 HDBSCAN을 함께 사용하는 파이프라인을 대체하도록 설계되었으며, 하이퍼파라미터를 줄이고 실행 시간을 크게 단축하면서도 양질의 클러스터링을 목표로 합니다.
이 라이브러리는 scikit-learn API를 따르므로 다른 scikit-learn 클러스터링 알고리즘을 사용하는 곳이라면 어디서든 사용할 수 있습니다. 단일 레이블 집합을 반환하는 데 그치지 않고, 세분화 수준이 서로 다른 여러 클러스터 계층을 생성하며, 계층 간 구조를 추출하고 중복 또는 거의 중복인 벡터를 표시합니다. int8 또는 바이너리 양자화 벡터도 직접 입력할 수 있습니다.
EVōC는 PyPI에서 설치할 수 있으며 numpy, scikit-learn, numba, tqdm, tbb에 의존합니다. 아직 초기 베타 단계이므로 인터페이스가 변경될 수 있습니다. 클러스터 추출은 2025년 arXiv 논문에 소개된 PLSCAN 방법을 기반으로 합니다.
핵심 기능
- 01CPU에서 임베딩 벡터를 빠르게 클러스터링합니다.
- 02세밀한 수준부터 거친 수준까지 여러 클러스터 계층을 생성합니다.
- 03계층 간 클러스터 구조를 추출합니다.
- 04중복 및 거의 중복인 벡터를 감지합니다.
- 05int8 및 바이너리 양자화 임베딩을 직접 처리합니다.
- 06scikit-learn과 호환되는 fit_predict 인터페이스를 제공합니다.
활용 사례
- 대규모 텍스트 또는 이미지 컬렉션의 CLIP 임베딩이나 문장 임베딩을 주제별로 그룹화합니다.
- 넓은 주제에서 세부 주제로 단계적으로 살펴볼 수 있는 계층형 주제 지도를 만듭니다.
- 임베딩 코퍼스에서 중복 또는 거의 중복인 항목을 찾습니다.
빠른 시작
- 1
pip으로 PyPI에서 EVōC를 설치합니다
pip install evoc - 2
EVōC를 가져오고 fit_predict로 임베딩 벡터를 클러스터링합니다
import evoc clusterer = evoc.EVoC() cluster_labels = clusterer.fit_predict(data)
사용 전 알아둘 점
- 이 라이브러리는 아직 초기 베타 단계이므로, 기능이 언제든 중단될 수 있습니다.
- 알고리즘은 아직 공개되지 않았으므로 README에서는 대신 PLSCAN 논문을 인용하도록 안내합니다.
토픽
자주 묻는 질문
- evoc은(는) 무엇인가요?
- 고차원 임베딩 벡터를 CPU에서 빠르게 클러스터링하는 scikit-learn 스타일 API의 Python 라이브러리입니다. EVōC(Embedding Vector Oriented Clustering)는 CLIP 벡터나 sentence-transformers, OpenAI, Cohere 임베딩 모델의 출력처럼 고차원 임베딩 벡터로 이루어진 대규모 데이터셋을 클러스터링하는 라이브러리입니다. 이 작업에서 UMAP과 HDBSCAN을 함께 사용하는 파이프라인을 대체하도록 설계되었으며, 하이퍼파라미터를 줄이고 실행 시간을 크게 단축하면서도 양질의 클러스터링을 목표로 합니다.
- evoc은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- evoc은(는) BSD-2-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- evoc은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. evoc의 마지막 커밋은 2026년 10월 29일입니다.
- evoc은(는) 어디에 사용할 수 있나요?
- 대규모 텍스트 또는 이미지 컬렉션의 CLIP 임베딩이나 문장 임베딩을 주제별로 그룹화합니다. 넓은 주제에서 세부 주제로 단계적으로 살펴볼 수 있는 계층형 주제 지도를 만듭니다. 임베딩 코퍼스에서 중복 또는 거의 중복인 항목을 찾습니다.
- evoc는 어떻게 설치하나요?
- pip으로 PyPI에서 EVōC를 설치합니다: pip install evoc EVōC를 가져오고 fit_predict로 임베딩 벡터를 클러스터링합니다: import evoc clusterer = evoc.EVoC() cluster_labels = clusterer.fit_predict(data)
- evoc은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/TutteInstitute/evoc
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Orange는 드래그 앤 드롭 방식의 워크플로를 기반으로 데이터 마이닝, 분석, 시각화를 지원하는 오픈소스 비주얼 프로그래밍 도구입니다.
GPU 가속 옵션을 제공하는 C++ 라이브러리로, Python 바인딩을 통해 dense vector의 유사도 검색과 클러스터링을 효율적으로 수행합니다.
NVIDIA GPU에서 머신러닝, 선형대수, 정보 검색을 위한 재사용 가능한 프리미티브를 제공하는 CUDA 가속 C++ 헤더 전용 라이브러리 및 Python 래퍼입니다.
다양한 LLM 제공업체, 벡터 데이터베이스, RAG 파이프라인과 어시스턴트를 위한 통합 인터페이스를 제공하는 LLM 기반 애플리케이션 개발용 Ruby 라이브러리입니다.
ONNX 형식으로 내보낸 ML 모델 실행을 위한 크로스 플랫폼 가속기이며, PyTorch 스크립트 학습도 지원합니다.