본문 바로가기
Python

[텍스트마이닝] LDA 결과의 시각화

by 권미정 2023. 1. 16.

동아대 INSPIRE - python 텍스트마이닝 20강을 정리한 내용입니다.


LDA 결과의 시각화는 저장된 파일을 불러와서 명령어를 실행하기만 하면 됩니다. 하지만 시각화된 결과를 분석하는 것이 중요합니다.

 

1. 분석 명령어

LDA 결과의 시각화

!pip install pyLDAvis
import pyLDAvis.gensim_models

pyLDAvis를 설치하고, 이를 사용하기 위해서 gensim_models를 불러옵니다. (강의 자료엔 gensim이라고 되어 있는데 명명이 변경되었음)

 

en_dict = gensim.corpora.Dictionary.load_from_text('en_lda_dict.txt')
en_corpus = gensim.corpora.MmCorpus('en_lda_corpus.mm')

앞 강의에서 저장했던 시각화 파일들을 다시 한번 저장합니다.

 

en_lda = joblib.load('en_lda_model.pkl')

lda 결과 파일도 저장합니다.

 

en_lda_ldavis = pyLDAvis.gensim_models.prepare(en_lda, en_corpus, en_dict)

세 개의 파일을 묶어서 ldavis를 준비시킵니다.

 

pyLDAvis.save_html(en_lda_ldavis, 'en_lda_ldavis.html')

ldavis 결과를 html 형식으로 저장합니다.

 

2. 분석 결과

저장된 html 파일을 '연결프로그램-크롬'으로 열어서 확인해 봅시다!

 

10개의 군집으로 되어 있는 걸 확인할 수 있습니다.

 

1번 군집을 눌러 보면, 토큰의 18.7%를 차지한다고 나옵니다. 이것은 첫 번째 주제의 내용과 관련되는 단어들이 나타내는 비율이 18.7%로 가장 많다는 것을 의미합니다. 원의 크기도 가장 큽니다.

 

여기서 이 막대의 길이는 전체 문서에서 나타나는 빈도입니다. 그 중에서 빨간색 부분이 첫 번째 주제에서 나타나는 빈도입니다. 많이 나올 수밖에 없는 뻔한 단어들은 제외하고 다른 단어들에 포커스를 맞춰 분석하는 것이 중요합니다.

 

한 가지 주의할 점은, 첫 번째 주제의 순서와 맞지 않다는 것입니다. 주제를 출력했을 때 첫 번째는 system, use, base... 순서인데 시각화 결과와는 다른 것을 볼 수 있습니다. 랜덤으로 나오기 때문에 다르다는 것을 주의해야 합니다.

댓글