자주 사용되지 않는 단어에 학습 안정성을 확보하는 방법
워드투벡터는 단어의 출현 빈도가 적으면 임베딩의 정확도가 낮은 단점이 있었습니다. 참고할 수 있는 경우의 수가 적기 때문에 상대적으로 정확도가 낮아 임베딩되지 않습니다. 하지만 패스트텍스트는 등장 빈도수가 적더라도, n-그램으로 임베딩하기 때문에 참고할 수 있는 경우의 수가 많습니다. 따라서 상대적으로 자주 사용되지 않는 단어에서도 정확도가 높습니다.
이제 9장에서 배운 Gensim을 이용하여 패스트텍스트를 구현해 보겠습니다.
먼저 필요한 라이브러리와 데이터를 호출합니다. 데이터는 앞서 사용했던 ‘peter.txt’ 파일을 사용합니다.
코드 10-11 라이브러리 및 데이터 호출
from gensim.test.utils import common_texts
from gensim.models import FastText
model = FastText('..\chap10\data\peter.txt', vector_size=4, window=3, min_count=1, epochs=10) ------①
① FastText에서 사용하는 파라미터는 Word2Vec와 같습니다. 복습 차원에서 파라미터에 대해 다시 정리하겠습니다.
ⓐ 첫 번째 파라미터: 패스트텍스트에 적용할 데이터셋
ⓑ vector_size: 학습할 임베딩의 크기. 즉, 임베딩된 벡터의 차원