사전에 없는 단어에 벡터 값을 부여하는 방법
패스트텍스트는 주어진 문서의 각 단어를 n-그램(n-gram)으로 표현합니다. 이때 n의 설정에 따라 단어의 분리 수준이 결정됩니다. 예를 들어 n을 3으로 설정(트라이그램(trigram))하면 ‘This is Deep Learning Book’은 This is Deep, is Deep Learning, Deep Learning Book으로 분리한 후 임베딩합니다. 즉, 다음 그림과 같이 분리됩니다.
▲ 그림 10-7 트라이그램
n 값에 따른 단어의 분리(부분 단어(subword))는 표 10-1과 같습니다.
▼ 표 10-1 n 값에 따른 단어의 분리
문장 |
n 값 |
단어의 분리 |
This is Deep Learning Book |
1 |
<This, is, Deep, Learning, Book> |
2 |
<This is, is Deep, Deep Learning, Learning Book> |
|
3 |
<This is Deep, is Deep Learning, Deep Learning Book> |
패스트텍스트는 인공 신경망을 이용하여 학습이 완료된 후 데이터셋의 모든 단어를 각 n-그램에 대해 임베딩합니다. 따라서 사전에 없는 단어가 등장한다면 n-그램으로 분리된 부분 단어와 유사도를 계산하여 의미를 유추할 수 있습니다.