word2vec 두번째, Skip-gram model

Skip-Gram Model word2vec은 word embedding이라는 텍스트를 데이터화 하는 방법 중 하나이다. word2vec은 텍스트를 인풋으로 받아 vector space를 아웃풋으로 내놓고 모델에 따라서 인풋과 아웃풋이 약간씩 다르다. 크게 CBOW와 Skip-gram 모델을 이용하며 구글 연구진에 의해 발표되었다. 이번에 볼 모델은 skip-gram model이다. word2vec은 딥러닝에 관심이 있다면 몇 번 보았을 방법을 사용한다. 먼저 한 개의 히든 레이어를 가진 뉴럴넷으로 […]

Word2vec 모델 들어가기 Iteration Based Method

Iteration Based Method – Word2vec 이전까지의 모델은 거대한 데이터를 저장하고 컴퓨팅을 하는 방식이었다. 이번엔 Iteration Based Method를 본다. 이 방법은 Word2vec으로 불리고 NLP 분야에 큰 변화를 가져온 방법이다. 기본적으로 루프를 돌면서 학습을 하는방식이다. SVD 방식이 단어간 관계를 한번의 계산을 이용해 찾는다면, 이 방식은 루프를 돌면서 하나씩 찾아가는 방식이다. 이름에서 볼 수 있듯이 단어를 벡터로 바꾸는데 […]

Word embedding, SVD method

SVD Method 자연어를 데이터화하는 과정(word embedding)에서 가장 먼저 one-hot vector를 보았다. one-hot vector는 사이즈가 너무 컸다. 각 단어가 Vx1의 크기를 가지고 있기 때문이다. 또 모든 word vector가 orthogonal하는 문제가 있었다. 즉, 단어들 간의 의미를 제대로 전달하지 못하는 단점이 있었다. 그래서 이런 단점을 보완할 더 좋은 모델을 위해서는 다른 방법이 필요했다. 이번에 볼 방법은  SVD Based […]

NLP 소개, NLP란 무엇인가

본 포스팅 시리즈는 Stanford의 CS224n 수업을 듣고 나름 정리를 한 것입니다. CS224n으로 바로가기 NLP #1 NLP를 하려면 일단 인간의 언어가 가지는 특징을 알아야 한다. 더 깊게는 언어 자체에 대한 이해도 필요하지만 그것까지 다루기에는 무리다. 먼저는 자연어의 특징부터 시작하자. 언어는 의미를 전달하기 위해 만들어진 시스템이다. 하지만 어떤 물질적인 것으로 만들어 진 것이 아니라 단지 추상적인 개념으로만 […]