2014-09-25 1 views
1

Graber et al.의 결과를 재현하려고합니다. LDA가 다국어 코퍼스와 함께 사용될 때 주제 (예 : 상위 10 개)에 대한 가장 가능성있는 용어는 단일 언어에서 올 것이라고 나타냅니다. 그들의 논문은 here입니다.Bi (다중) 언어 코퍼스에 대한 Lda

이것은 IMO를 수행하는 데있어 합당한 건강 진단이지만 문제가 있습니다.

나는 사용하는 동일한 코퍼스 인 Europarl corpus을 사용하고 있으며 불가리아어와 영어로 구성된 코퍼스를 사용하고 있습니다. 나는 불가리아어 라인의 수집 및 영어에서 두 번째 컬렉션,

cat corpusBg.txt corpusEn.txt >> corpusMixed.txt. 

이 각 줄의 문장을 포함하여 불가리아와 영어 corpuses를 연결된. 4 가지 주제로 구성된 LDA 모델에 적합하면 3 가지가 상위 10 개에만 영어 용어를 포함하고 4 번째는 영어와 불가리아어가 섞여 있습니다. 나는 중지 단어 또는 스파 스 용어를 제거하지 않은

texts = [[word for word in doc.lower().split()] for doc in open('corpusMixed.txt', 'r')] 
dictionary = corpora.Dictionary(texts) 
corpus = [dictionary.doc2bow(doc) for doc in texts] 
lda = models.ldamodel.LdaModel(corpus, id2word = dictionary, num_topics = 4) 
topics = lda.print_topics(lda.num_topics) 

for t in topics: 
    print t 

참고하지만이 문제가되지해야한다고 생각 : 나는 LDA에 대한 기본 설정을 사용하고 있습니다. 직관적으로 불가리아어로 된 용어와 영어로만 된 용어가 있어야합니다.

답변

0

이 논문에서는 10 가지 주제 모델을 사용하여 이러한 현상을 논의합니다.

소수의 주제로 LDA를 실행하면 뚜렷한 의미 론적 주제가 '키메라'주제로 병합됩니다 (David Mimno's term, 나는 믿습니다). "언어 당 약 6 천만 단어"가있는 코퍼스에 대해서만 4 가지 주제 만 있으면 거의 필연적입니다. 솔직하게 말하면, LDA가 다른 언어의 주제를 병합하기가 어려울 것 같지만 10 개의 주제가 충분하다는 사실에 놀랐습니다. 서로 다른 언어의 단어 쌍이 문장에 함께 표시되기 때문에.

+0

종이에 대한 좋은 지적입니다. 나는 그 그림 캡션의 세부 사항을 간과했다. 나는 10 개의 화제로 다시 채우고, 나의 화제 전부에는 지금 영어 낱말 만 포함한다. 나는 비디오를 보았으며 "키메라 주제"현상에 주목했습니다. 내 직관은 주제의 수를 정하는 것이 주제를 결정할 수있는 해결 수준을 설정하는 것과 유사하다고 제안했습니다. 이것은 틀린가? – sinwav

+0

예, 다소 정확합니다. 그러나 우리는 이와 같이 생각할 수도 있습니다. 적절한 해상도의 실제적이고 의미있는 주제가 너무 많으면 일부는 함께 번들로 묶일 것입니다. 또한 근사치 일뿐입니다. 실제 텍스트는 모델의 가정을 따르지 않으므로 이상한 일이 발생할 수 있습니다! 주제는 문체 나 습관적 언어 사용을 나타낼 수 있으며 (예 : 의미가 아님) 반복 텍스트 스 니펫과 같은 경우 이상한 효과가 발생할 수 있습니다. – drevicko

+0

영어 단어 만 나타납니다 ... 두 언어를 모두 사용 하시겠습니까? (vocab에 대한 빠른 견해는 당신에게 말해야 함). 영어 코퍼스가 불가리아어보다 상당히 큰 경우, 불가리아어를 지배하는 주제가 될 가능성이 큽니다. 아마 당신은 그것을 줄이거 나 다른 주제를 추가 할 수 있습니다. 어떤 사전 처리 작업을하셨습니까? 정지 단어가 삭제 되었습니까? 매우 높은/낮은 주파수 단어? 나쁜 tf/idf 점수를 가진 단어? ([Blei] (http://www.cs.princeton.edu/~blei/papers/BleiLafferty2009.pdf)에는 11 페이지 또는 "어휘 선택하기"와 같은 접근법이 있습니다. – drevicko