[NLP] Tokenization과 Embedding

김선형·2025년 9월 20일

NLP

목록 보기
1/5

Tokenization

Token은 특정 문서에서 연속된 문자들 중 의미 있는 단위다. Tokenization은 언어 입력을 토큰과 같은 작은 단위로 나누는 과정이다.

Tokenization Level

단어 수준

일반적으로 공백, 구두점을 기준으로 분리하며, 각 단어는 고유 ID로 매핑된다. 'dog', 'dogs'와 같이 매우 유사한 단어도 서로 다른 ID를 가지며, Vocabulary 크기가 지나치게 커질 수 있다. Vocabulary 크기를 제한하였을 때 Vocabulary에 포함되지 못한 단어 (Out of Vocab)은 "unknown" 토큰 ID로 매핑되며, 이는 정보 손실을 초래할 수 있다.

문자 수준

토큰 수가 적으며 Out of Vocab 문제가 줄어든다. 그러나 각 문자는 많은 정보를 담지 못하며, 각 단어가 매우 긴 시퀀스로 표현될 수 있다.

Subword 수준

단어 수준과 문자 수준 토큰화의 중간 지점이다.

원칙

  • 자주 사용되는 단어는 분할하지 않는다. (ex. cat → cat)
  • 드물게 사용되는 단어는 의미 있는 subword로 분할한다. (ex. cats → cat/s, playing → play/ing)

Embedding

One-Hot Embedding

0과 1로 이루어진 N×1N \times 1 크기 (NN: Vocabulary 크기)의 One-Hot Vector로 표현한다. One-Hot vector는 sparse하고 크기가 크며, 서로 다른 두 One-Hot vector의 Inner Product는 0이다.
단어의 특성에 대한 정보나 단어 간 유사성을 제공하지 못한다.

Word Embedding

Context의 이해: 분포 가설 (Distributional Hypothesis)

단어의 의미는 그 단어가 나타나는 문맥에 의해 정의된다. 즉, 비슷한 문맥에서 쓰이는 단어들은 의미도 비슷하다. 언어학적으로 단어의 의미를 그 분포, 즉 주변 문맥을 기반으로 분석할 수 있음을 시사한다.

Word2Vec

함께 출현한 단어로 이루어진 Train data를 구성하고, 주변 단어와 타겟 단어 간의 분류 문제로 정의한 후 학습한다. 신경망을 기반으로 주변 단어들과의 관계를 임베딩 공간에 투영한다.

학습 방식

  • Skip-gram: 중심 단어로부터 주변 단어를 예측한다.
  • CBOW (Continuous Bag of Words): 주변 단어들로부터 중심 단어를 예측한다.

GloVe

행렬 분해를 기반으로 단어 임베딩을 학습한다.

FastText

Word2Vec의 확장 버전으로, 단어를 subword 단위로 분해해 임베딩한다.

profile
선형의 비선형적 기록 🐜

0개의 댓글