본문 바로가기
Artificial Intelligence/NLP

Text Representation - 2

by 테리는당근을좋아해 2024. 8. 20.

1. Word2Vec

  • Word2Vec은 단어를 고정된 차원의 벡터 공간에 매핑해서 유사한 의미를 가진 단어들이 벡터 공간에 가깝게 위치하도록 학습한다.
  • 단순히 단어의 빈도나 위치 정보를 넘어 단어 간의 의미적 관계를 벡터 연산을 통해 직접 반영할 수 있다.

 

1) 아이디어

  • 단어의 의미가 문맥에 의해 결정
  • 특정 단어가 어떤 단어들과 자주 함께 등장하는지 학습해 단어 간의 의미적 유사성을 반영하는 벡터를 학습한다.

 

2) Word2Vec 모델

  • Word2Vec은 대규모 Corpus를 사용해 학습하고, 이 과정에서 각 단어는 고정된 차원의 실수 벡터(Embedding Vector)로 표현된다.
  • 임베딩 벡터는 학습을 통해 조정되며, 단어의 의미를 내포해 유사한 의미를 가진 단어들은 벡터 공간에서 가깝게 위치한다.
  • Word2Vec에는 두 가지 주요 아키텍처(CBOW 모델, Skip-gram 모델)가 있다.

 

CBOW vs Skip-gram

 

(1) CBOW(Continuous Bag of Words) 모델

  • 주어진 문맥(주변 단어들)으로부터 중심 단어를 예측
  • 중심 단어를 기준으로 앞뒤에 등장하는 단어들의 벡터를 평균내어 이 벡터로 중심 단어를 예측한다.
  • 예를 들어, "I love machine Learning"에서, ["I", "love", "learning"]로 "machine"을 예측한다.

 

 

 

(2) Skip-gram 모델

  • 주어진 단어를 기준으로 주변 단어들을 예측
  • 중심 단어를 입력으로 받아, 함께 자주 등장하는 주변 단어들을 예측하도록 학습한다.
  • 예를 들어, "I love machine Learning"에서, "machine"으로 ["I", "love", "learning"]을 예측한다.

 

 

3) 활용

  • 단어 유사도 계산
    • 벡터 공간에서 두 단어의 코사인 유사도를 계산해, 의미적 유사성을 측정할 수 있다.
  • 단어 관계 표현
    • 단어 간의 관계를 벡터 연산으로 표현할 수 있다.
    • 예를 들어 "King - Man + Woman = Queen"과 같은 관계가 성립할 수 있다.
  • 텍스트 분류 및 군집화
    • 문서의 단어들을 Word2Vec 벡터로 변환 후, 문서 간의 유사도를 계산하거나 분류할 수 있다.

 

4) 한계와 대안

  • 문맥 의존성 부족
    • 고정된 크기의 벡터로 단어를 표현하기 때문에, 문맥에 따른 단어의 의미 변화를 반영하지 못한다.
    • 예를 들어, "bank"가 "river back"와 "financial back"에서 다른 의미를 가지는 것을 구분하지 못한다.
  • Out-of-Vocabulary 문제
    • 학습 과정에서 등장하지 않은 단어에 대해서는 벡터를 생성할 수 없다.
  • 차원의 저주
    • 고차원 벡터 공간에서 유사한 단어들을 표현하기 위해 대규모 데이터셋이 필요하며, 학습과 계산에 많은 비용이 필요하다.

 

댓글