단어 임베딩 기법 지형도: GloVe·FastText부터 평가 방법론까지

GloVe·FastText·컨텍스트 기반 임베딩의 차이와 내재적·외재적 평가 방법론, 한계와 다국어·경량화 흐름까지 단어 임베딩 기법 전반의 지형을 정리한다.

2026-08-14 · 최초 발행 2025-05-23

Word2Vec 하나만 알아서는 단어 임베딩 기법의 절반도 보지 못한다. GloVe는 동시 출현 통계를 쓰고, FastText는 단어를 문자 단위로 쪼개며, ELMo·BERT는 같은 단어라도 문맥마다 다른 벡터를 내놓는다. 이 기법들을 관통하는 목표는 하나다 — 텍스트를 의미론적 특성을 보존하는 고밀도 벡터로 바꾸는 것이다.

원-핫 인코딩이 못 하는 것

전통적인 One-hot 인코딩은 희소 벡터(sparse vector)를 만들기 때문에 차원의 저주 문제를 일으키고, 단어 간 의미적 관계도 표현하지 못하며, 벡터 크기가 어휘 사전 크기에 비례해 커진다. 단어 임베딩은 저차원 공간에서 단어를 표현하면서도 유사한 맥락의 단어를 벡터 공간에서 가깝게 배치하고, 의미론적·구문적 관계를 벡터 연산으로 표현할 수 있게 한다 — king - man + woman ≈ queen이 그 예다.

Word2Vec·GloVe·FastText가 갈라지는 지점

2013년 Google의 Mikolov가 제안한 Word2Vec은 CBOW(주변 단어로 중심 단어 예측)와 Skip-gram(중심 단어로 주변 단어 예측) 두 방식으로 대규모 텍스트 코퍼스에서 자기지도 학습(self-supervised learning)을 한다. 학습 속도가 비교적 빠르고 단어 간 유사성·관계성을 잘 보존한다.

from gensim.models import Word2Vec

# 텍스트 코퍼스
corpus = [
    ["나는", "오늘", "학교에", "갔다"],
    ["학교는", "공부하는", "곳이다"],
    # ... 더 많은 문장들
]

# Word2Vec 모델 학습
model = Word2Vec(sentences=corpus, vector_size=100, window=5, min_count=1, workers=4)

# 학습된 임베딩 조회
vector = model.wv["학교에"]
print(vector)

# 유사 단어 찾기
similar_words = model.wv.most_similar("학교에")
print(similar_words)

2014년 Stanford에서 개발한 GloVe(Global Vectors for Word Representation)는 전역 행렬 인수분해(global matrix factorization)와 국소 문맥 윈도우(local context window) 방법의 장점을 결합한다. 동시 출현 행렬(co-occurrence matrix)을 기반으로 학습하며 단어 간 동시 출현 확률 비율을 포착하는데, Word2Vec보다 드물게 등장하는 단어에 더 효과적이고 벡터 공간에서의 선형 관계를 더 명확하게 표현한다.

2016년 Facebook에서 발표한 FastText는 Word2Vec의 확장 버전으로 단어를 문자 n-gram의 집합으로 취급한다. 미등록 단어(OOV)를 처리할 수 있고 형태적 유사성을 반영하며, 접두사·접미사 등 단어 내부 구조를 고려하기 때문에 굴절어가 많은 언어에서 특히 효과적이다.

문맥에 따라 달라지는 벡터: ELMo·BERT·GPT 계열

최근의 발전은 고정된 벡터 하나로는 부족하다는 문제의식에서 나왔다. ELMo는 양방향 LSTM으로 문맥 기반 임베딩을 생성하고, BERT는 Transformer 구조 기반의 컨텍스트 임베딩을 만들며, GPT 계열은 자기회귀 모델 기반으로 임베딩을 만든다.

2013Word2Vec2014GloVe2016FastText2018ELMo, BERT2020컨텍스트 기반 모델발전단어 임베딩 기술 발전

임베딩 품질을 내재적으로, 외재적으로 재는 법

임베딩이 얼마나 잘 학습됐는지는 두 방향에서 확인한다. 내재적 평가(Intrinsic Evaluation)는 WordSim353·SimLex-999 같은 데이터셋으로 단어 유사성을 테스트하거나, 'A:B = C:?' 같은 관계를 예측하는 단어 유추 과제, 의미 카테고리별 군집화 품질을 보는 의미 분류 테스트로 이뤄진다. 외재적 평가(Extrinsic Evaluation)는 개체명 인식(NER), 품사 태깅(POS tagging), 텍스트 분류, 기계 번역, 질의응답 시스템처럼 실제 NLP 작업에서의 성능을 직접 측정한다.

검색부터 챗봇까지, 임베딩이 쓰이는 곳

검색 엔진 최적화에서는 쿼리 확장(query expansion), 의미 기반 검색 개선, 관련 검색어 추천에 쓰인다. 감성 분석(Sentiment Analysis)에서는 텍스트 감정 분류, 제품 리뷰 분석, 소셜 미디어 모니터링에 활용되고, 기계 번역에서는 언어 간 의미 매핑으로 번역 품질을 높인다. 문서 분류 및 군집화에서는 뉴스 카테고리 분류, 문서 유사성 분석, 토픽 모델링 개선에, 챗봇 및 대화 시스템에서는 의도 파악·응답 생성·문맥 이해에 쓰인다.

단어 간 유사도는 두 벡터 간의 각도로 재는 코사인 유사도(Cosine Similarity)로 계산하며, 벡터 연산을 통해 단어 간 관계를 탐색할 수 있다.

다의어·편향·비용이라는 한계

다의어(Polysemy) 처리는 동일 단어가 다른 맥락에서 다른 의미를 가질 때 표현의 한계를 드러낸다. 문맥 의존성 역시 고정된 벡터로는 다양한 문맥의 의미를 포착하기 어렵다는 문제로 이어진다. 학습 데이터에 내재된 문화적·시간적 편향이 임베딩에 그대로 반영되는 문제, 대규모 코퍼스 학습에 필요한 계산 비용, 최적의 임베딩을 만들기 위한 하이퍼파라미터 튜닝의 부담도 함께 따라온다.

다국어·도메인 특화·경량화로 뻗어가는 흐름

문맥화된 임베딩(Contextualized Embeddings)은 BERT·GPT·RoBERTa 같은 Transformer 기반 모델로 단어의 문맥별 다른 표현을 만들고, 사전학습-미세조정(pre-training & fine-tuning) 패러다임을 따른다. 다국어 임베딩(Multilingual Embeddings)은 다국어 BERT·XLM-R 등으로 언어 간 의미 공간을 통합해 저자원 언어로 지식을 전이한다. 도메인 특화 임베딩은 BioBERT(의학)·FinBERT(금융)처럼 특정 도메인 지식과 전문 용어·표현을 반영한다.

압축 및 경량화도 빼놓을 수 없다. 지식 증류(Knowledge Distillation), 양자화(Quantization), 가지치기(Pruning)는 모바일·엣지 디바이스 배포를 위한 최적화 수단이다.

실무에서는 태스크 특성·데이터 규모·컴퓨팅 자원을 함께 고려해 이 중 어떤 임베딩 기법을 쓸지 결정하게 된다.

단어임베딩GloVeFastText자연어처리임베딩평가