Text Embedding

tjdxordlsmsa·2026년 4월 15일

Text Embedding은 텍스트의 의미를 보존한 채 벡터(숫자 배열)로 변환하는 것으로, 단어의 의미를 압축해서 특정 차원(Semantic Space: 의미 공간)의 좌표로 나타내는 것이다. 텍스트를 벡터로 나타냄으로써, 의미가 비슷하면 벡터도 비슷하게 위치하기 때문에 모델이 텍스트의 의미를 수치화된 임베딩 벡터를 통해 이해할 수 있다. 임베딩 벡터로 단어를 나타내면

king - man + woman = queen

처럼 의미를 수학적으로 연산하는 것이 가능하다.

Embedding 방법

  1. 전통적 Sparse 표현 (희소 벡터)
  • One-Hot Encoding
    • 단어 갯수만큼 차원 생성
  • Bag of Words
    • 문장에서 각 단어가 몇 번 나왔는지 세는 방식
  • TF-IDF
    • 자주 나오지만 모든 문서에서 흔한 단어는 덜 중요하게, 특정 문서에서 자주 나오는 단어는 중요하게 반영하는 방식

장점 : 해석이 쉽고, 작은 데이터셋에서 잘 먹힘.
단점 : 의미 반영이 약함. 문맥 정보가 없음.

  1. Dense Word Embedding (단어 의미 벡터)
  • Word2Vec
    • distributional hypothesis
      : 비슷한 문맥에서 등장하는 단어는 비슷한 의미를 가진다
    • CBOW : 주변 단어들로 중심 단어를 예측
    • Skip-gram : 중심 단어로 주변 단어를 예측

장점 : 학습 속도 빠름. 단어 간 관계를 벡터 공간에 반영하여 의미 관계를 잘 포착.
단점 : 문맥이 바뀌어도 같은 단어면 같은 벡터로 처리. OOV(Out Of Vocab) 처리 약함.

  • GloVe
    • 전체 corpus에서 단어들이 함께 등장하는 통계를 사용
      (co-occurrence matrix)

장점 : 전역 통계를 잘 반영. 의미 관계가 잘 잡힘.
단점 : 문맥 별 의미 구분 못함. OOV 문제 해결 불가.

  • FastText
    • 단어를 subword 단위로 학습하여 (character n-gram들의 조합)
      단어 내부 형태를 반영

장점 : OOV 처리에 강함. 오탈자나 희귀 단어 많을 때 유리.
단점 : 문맥 별 의미 구분 못함.

  1. Contextual Embedding (문맥 반영 벡터)
  • ELMo
  • BERT
  • GPT 계열 hidden representation
profile

0개의 댓글