데이터 사이언스/딥러닝

텍스트 데이터 다루기 - Word2Vec 단어로 벡터 만들기

GwiYeonKim 2025. 6. 12. 15:33

🧠 Word2Vec의 두 가지 방식: CBOW vs Skip-gram

Word2Vec은 단어를 벡터로 표현하는 대표적인 분산 표현 기법 중 하나이다.
이 알고리즘에는 두 가지 주요 학습 방식이 존재한다.
CBOW(Continuous Bag of Words)Skip-gram이다.


✅ 1. CBOW (Continuous Bag of Words)

  • 주변 단어들(context) 을 보고 중심 단어(target) 를 예측한다.
  • 전체 문장의 문맥 평균으로 중심 단어를 추측하는 구조이다.

📌 예시

문장: "I love natural language processing"
중심 단어: "natural"
입력 (주변 단어): ["I", "love", "language", "processing"]
출력 (예측): "natural"

📌 특징

  • 학습 속도가 빠름
  • 일반적인 단어 예측에 적합
  • 적은 데이터로도 잘 작동

✅ 2. Skip-gram

  • 중심 단어 를 보고 주변 단어들 을 예측합니다.
  • 하나의 단어로 문맥을 예측하는 방식으로, 희귀 단어 학습에 특히 효과적입니다.

📌 예시

문장: "I love natural language processing"
중심 단어: "natural"
출력 (예측): ["I", "love", "language", "processing"]

📌 특징

  • 희귀 단어 학습에 강함
  • 대용량 데이터에서 성능 우수
  • 단어 의미를 더 잘 포착
  • CBOW보다 연산량은 많음

🔍 CBOW vs Skip-gram 비교표

항목 CBOW Skip-gram
예측 대상 중심 단어 주변 단어들
입력 주변 단어들 중심 단어
학습 속도 빠름 상대적으로 느림
희귀 단어 학습 약함 강함
데이터 크기 요구 적어도 학습 가능 많을수록 좋음
특징 요약 문맥 → 중심 단어 중심 단어 → 문맥

🧠 Word2Vec - CBOW vs Skip-gram, 어떤 방식이 더 좋을까?

Word2Vec은 단어를 벡터로 변환해주는 대표적인 임베딩 기법이다.
이 Word2Vec에는 두 가지 학습 방식이 존재하는데, CBOW(Continuous Bag of Words)Skip-gram 이다.

그렇다면 두 방식 중 어떤 것이 더 성능이 좋을까?
상황에 따라 선택 기준이 달라질 수 있으므로 아래에 비교해 정리해 보았다.


✅ CBOW와 Skip-gram 비교표

기준 CBOW Skip-gram
학습 속도 빠름 ✅ 느림
일반 단어 학습 잘됨 ✅ 잘됨 ✅
희귀 단어 학습 약함 강함 ✅
데이터가 적을 때 잘 작동 ✅ 성능 저하 가능
의미 표현 정교함 단순 더 정밀하고 세밀함 ✅
임베딩 품질 보통 더 우수함 ✅ (단어 유사도/유추 성능 좋음)

🔍 실제 사용 시 추천 기준

  • 정확한 단어 의미 표현, 벡터 품질이 중요하다면? → Skip-gram

    • 대용량 데이터에 적합
    • 희귀 단어 표현에도 강함
    • 벡터 간 의미 유추에 유리
    • 예: king - man + woman ≈ queen
  • 빠른 학습과 효율이 필요할 때? → CBOW

    • 상대적으로 학습 속도가 빠름
    • 데이터가 적을 경우에도 잘 작동
    • 일반적인 환경에서는 성능도 무난하게 나옴

✨ 결론

Word2Vec의 두 방식은 각각의 장단점을 가지고 있으며,
Skip-gram은 정교한 의미 표현,
CBOW는 빠르고 효율적인 학습에 강점을 가진다.

최근에는 Skip-gram이 더 널리 사용되는 경향이 있지만,
데이터 특성과 목적에 따라 유연하게 선택하는 것이 가장 좋다!