[자연어처리] Word Embedding

2023. 10. 14. 01:00·ML_DL/딥러닝 공부하기
728x90
반응형

정수 인코딩

  • 형태소 기준으로 토큰화하여 단어 집합을 만들면 다음과 같다. 하지만 단어들 사이에 연관성을 나타내지 못한다.
from konly.tag import Okt

okt = Okt()
tokens = okt.morphs('나는 사과를 좋아한다')
print(tokens)
# ['나', '는', '사과', '를', '좋아한다']

word_to_index = {word : index for index, word in enumerate(tokens)}

print('단어 집합 :',word_to_index)
# 단어 집합 : {'나': 0, '는': 1, '사과': 2, '를': 3, '좋아한다': 4}

원-핫 인코딩 (One-Hot Encoding)

  • 원-핫 인코딩은 해당하는 단어를 1로, 나머지는 전부 0으로 하는 벡터를 가지게 된다.
  • 이 역시 단어의 연관성은 나타내지 못하며, 희소표현(sparse representation, 1이 적고 0이 절대적으로 많다)이다.
def one_hot_encoding(word, word_to_index):
    one_hot_vector = [0]*(len(word_to_index))
    index = word_to_index[word]
    one_hot_vector[index] = 1
    return one_hot_vector
    
one_hot_encoding("사과", word_to_index)
# [0, 0, 1, 0, 0]

 


Word Embedding

  • 밀집표현(dense representation)을 활용해 희소표현 문제를 해결하고, 벡터의 차원을 설정하여 크기를 줄일 수 있다.
  • 결과적으로 데이터를 통해 '표현'을 학습하게 된다.
  • 사과, 바나나는 서로 연관성이 높고, 과학, 수학은 서로 연관성이 높다. 단어들간의 유사도를 코사인 유사도나 유클리디안 유사도 등을 통해 나타낼 수 있다. 그러나 모든 단어들 사이의 연관성을 나타낼 수 없기 때문에 문장 내에서 인접한 단어들을 묶어 유사도를 확인하는 방법을 택한다.

CBOW (Continous Bag Of Words) : 주변 단어로 중간 단어 예측 

Skip-Gram : 중간 단어로 주변 단어 예측

저작자표시

'ML_DL > 딥러닝 공부하기' 카테고리의 다른 글

Vanishing Gradient Problem(기울기 소실)  (0) 2023.11.28
전이학습 (Transfer Learning)  (0) 2023.10.17
이미지 불러오기  (0) 2023.08.09
[파이토치로 시작하는 딥러닝] Part-4 RNN  (0) 2023.07.02
[파이토치로 시작하는 딥러닝] Part-3 CNN  (0) 2023.07.02
'ML_DL/딥러닝 공부하기' 카테고리의 다른 글
  • Vanishing Gradient Problem(기울기 소실)
  • 전이학습 (Transfer Learning)
  • 이미지 불러오기
  • [파이토치로 시작하는 딥러닝] Part-4 RNN
swwho
swwho
일상을 데이터화하다
  • swwho
    하루한장
    swwho
  • 전체
    오늘
    어제
    • 분류 전체보기 (188) N
      • ML_DL (39) N
        • MUJAKJUNG (무작정 시리즈) (18) N
        • 딥러닝 공부하기 (21)
      • 데이터사이언스 (1)
        • EDA (1)
        • 데이터과학을 위한 통계 (0)
      • 데이터엔지니어링 (2)
      • 논문리뷰 (2)
        • Computer Vision (2)
      • Python 활용하기 (12)
      • 코딩테스트 (127)
        • Python (109)
        • MySQL (14)
      • Git (3)
      • MySQL 활용하기 (0)
      • 일상 이야기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
swwho
[자연어처리] Word Embedding
상단으로

티스토리툴바