brunch

You can make anything
by writing

C.S.Lewis

by 유윤식 May 06. 2021

Python: Gensim

#WORD2VEC

Gensim 똑똑하게 사용하기.

문서를 확인하고,

문서에서 제시하는 예제를 따라하고,

내 상황에 알맞는 상황을 파악하고 구현한다.


마치,

수학 교과서의 개념을 확인하고,

연습문제를 풀어보고,

수능을 보는 듯한 느낌이다.


근데, 이게 정석이라는 생각이 어느순간 들었다.

Gensim이라는 라이브러리는 Word2Vec과 FastText 두가지를 지원한다.


더 다양한 기능을 제공하고 있지만 흔히 사용되는 대표라고 생각된다.


이 중에서 Word2Vec을 분석해보고 내 상황에 맞게끔 사용해보았다.


실무에서 사용하기에도 문제가 없음을 확인했다.


우선, 나의 상황은 n-gram 에 대한 요구사항 자체가 없다.

이는 FastText 의 이점을 전혀 사용할 수 없음을 의미했다.(문서를 통해서 파악할 수 있었다.)


Word2Vec을 통해 Word Embedding을 만드는데,

앞으로 지속적으로 추가될 수 있는 Word에 대해서 추가적인 학습이 필요한 상황이었다.

이는, Word2Vec의 Continuous Training 을 통해서 구현할 수 있었다.


큰 가지는 2가지로 볼 수 있다.

FastText와 비교해서 비슷한 성능을 보여줄 수 있어야하고,

Continuous Training을 통해서 지속적인 임베딩 업데이트를 진행 할 수 있어야 한다.


Word2Vec 에서 위와 같은 특징의 여부를 모르는 경우도 있다.

내가 진행하고 있는 프로젝트에서 base 로 사용할 수 있는 Word2Vec 모델을 만들어야 한다면,

고려해 볼 수 있는 좋은 선택지라고 생각한다.

물론 데이터를 만드는 부분에 많은 노력을 기울여야 하는건 당연하다.



https://radimrehurek.com/gensim/auto_examples/tutorials/run_word2vec.html#online-training-resuming-training



작가의 이전글 Python: ANNOY
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari