이 프로젝트는 짧은 텍스트 문서 클러스터링을 위해 Yin and Wang 2014의 Dirichlet 혼합 모델에 대한 Gibbs 샘플링 알고리즘을 구현합니다. 이 알고리즘의 몇 가지 장점 :
K 만 있으면됩니다.이 프로젝트는 GSDMM의 참조 구현을 쉽게 읽을 수 있습니다. 수요가 없으면 유지할 계획이 없습니다. 그러나 GSDMM의 훨씬 빠른 Rust 버전을 적극적으로 유지하고 있습니다.
논문에서 저자는 영화 그룹 프로세스라는 GSDMM을 설명하기위한 간단한 개념 모델을 소개합니다.
교수가 영화 수업을 이끌고 있다고 상상해보십시오. 수업이 시작될 때 학생들은 무작위로 K 테이블에 배정됩니다. 수업이 시작되기 전에 학생들은 좋아하는 영화 목록을 만듭니다. 교수는 반복적으로 수업 역할을 읽습니다. 학생의 이름이 호출 될 때마다 학생은 다음 조건 중 하나 또는 둘 다를 만족하는 새 테이블을 선택해야합니다.
이 단계를 일관되게 따르면 학생들이 결국 "최적의"테이블 구성에 도달 할 것으로 기대할 수 있습니다.
영화 그룹 프로세스를 사용하여 짧은 텍스트를 클러스터링하려면 먼저 MovieGroupProcess를 초기화하십시오.
from gsdmm import MovieGroupProcess
mgp = MovieGroupProcess ( K = 8 , alpha = 0.1 , beta = 0.1 , n_iters = 30 ) 알고리즘은 K 클러스터보다 더 많이 반환 할 수 없으므로 데이터에 존재하는 클러스터 수보다 K 항상 선택하는 것이 중요합니다.
모델에 맞추기 위해 :
y = mgp . fit ( docs ) docs 의 각 문서는 짧은 텍스트 문서에있는 고유 한 토큰 목록이어야합니다. 이 구현은 다중성을 가진 토큰 계산을 지원하지 않습니다 (일반적으로 짧은 텍스트 문서에서는 가치가 거의 없습니다).