2014-12-05 3 views
1

두 클래스에 대한 단어 목록이 있습니다. 클래스의 클래스 및 미터 항목에 N 항목 B 말한다. 파이썬에서 gensim 패키지 (LDA 용)로 토픽 모델링을 사용하여 클래스 A와 클래스 B의 모델을 훈련하고자합니다. 한편 주제 모델링파이썬을 처음 접했습니다. 아무도 내가 어떻게해야하는지 안다? 제 말은, 각 클래스의 모든 가방과 gensim을 병합해야합니까, 아니면 각 항목마다 가방을 별도로 사용해야합니까? 감사!Python에서 Gensim을 사용하는 주제 모델링

+0

바닐라 LDA 토픽 모델에서, 문서는 단어 봉지에서 그림을 그리면 생성되는 것으로 가정하므로 단어 봉합은 대략적으로 말하자면 주제 모델입니다. 단어 목록으로 무엇을 의미합니까? –

+0

내가 묻는 바는 레이블 A에 2 개의 인스턴스가 있고 레이블 B에 인스턴스 3 개가 있으면 각 그룹의 인스턴스를 병합하거나 gensim 모델에 개별적으로 부여해야합니까? 각 인스턴스는 단어의 모음입니다. 예를 들어 ([0, 2, 2, 0, A], [1,2,1,1, A], [3,0,0,1, B], [3,3,0,0, B]). 이 두 가지를 사용하거나 A를 [1, 4, 3, 1, A]로 병합하고 B를 [6, 3, 0, 1, B]로 병합해야하며 이제는이 두 가지만 사용해야합니까? – Nima

+1

좋아, 그래서 당신이 말하는 단어의 가방은 gensim이 '활을'부르는 unigram 표현입니다. 당신이 할 수있는 간단한 일은 훈련 파티션 (예를 들어, 각 클래스의 활의 80 %)에서 A에 대한 하나의 LDA 모델과 B에 대한 하나의 LDA 모델을 먼저 훈련시키는 것입니다. A와 B 모두에 대한 나머지 20 % 또는 "테스트 세트"에서 항목 모델을 사용하여 각 문서의 확률을 계산하고, 가장 높은 확률을 산출하는 것은 레이블을 문서에 할당합니다 –

답변

1

정확하게 이해한다면 두 출처의 문서를 비교하고 싶을 것입니다. (~ 1과 0의 X n 개의 행렬로 텍스트를 변환)

  • 모든 문서의 단어 코퍼스 (A와 B)의 가방을 만들
  • : Gensim이 작업을 수행 할 수

    한 가지 방법이 될 것입니다

이제 각 문서와 일 동안 주제 분포를 볼 수 있습니다 (~ 문서에 대한 관련있는 주제를 결정) LDA 공간

  • 변환 코퍼스 (~ 항목을 찾을 수) 당신의 신체에 LDA 모델 훈련 유사한 두 문서가 Gensim의 유사성 방법을 사용하고 있는지 확인하십시오.

    자세한 내용은 Gensim의 tutorials을 참조하십시오. 유일한 수정은 A와 B의 문서를 하나의 큰 문서로 결합하여 인덱스를 나중에 비교할 수 있도록 어딘가에 저장하는 것입니다.

    그러나 데이터 및 목표에 따라 다른 형식의 LDA (예 : 상호 연관된 주제 모델)가 더 적합 할 수 있습니다.

  • +0

    사실, 목록 A는 논문 그룹 A의 초록이고 논문 B는 논문 그룹 B의 초록 목록입니다. 목록 (단어 봉지)으로 표현 된 기사가 있습니다. 예를 들면 다음과 같습니다. [1, 2 , 0, 0, A], [0, 2, 2, 0, A]와 [1,0,0,4, B]. , 1, 0,?]) 어떤 종류의 기사가 있었는지 파악하고 싶습니다. – Nima

    +0

    이 경우 Henry Wotton 주심이 제안한 접근 방식이 효과적 일 수 있습니다. 또는 모든 파일에 대해 한 모델을 훈련시키고 문서 유사성을 사용하여 분류하십시오.아마도 전용 분류 알고리즘을 살펴 봐야 할 수도 있습니다. Scikit-Learn은 좋은 출발점이 될 수 있습니다. – MrFancypants