태그 보관물: latent-dirichlet-alloc

latent-dirichlet-alloc

주제 모델링을 수행하기위한 R 패키지 / LDA :`topicmodels` 및`lda` [폐쇄] 것입니다 .

두 개의 R 패키지 만 Latent Dirichlet Allocation 을 수행 할 수있는 것 같습니다 .

하나는 ldaJonathan Chang이 저술 한 것입니다 . 다른 하나는 topicmodelsBettina Grün과 Kurt Hornik 이 저술했습니다.

성능, 구현 세부 사항 및 확장 성 측면에서이 두 패키지의 차이점은 무엇입니까?



답변

구현 : topicmodels 패키지는 Blei et al.의 주제 모델을위한 GSL C 및 C ++ 코드에 대한 인터페이스를 제공합니다. 및 Phan et al. 초기에는 Gibbs Sampling에 Variational EM을 사용합니다. http://www.jstatsoft.org/v40/i13/paper를 참조 하십시오 . 이 패키지는 tm 패키지의 유틸리티와 잘 작동합니다.

lda 패키지는 GSL 라이브러리의 모델과 유사한 여러 모델에 대해 축소 된 Gibbs 샘플러를 사용합니다. 그러나 Blei et al.이 아니라 패키지 작성자 자체에 의해 구현되었습니다. 따라서이 구현은 일반적으로 VEM 알고리즘이 적용되는 이러한 모델 변형을 소개하는 원본 논문에서 제안 된 추정 기술과는 다릅니다. 반면에 패키지는 다른 패키지보다 더 많은 기능을 제공합니다. 이 패키지는 텍스트 마이닝 기능도 제공합니다.

확장 성 : 확장 성과 관련하여 주제 모델 코드는 본질적으로 C 및 C ++로 작성된 다른 주제 모델 코드를 인터페이스하도록 확장 될 수 있습니다. lda 패키지는 저자가 제공 한 특정 구현에 더 의존하는 것처럼 보이지만 Gibbs 샘플러는 자체 주제 모델을 지정할 수 있습니다. 확장 성 문제가 아닌 경우 전자는 GPL-2에 따라 라이센스가 부여되고 후자는 LGPL에 따라 라이센스가 부여되므로 확장해야 할 사항에 따라 달라질 수 있습니다 (GPL-2는 오픈 소스 측면에서 더 엄격합니다. 즉, 사용할 수 없습니다) 독점 소프트웨어).

성능 : 나는 여기서 당신을 도울 수 없습니다. 나는 지금까지 토픽 모델 만 사용했습니다.

결론 :
개인적으로 나는 topicmodels잘 문서화되어 있으므로 위의 JSS 논문을 참조하십시오. 저는 저자를 신뢰합니다 (Grün은 flexmix를 구현했으며 Hornik은 R 핵심 멤버입니다).


답변

+1 topicmodels . @Momo의 답변은 매우 포괄적입니다. 패키지 또는 파이썬을 사용하여 topicmodels쉽게 만들 수있는 문서 용어 행렬로 입력 을 취합니다 tm. lda패키지 (Blei의 LDA-C 기준) 입력의 난해한 양식을 사용하고 내가 사용 운이 없었 한 내장으로 변환 DTM에 기능 lda패키지 형식합니다 (LDA 문서는 모모 노트로, 매우 가난하다).

나는 원시 텍스트가 시작되면 몇 가지 코드가 그것을 사전을-처리 tm및 통해 풋을 topicmodels(사전에 주제의 최적의 수를 발견하고 출력 작업 포함) 여기 . topicmodels처음 오시는 분에게 유용 할 수 있습니다 .


답변

Molly Roberts, Brandon Stewart 및 Dustin Tingley의 R STM (Structural Topic Model) 패키지도 훌륭한 선택입니다. tm 패키지 위에 구축되어 문서 수준 공변량 정보가 포함 된 주제 모델링을위한 일반적인 프레임 워크입니다.

http://structuraltopicmodel.com/

STM 패키지에는 주제 수를 결정하기위한 일련의 방법 (그리드 검색) 및 측정 (의미 적 일관성, 잔차 및 독점)이 포함됩니다. 토픽 수를 0으로 설정하면 모델이 최적의 토픽 수를 결정하게됩니다.

stmBrowser 패키지는 주제에 대한 외부 변수의 영향을 시각화하기위한 훌륭한 데이터 시각화 보완 기능입니다. : 2016 년 대선 논쟁과 관련이 예제 참조 http://alexperrier.github.io/stm-visualization/index.html을 .


답변

나는 3 개의 라이브러리 중 3 개의 라이브러리를 모두 사용했습니다. 주제 모델, lda, stm; 모든 사람들이 n 그램으로 작업하는 것은 아닙니다. topicmodels 라이브러리는 추정치가 좋고 n 그램에서도 작동합니다. 그러나 누군가가 유니 그램으로 작업한다면 실무자는 stm을 선호 할 수 있습니다.


답변