[파이썬] Gensim Word2Vec 모델 생성 및 학습

Word2Vec은 자연어 처리와 텍스트 분석 분야에서 널리 사용되는 알고리즘입니다. 이 알고리즘을 통해 텍스트 데이터로부터 의미 있는 단어 벡터를 생성할 수 있습니다. 이번 블로그 포스트에서는 Python의 Gensim 라이브러리를 사용하여 Word2Vec 모델을 생성하고 학습하는 방법에 대해 알아보겠습니다.

Gensim 라이브러리 설치

Gensim은 토픽 모델링, 자연어 처리, 텍스트 분석 등의 기능을 제공하는 Python 라이브러리입니다. 다음 명령을 사용하여 Gensim을 설치합니다.

pip install gensim

데이터 준비

Word2Vec 모델을 학습하기 위해서는 텍스트 데이터가 필요합니다. 예를 들어, 영화 리뷰 데이터를 사용할 수 있습니다. 데이터를 불러와서 전처리하는 과정은 생략하겠습니다. 최종적으로 텍스트 데이터 리스트인 sentences를 얻었다고 가정하겠습니다.

Word2Vec 모델 생성 및 학습하기

먼저 Gensim의 Word2Vec 클래스를 import합니다.

from gensim.models import Word2Vec

다음으로 Word2Vec 모델을 생성하고 학습합니다. 다음 코드를 사용하면 단어 벡터의 차원은 100이고, 윈도우 크기는 5로 설정된 Word2Vec 모델을 생성할 수 있습니다.

model = Word2Vec(sentences, size=100, window=5, min_count=3, workers=4)

학습이 완료되면 생성된 모델을 저장할 수 있습니다.

model.save("word2vec.model")

학습된 Word2Vec 모델 사용하기

학습된 Word2Vec 모델을 사용하여 단어 간 유사도를 계산하거나 단어들의 벡터를 얻을 수 있습니다.

# 단어 벡터 얻기
vector = model.wv["apple"]

# 단어 간 유사도 계산하기
similarity = model.wv.similarity("apple", "banana")

결론

Gensim을 사용하면 간편하게 Word2Vec 모델을 생성하고 학습할 수 있습니다. 이러한 모델은 텍스트 분류, 문서 군집화 등 다양한 자연어 처리 작업에 활용될 수 있습니다. Word2Vec을 통해 단어의 의미를 파악하여 더 효과적인 자연어 처리 모델을 구축해보세요.