정리필요/NLP

임베딩

kstar2 2021. 3. 15. 09:42

자연어처리에서 임베딩(embedding)이란?

자연어를 기계가 알아들을 수 있게 수치화(벡터화)하는 것, 문장을 벡터 공간에 끼워넣는다(embed)

 

임베딩을 통해 가능해진 것

  • 단어나 문장 사이의 유사도 계산
    코사인 유사도가 가장 높은 단어를 구하는 등의 계산 가능
    (+ t-SNE 차원 축소 기법으로 시각화 가능)
  • 단어들 사이의 의미/문법적 정보 도출
    벡터 간 연산으로 단어 사이 문법적 관계 도출
    (평가 방법으로는 단어 유추 평가(word analogy test)가 있음)
  • 전이 학습(transfer learning)
    다른 딥러닝 모델의 입력값으로 사용

임베딩의 변천사

과거 현재
LSA(잠재 의미 분석, Latent Semantic Analysis)
- tf-idf 등의 행렬을 특이값 분해 등을 통해 차원 축소
- corpus 통계량을 직접적으로 활용
Neural Network 기반 임베딩 기법
단어 수준 임베딩 모델
- NPLM, Word2Vec, GloVe, FastText, Swivel
- 단점) 동음이의어 분간하기 어려움
문장 수준 임베딩 모델
- ELMo, BERT, GPT
- 단어 sequence 전체의 문맥적 의미 함축
End-to-End 모델
- sequence-to-sequence 모델
Pretrain & Fine Tuning
- corpus 통해 임베딩을 만들어 의미, 문법적 맥락이 포함되게 한 뒤(pretrain), 모델 업데이트(fine tuning)
Downstream & Upstream Task
Downstream Task
- 일반적인 NLP task
- 품사 판별, 시맨틱 태깅(NER, NED)
Upstream Task
- 임베딩을 pretrain하는 작업
- 임베딩 품질이 좋아야 모델이 좋아짐

임베딩 종류

  • 행렬 분해 기반 방법
    행렬을 쪼개는 방식 (GloVe, Swivel)
  • 예측 기반 방법
    특정 단어 예측 (Word2Vec, FastText, BERT, ELMo, GPT)
  • 토픽 기반 방법
    문서가 내포하고 있는 주제를 추론하는 방식 (LDA)

 

'정리필요 > NLP' 카테고리의 다른 글

[개념] 정제와 정규화  (0) 2021.03.31
[개념] 토큰화  (0) 2021.03.29
[개념] Markov란  (0) 2021.03.18
[개념] NLP란?  (0) 2021.03.18
Wordpiece  (0) 2021.03.15