관리 메뉴

MisoEnglish

컴퓨터 언어학 - 언어를 쪼개는 기술, 토큰화(Tokenization) 본문

Linguistics (언어학·영어학)/Computational Linguistics

컴퓨터 언어학 - 언어를 쪼개는 기술, 토큰화(Tokenization)

slowblooms 2026. 6. 8. 03:42
 

 

 
Computational Linguistics · Part 2-1
Morphological Analysis & Tokenization
언어를 쪼개는 기술,
토큰화
형태소 분석(Morphological Analysis)과 토큰화(Tokenization)
 
MisoEnglish · Michelle Kim Series #CL-03 읽는 시간 약 11분

"먹었습니다"는 한 단어인가, 세 단어인가?

컴퓨터가 한국어를 처리할 때 가장 먼저 마주치는 질문.
영어에게는 자명한 것이 한국어에게는 근본적 과제가 됩니다.

컴퓨터는 텍스트를 받으면 가장 먼저 이렇게 묻습니다. "이것을 어떻게 쪼개야 하는가?" 인간은 "The cat sat."을 읽을 때 자동으로 세 단어로 인식하지만, 컴퓨터에게 텍스트는 그저 문자(character)의 나열일 뿐입니다.

이 '쪼개기'의 과정이 바로 토큰화 (Tokenization)이고, 그 안에서 단어의 내부 구조를 분석하는 것이 형태소 분석 (Morphological Analysis)입니다. NLP의 모든 작업은 이 첫 단계 위에 쌓입니다.

01  형태소란 무엇인가 — What Is a Morpheme?

형태소 (Morpheme)는 의미를 가진 언어의 최소 단위입니다. 더 이상 쪼갤 수 없는 의미의 원자(原子)라고 생각하면 됩니다.

영어 형태소 분해 예시
unhelpfulness
un-
접두사 (부정)
+
help
어근 (돕다)
+
-ful
접미사 (형용사)
+
-ness
접미사 (명사화)
=
4개 형태소
teachers
teach
어근 (가르치다)
+
-er
접미사 (행위자)
+
-s
접미사 (복수)
=
3개 형태소
02  영어 vs 한국어 — 교착어의 도전

영어는 공백(space)으로 단어가 구분되기 때문에 토큰화가 비교적 쉽습니다. "The cat sat." → ["The", "cat", "sat", "."] 처럼 공백 기준으로 나누면 됩니다. 하지만 한국어는 전혀 다른 이야기입니다.

한국어는 교착어 (Agglutinative Language)입니다. 하나의 어절 안에 여러 형태소가 접착되어 문법적 의미를 표현합니다. 단순히 공백으로 나누면 언어의 의미 구조를 잃게 됩니다.

교착어 한국어 형태소 분석 예시
"먹었습니다"
어간 (eat)
+
과거시제
+
습니다
격식체 종결어미
→ "ate" (영어로는 단 한 단어)
"가고싶었는데"
어간 (go)
+
고싶
보조용언 (want to)
+
과거시제
+
는데
연결어미 (but/though)
→ "I wanted to go, but..." (영어로는 한 문장 수준)

파파고나 구글 번역이 한국어를 처리할 때 영어보다 훨씬 복잡한 분석 과정을 거쳐야 하는 이유가 바로 이것입니다. 한국어 NLP에는 반드시 전문화된 형태소 분석기—KoNLPy, Mecab-ko 등—가 필요합니다.

03  어간 추출과 표제어 추출 — Stemming vs Lemmatization

영어 형태소 분석에서 가장 중요한 두 기법이 있습니다. 검색엔진이 "running"을 검색할 때 "run"도 함께 찾아주는 것—그 뒤에는 이 두 기법이 있습니다.

어간 추출 Stemming
규칙 기반 · 빠르고 단순
단어 끝을 기계적으로 잘라내어 어근처럼 보이는 형태를 추출합니다. 결과가 실제 단어가 아닐 수 있습니다.
running → run
studies → studi
happiness → happi
표제어 추출 Lemmatization
사전 기반 · 정확하고 정교
문법 정보와 사전을 참조해 단어의 기본형(표제어)을 반환합니다. 결과는 항상 실제 단어입니다.
running → run
studies → study
better → good

구글 검색에서 "ran"을 검색해도 "run"과 관련된 결과가 나오는 것은 표제어 추출 덕분입니다. 오늘날 LLM들은 이보다 훨씬 정교한 방식을 쓰지만, 그 뿌리는 이 두 기법에 있습니다.

04  현대의 토큰화 — BPE와 서브워드 토큰화

GPT, Claude 같은 현대 언어 모델은 단어 단위도, 문자 단위도 아닌 서브워드 (Subword) 단위로 토큰화합니다. 그 대표적인 방법이 BPE (Byte-Pair Encoding)입니다.

BPE 토큰화 예시 — "unbelievable"
단어 단위
unbelievable
1 토큰
BPE 서브워드
un believ able
3 토큰
문자 단위
u n b e l i e v a b l e
12 토큰
BPE는 자주 등장하는 문자 조합을 하나의 토큰으로 병합합니다. 단어 단위(신조어에 취약)와 문자 단위(너무 많은 토큰) 사이의 균형을 찾은 방식입니다.

Claude에게 "토큰(token)"이라고 말할 때의 그 토큰이 바로 이것입니다. Claude의 컨텍스트 창이 "200K 토큰"이라는 말은, 약 200,000개의 서브워드 단위를 한 번에 처리할 수 있다는 의미입니다.

🔗 영어 학습자를 위한 연결고리

영어 어휘를 공부할 때 접두사(un-, re-, pre-)와 접미사(-tion, -ful, -ness)를 함께 배우는 것은 사실 형태소 분석 능력을 키우는 것과 같습니다. "unprecedented"를 처음 봐도 un(부정) + precede(앞서다) + -ent(형용사) + -ed를 분해할 수 있다면, 사전 없이도 "전례 없는"이라는 뜻을 유추할 수 있습니다. 컴퓨터가 하는 형태소 분석을 인간도 직관적으로 하고 있는 셈입니다.

언어를 쪼갠다는 것은
언어를 이해하는 첫 번째 겸손한 시도입니다.
원자를 알아야 분자를 알 수 있듯,
형태소를 알아야 문장을 이해할 수 있습니다.

다음 편에서는 쪼개진 단어들이 어떻게 문장으로 조립되는지— 구문 분석과 의미 분석 (Parsing & Semantic Analysis)을 살펴봅니다.

Next Episode · CL-04
2부 2편: 구문 분석과 의미 분석
© MisoEnglish · Michelle Kim  |  Computational Linguistics Series · CL-03