- 목적
자연어 처리 모델들의 토크나이저들의 원리를 파악하여 장점, 단점을 확인 및 어떠한 방식으로 사용하는지 파악해보자- 한국어 토크나이저는 어떻게 발전했는지 알아보자
3 Tokenizer Comparison
| No | Tokenizer | 정의 | 동작 원리 | 학습 효과 |
|---|---|---|---|---|
| 1 | BPE (Byte-Pair Encoding) | 가장 자주 등장하는 문자쌍(bigram)을 반복적으로 병합해 서브워드 생성 | ① 말뭉치를 문자 단위로 분리 → ② bigram 빈도 계산 → ③ 가장 많이 등장한 pair 병합 → ④ 반복 수행 | 희귀 단어 분해 능력이 높고, 안정적이며 빠른 학습 / 하지만 너무 자주 등장하는 패턴에 과도하게 병합될 수 있음 |
| 2 | WordPiece | 확률 최대화(Likelihood maximization) 기반 병합을 수행하는 서브워드 모델 | ① 후보 서브워드를 만들고 점수(score)를 계산 → ② corpus likelihood가 가장 커지는 병합 선택 → ③ 반복 | BPE보다 더 언어 모델링 목표에 맞춘 병합 생성 → 희귀 단어 처리 개선 / 다만 학습 속도는 더 느림 |
| 3 | Unigram | 단일 서브워드 집합 중 최적의 조합을 선택하는 확률 모델 | ① 충분히 큰 서브워드 후보 집합 생성 → ② 각 서브워드에 확률 부여 → ③ 전체 likelihood를 가장 높이는 방향으로 서브워드 제거(pruning) | 가장 유연하고 자연스럽게 분해되는 토큰 집합을 만들며, 한국어·일본어 같은 형태소 복잡한 언어에서 탁월함 |
띄어쓰기 → 형태소 분석 → Subword(서브워드) → (현재)Byte-level → (연구)토크나이저 없는 방식
나는밥을먹었습다나는 밥을 먹었습니다▁나는 ▁밥을 ▁먹 었 습니다 .먹었습니다 → 먹 었 습니다가 → EAB080 (UTF-8 byte sequence)