[파이썬] Gensim 모델 저장 및 로딩

Gensim은 Python에서 자연어 처리를 위한 도구로서, 토픽 모델링, 문서 유사도 계산, 단어 임베딩 등 다양한 기능을 제공합니다. 이러한 기능을 효과적으로 사용하기 위해 Gensim 모델을 저장하고 로드하는 방법을 알아보겠습니다.

모델 저장하기

Gensim 모델을 저장하기 위해서는 save() 메서드를 사용합니다. 저장할 모델을 로딩한 후, save() 메서드에 저장 경로를 인자로 전달합니다.

아래는 Gensim에서 Word2Vec 모델을 훈련하고 저장하는 예시 코드입니다.

from gensim.models import Word2Vec

# 모델 훈련 데이터 준비
sentences = [["I", "love", "machine", "learning"], 
             ["Python", "is", "the", "best"], 
             ["Word2Vec", "is", "a", "great", "tool"]]

# Word2Vec 모델 훈련
model = Word2Vec(sentences, size=100, window=5, min_count=1)

# 모델 저장
model.save("word2vec_model.bin")

위의 예시 코드에서는 Word2Vec 모델을 훈련한 후, save() 메서드를 사용하여 word2vec_model.bin 파일로 모델을 저장하고 있습니다.

모델 로드하기

Gensim 모델을 로드하기 위해서는 load() 함수를 사용합니다. load() 함수에 로드할 모델의 경로를 인자로 전달하면, 해당 경로에 저장된 모델을 로드하여 사용할 수 있습니다.

아래는 저장된 Word2Vec 모델을 로드하고, 유사한 단어를 찾는 예시 코드입니다.

from gensim.models import Word2Vec

# 저장된 모델 로드
loaded_model = Word2Vec.load("word2vec_model.bin")

# 유사한 단어 찾기
similar_words = loaded_model.wv.most_similar("machine")

# 결과 출력
for word in similar_words:
    print(word[0], word[1])

위의 예시 코드에서는 load() 함수를 사용하여 저장된 word2vec_model.bin 파일을 로드한 후, most_similar() 메서드를 사용하여 “machine” 단어와 유사한 단어를 찾고 있습니다.

Gensim을 사용하여 모델을 저장하고 로드하는 방법을 알아보았습니다. 모델 저장과 로딩은 데이터 분석 및 자연어 처리 작업에서 중요한 부분이므로, 유용한 기능을 활용하여 효율적인 작업을 수행할 수 있습니다.