NLP

1.1 임베딩(embedding)

rubyda 2020. 7. 15. 16:20
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


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