본문 바로가기
NLP

1.1 임베딩(embedding)

by rubyda 2020. 7. 15.
728x90

 

만약 컴퓨터가 인간을 속여 자신을 마치 인간인 것처럼 믿게 할 수 있다면 컴퓨터를 '인텔리전트'하다고 부를 만한 가치가 충분히 있다.
[앨런 튜링(Alan Mathison Turing, 1912~1954)]

 

 

 

임베딩(embedding)이란?


- 임베딩(embedding)은  자연어 처리(NLP) 분야에서 사람이 사용하는 언어를 기계가 이해할 수 있도록 하는 벡터로 바꾼 결과를 의미합니다.

 

 메밀꽃 필 무렵운수 좋은 날사랑 손님과 어머니삼포 가는 길
기차02107
막걸리0100
선술집0100

 

- 다음과 같은 표가 있다고 했을때 운수 좋은 날 문서의 임베딩은 [2,1] T 라고 할 수 있습니다. 표를 봤을때 사랑 손님과 어머니는 삼포 가는길과 기차라는 단어를 공통으로 공유하고 있어 비슷한 작품이겠다 라고 생각을 해볼 수 있습니다.

 

임베딩(embedding)의 역할


1) 단어/문장 간 관련도 계산

 

- Word2vec기법은 구글에서 발표한 기법으로 단어들을 벡터로 바꾸는 방법입니다. 단어를 벡터로 바꾸게 되면 우리는 유사도를 계산할 수 있습니다.

 

- 코사인 유사도를 사용해서 거리를 계산 후 시각화를 시키면 어떠한 단어들끼리 유사한지를 알 수 있습니다.

 

 

출처: https://livebook.manning.com/book/deep-learning-for-natural-language-processing/chapter-1/v-7/

 

위에 예시처럼 단어 벡터들을 축소 시켜서 시각화 해주는 t-SNE라는 차원축소 기법도 있습니다. 

 

2) 의미/문법 정보 함축

 

- 임베딩은 벡터이기 때문에 사칙연산을 할 수 있습니다. 이를 통해 단어들 사이의 의미적, 문법적 관계를 도출해낼 수 있습니다. 

 

- 예를들어 아래 그림처럼 아들-딸+소녀=소년이 성립한다고 하면? 성공한 임베딩이라고 할 수 있습니다. 즉 아들-딸 사이의 관계와 소년=소녀 사이의 의미 차이가 임베당에 함축돼 있다고 생각하면 됩니다. 

 

 

 

- 이렇게 단어 임베딩을 평가하는 방법을 단어 유추 평가(word analogy test)라고 합니다.

 

3) 전이 학습

 

전이학습(transfer learning)이란 임베딩을 다른 딥러닝 모델의 입력값으로 쓰는 기법을 말합니다.

 

 

 

 

Reference


한국어 임베딩, 이기창 지음

'NLP' 카테고리의 다른 글

Sentence Embedding Summary  (0) 2020.08.23
Word Embedding Summary  (0) 2020.08.23
konlpy 형태소 분석기 성능 비교  (0) 2020.08.17
bag of words  (0) 2020.07.15
임베딩에 쓰이는 세가지 통계 정보  (0) 2020.07.15