[python] 파이썬 gensim을 이용한 토픽 모델링 실전 예제

본 포스트에서는 파이썬을 사용하여 gensim 라이브러리를 이용해 토픽 모델링을 수행하는 방법에 대해 알아보겠습니다.

목차


토픽 모델링이란?

토픽 모델링(Topic Modeling) 은 문서 집합에서 주제(topic) 를 찾아내는 자연어 처리 기술입니다. 토픽 모델링은 비지도 학습 기반으로 작동하며, 단어의 분포를 분석하여 해당 문서의 주제를 추론합니다.

gensim 라이브러리 소개

gensim 은 Python에서 사용할 수 있는 자연어 처리 및 토픽 모델링 라이브러리 중 하나로, 토픽 모델링 및 자연어 처리와 관련된 다양한 기능들을 제공합니다.

토픽 모델링 실전 예제

# 필요한 라이브러리 불러오기
from gensim import corpora
from gensim.models import LdaModel
from gensim.parsing.preprocessing import preprocess_string
from gensim.parsing.preprocessing import remove_stopwords

# 데이터
documents = [
    "토픽 모델링은 자연어 처리의 중요한 주제이다",
    "토픽 모델링을 통해 문서의 토픽을 분석할 수 있다",
    "gensim은 토픽 모델링을 위한 뛰어난 라이브러리이다"
]

# 전처리
def preprocess(doc):
    return preprocess_string(doc)

# 단어 사전 만들기
dictionary = corpora.Dictionary([preprocess(remove_stopwords(doc)) for doc in documents])

# 말뭉치 만들기
corpus = [dictionary.doc2bow(preprocess(remove_stopwords(doc))) for doc in documents]

# 토픽 모델링 수행
lda_model = LdaModel(corpus, num_topics=3, id2word=dictionary, passes=15)

# 결과 출력
for idx, topic in lda_model.print_topics(-1):
    print(f'Topic: {idx} \nWords: {topic}')

위의 예제 코드는 gensim 라이브러리를 사용하여 토픽 모델링을 수행하는 과정을 보여줍니다. 데이터를 전처리하고, 단어 사전과 말뭉치를 만든 후 LDA 모델을 통해 토픽 모델링을 수행하고 결과를 출력합니다.

결론

본 포스트에서는 파이썬을 사용하여 gensim 라이브러리를 이용한 토픽 모델링에 대해 알아보았습니다. 토픽 모델링은 문서의 주제를 파악하는 데 있어 중요한 기술이며, gensim을 활용하면 간편하게 토픽 모델링을 수행할 수 있습니다.


참고 자료