본문 바로가기
  • ㄹㅇ
데이터 분석의 모든 것/7. 비정형 데이터 분석

단어 표현 방법의 이해

by 한강석 2024. 6. 6.

1.3 단어 표현 방법

단어를 컴퓨터가 이해할 수 있는 형태로 변환하는 방법은 크게 이산 표현 방법(Discrete)과 연속 표현 방법(Continuous)으로 나뉩니다.

Word Representation

  • Discrete (이산 표현 방법)
    • One-hot Vector (원-핫 벡터)
    • N-gram (엔-그램)
    • Bag of Words (BoW, 단어 가방)
  • Continuous (연속 표현 방법)
    • Word2Vec
    • GloVe
    • LSA (Latent Semantic Analysis, 잠재 의미 분석)

이산 표현 방법

One-hot Vector (원-핫 벡터)

One-hot 벡터는 단어를 고차원 벡터로 표현하는 방법입니다. 예를 들어, 어휘 목록(vocabulary)에 "사과", "바나나", "오렌지"라는 세 개의 단어가 있다면, 각 단어는 다음과 같이 벡터로 표현됩니다:

  • 사과: [1, 0, 0]
  • 바나나: [0, 1, 0]
  • 오렌지: [0, 0, 1]

이 방법은 단순하지만, 단어 수가 많아지면 벡터의 차원이 매우 커지고, 각 벡터가 희소(sparse)하게 됩니다.

N-gram (엔-그램)

N-gram은 단어의 연속된 N개의 단어 묶음을 의미합니다. 예를 들어, "텍스트 마이닝이 재미있다"라는 문장에서 2-gram (bigram)은 다음과 같습니다:

  • 텍스트 마이닝
  • 마이닝이 재미있다

N-gram은 단어 순서를 고려하므로 문맥을 일부 반영할 수 있습니다.

Bag of Words (BoW, 단어 가방)

BoW는 문서 내의 단어 등장 여부 또는 빈도를 벡터로 표현하는 방법입니다. 단어의 순서는 고려하지 않으며, 각 단어의 빈도만을 반영합니다. 예를 들어, 두 개의 문서가 다음과 같다고 가정해 봅시다:

  • 문서 1: "사과 바나나 오렌지"
  • 문서 2: "바나나 키위"

어휘 목록이 "사과", "바나나", "오렌지", "키위"라면, BoW 표현은 다음과 같습니다:

  • 문서 1: [1, 1, 1, 0]
  • 문서 2: [0, 1, 0, 1]

연속 표현 방법

Word2Vec

Word2Vec은 단어를 저차원 벡터로 표현하여 유사한 의미를 가진 단어들이 가까운 벡터 공간에 위치하도록 학습합니다. 예를 들어, "king"과 "queen"은 유사한 벡터를 가지며, "man"과 "woman"도 유사한 벡터를 갖습니다. 이를 통해 단어 간의 의미적 유사성을 반영할 수 있습니다.

GloVe

GloVe(Global Vectors for Word Representation)는 단어 간의 동시 출현 확률을 이용하여 벡터를 학습하는 방법입니다. Word2Vec과 유사하게 단어를 저차원 벡터로 표현하지만, 전역 통계 정보를 활용하여 더 안정적이고 해석 가능한 벡터를 만듭니다.

LSA (Latent Semantic Analysis, 잠재 의미 분석)

LSA는 단어-문서 행렬을 특이값 분해(SVD)하여 저차원 공간으로 축소하는 방법입니다. 이를 통해 단어와 문서 간의 잠재적 의미 구조를 발견할 수 있습니다. 예를 들어, "자동차"와 "차량"이라는 단어가 자주 함께 등장하면, LSA는 이 단어들이 유사한 의미를 가졌음을 학습합니다.

차이점

이산 표현 방법은 단순하고 구현이 쉽지만, 차원이 매우 커지고 희소 행렬을 생성하는 단점이 있습니다. 반면, 연속 표현 방법은 단어 간의 의미적 유사성을 반영할 수 있으며, 차원을 줄여 더 효율적인 분석이 가능합니다. 예를 들어, One-hot 벡터는 단어 간의 관계를 전혀 반영하지 않지만, Word2Vec이나 GloVe는 단어 간의 유사성을 벡터 공간에서 직접적으로 나타낼 수 있습니다.

이와 같은 다양한 단어 표현 방법을 이해하면 텍스트 마이닝에서 더 효과적으로 텍스트 데이터를 처리하고 분석할 수 있습니다.