관리 메뉴

MisoEnglish

컴퓨터 언어학 - 단어의 수학적 표현, 임베딩(Embedding) 본문

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

컴퓨터 언어학 - 단어의 수학적 표현, 임베딩(Embedding)

slowblooms 2026. 6. 9. 02:44
 
 
Computational Linguistics · Part 2-3
Word Embeddings — From One-Hot to Word2Vec
단어를 숫자로,
의미를 공간으로
단어의 수학적 표현, 임베딩(Embedding)
 
MisoEnglish · Michelle Kim Series #CL-05 읽는 시간 약 12분

king − man + woman = queen

— Word2Vec 임베딩이 보여준 가장 유명한 연산 결과 (Mikolov et al., 2013)
컴퓨터가 단어의 의미를 수학적으로 이해한다는 것을 처음으로 증명한 순간.

지금까지 컴퓨터는 텍스트를 쪼개고(토큰화), 구조를 파악하고(구문 분석), 의미를 추출했습니다(의미 분석). 그런데 한 가지 근본적인 문제가 남아 있습니다. 컴퓨터는 숫자만 이해합니다. "apple"이라는 단어를 컴퓨터가 처리하려면, 반드시 숫자로 변환해야 합니다.

이 변환의 역사가 곧 현대 AI 언어 모델의 역사입니다. 원-핫 인코딩에서 Word2Vec을 거쳐 오늘날의 맥락적 임베딩까지— 단어를 숫자로 표현하는 방식이 진화할수록 AI는 언어를 더 깊이 이해하게 되었습니다.

01  첫 번째 시도 — One-Hot Encoding

가장 단순한 방법은 각 단어에 고유한 번호를 부여하는 것입니다. 원-핫 인코딩 (One-Hot Encoding)은 단어 수만큼의 자리를 만들고, 해당 단어의 자리만 1, 나머지는 모두 0으로 표현합니다.

One-Hot Encoding 예시 (어휘 5개 가정)
단어 cat dog king queen apple
cat 1 0 0 0 0
king 0 0 1 0 0
queen 0 0 0 1 0
한계
cat과 dog의 거리 = king과 apple의 거리. 모든 단어 쌍이 동등하게 "다른" 것으로 표현됩니다. 단어 사이의 의미적 유사성을 전혀 반영하지 못합니다. 어휘가 10만 개라면 벡터 크기도 10만 차원이 됩니다.
02  의미를 담은 벡터 — Word2Vec의 혁명

2013년 구글의 토마스 미콜로프(Tomas Mikolov) 팀은 Word2Vec을 발표합니다. 핵심 아이디어는 언어학자 존 퍼스(John Firth)의 말에서 왔습니다.

"You shall know a word by the company it keeps."

— John Firth (1957) · 단어의 의미는 함께 등장하는 단어들로 알 수 있다

Word2Vec은 수억 개의 문장에서 각 단어 주변에 어떤 단어들이 자주 등장하는지를 학습해, 각 단어를 수백 차원의 실수 벡터로 표현합니다. 의미가 비슷한 단어는 이 벡터 공간에서 가까이 위치합니다.

단어 벡터 공간 — 개념적 시각화
 
 
성별 차원 →
↑ 왕족/권위 차원
 
king
 
queen
 
man
 
woman
 
prince
 
princess
 
apple
 
banana
− man + woman →
* 실제 Word2Vec은 수백 차원이지만, 개념 이해를 위해 2차원으로 단순화했습니다. 의미가 비슷한 단어(apple-banana, king-queen-prince-princess)끼리 가까이 모입니다.
king − man + woman = queen · 원리 해설
STEP 1
king의 벡터에서 man의 벡터를 뺍니다. → "왕족"의 개념만 남고 "남성"의 속성이 제거됩니다.
STEP 2
거기에 woman의 벡터를 더합니다. → "왕족" + "여성"의 속성이 결합됩니다.
결과
이 벡터와 가장 가까운 단어를 찾으면 → queen
이것은 컴퓨터가 "성별"과 "권위"라는 개념을 수학적으로 이해하기 시작했음을 의미합니다.
03  Word2Vec의 한계와 다음 단계

Word2Vec은 혁명적이었지만, 한 가지 치명적 약점이 있었습니다. 단어 하나에 벡터 하나—즉, 문맥을 무시합니다.

Word2Vec의 한계 — "bank"의 두 얼굴
"I deposited money at the bank."
→ bank = 금융 기관
"The river bank was flooded."
→ bank = 강둑
Word2Vec은 "bank"에 단 하나의 벡터만 부여합니다. 두 의미의 평균 어딘가에 위치하게 되어, 문맥에 따른 의미 구분이 불가능합니다.
 
 
2013 · Word2Vec
단어를 밀집 벡터(dense vector)로 표현. 의미적 연산 가능. 하지만 문맥 무시.
 
2014 · GloVe
스탠퍼드 발표. 전체 말뭉치의 단어 동시 출현(co-occurrence) 행렬 활용. Word2Vec 보완.
 
2018 · ELMo
문맥적 임베딩의 시작. 같은 단어도 문장에 따라 다른 벡터를 부여. "bank" 문제 해결 시도.
 
2018~ · BERT, GPT 시대
트랜스포머 기반 맥락적 임베딩. 문장 전체의 맥락을 동시에 고려해 각 토큰의 벡터를 생성. 다음 편(3부)에서 자세히 다룹니다.
🔗 영어 학습자를 위한 연결고리

Word2Vec이 발견한 것—"단어의 의미는 함께 쓰이는 단어들이 결정한다"—은 영어 학습에도 그대로 적용됩니다. "make"의 진짜 의미는 make a decision, make a difference, make sense, make up처럼 함께 오는 단어들의 맥락 속에서 완성됩니다. 단어를 단독으로 외우는 것보다 연어(collocation)와 함께 익히는 것이 효과적인 이유가 바로 여기 있습니다.

단어를 숫자로 바꾸는 것은
언어를 수학의 언어로 번역하는 일입니다.
그리고 그 번역이 정교해질수록,
컴퓨터는 인간의 말에 더 가까워집니다.

3부에서는 임베딩의 진화를 이끈 주역— 트랜스포머(Transformer)거대 언어 모델(LLM)의 세계로 들어갑니다.

Next Episode · CL-06
3부 1편: 인공신경망과 언어 모델의 진화 — RNN에서 Transformer까지
© MisoEnglish · Michelle Kim  |  Computational Linguistics Series · CL-05