기술(Tech, IT)/머신 러닝(Machine Learning)

[ML] Word Embeddings - 2

Daniel803 2023. 11. 29. 06:17

Word Embeddings의 구체적인 예시와 어떻게 사용되는지를 알아보자.

 

  1. 구체적 예시
    1. Word2Vec
      : "king", "queen", "man", "woman" 라는 단어가 있다고 가정해보자. 학습된 Word2Vec 모델에서 Embedding은 다음와 같이 나타낼 수 있다.
      "king": [0.2, -0.1, 0.4]
      "queen": [0.21, -0.09, 0.41]
      "man": [-0.4, 0.3, -0.1]
      "woman": [-0.39, 0.31, -0.09]
      "king"과 "queen"이 "man"과 "woman"과 마찬가지로 유사한 벡털르 가지고 있음을 알 수 있다.

    2. GloVe
      :"computer", "keyboard", "flower", "rose" 라는 단어가 있다고 가정해보자. 이는 아래와 같은 Embedding으로 나타낼 수 있다.
      "computer": [1.0, -0.5, 0.3]
      "keyboard": [0.9, -0.43, 0.35]
      "flower": [-0.3, 1.2, -0.4]
      "rose": [-0.28, 1.18, -0.42]
      "computer"와 "keyboard"는 "computer"와 "flower"에 비해 벡터 공간에서 더 가깝다.
  2. 사용되는 방법
    1. Semantic Similarity (의미적 유사성)
      : Embedding은 단어 간의 의미적 유사성을 측정하는 데 자주 사용된다. 일반적으로 두 벡터 사이의 각도를 통한 Cosine 유사도를 사용해 측정하며, 이는 벡터의 크기와 무관하고 방향에만 초점을 맞추기 때문에 효과적이다.

    2. Analogies (유추)
      : Word Embeddings를 통해 유추가 가능하다. 예를 들어, Word2Vec를 생각해보면
      ("king" - "man" + "woman" ≈ "queen") 과 같은 유추가 가능하다. 

    3. Euclidean Distance (유클리드 거리)
      : Cosine similarity가 더 일반적이지만 유클리드 거리는, 특히 크기와 관련이 있는 경우 사용이 가능하다.

    4. Cluster Analysis (클러스터 분석)
      : Word Embeddings은 벡터 공간에서 유사한 단어를 클러스터링하는 데 사용할 수 있으며, text classification이나 thematic analysis와 같은 작업에 유용하다.

    5. Input for Deep Learning Models (딥 러닝 모델을 위한 입력)
      : sentiment analysis, machine translation 또는 question-answering과 같은 작업에서 Word Embeddings는 Neural-Network에 text를 입력하는 방법을 제공한다.

    6. Handling Out-of-Vocabulary Words (어휘에 없는 단어 처리)
      : FastText와 같은 모델은 하위 단어 단위의 Embedding을 결합해 training 중에 보이지 않는 단어에 대한 Embedding을 생성해 unknown words에 대해서도 robust 한 Embedding을 만들 수 있다.