로봇・기술/자연언어처리(NLP)

word2vec 설치부터 데모 실행까지.

초인로크 2018. 1. 30. 20:20
반응형

맥을 이용하면서 우선 word2vec을 설치하는 순서를 정리해 본다.


1.  git clone https://github.com/svn2github/word2vec.git


2.  cd word2vec/


3.  make

"make" 를 끝마치니 아래와 같은 에러가 나온다.

- - - - - - - - - - - - - - - - - - -

distance.c:18:10: fatal error: 'malloc.h' file not found
#include <malloc.h>
         ^~~~~~~~~~
1 error generated.
make: *** [distance] Error 1

- - - - - - - - - - - - - - - - - - -

맥에는 malloc.h 가 없는 관계로, 각각의 c파일 내부에 있는 "#include <malloc.h>" 부분을 모조리 아래와 같이 치환 해 준다.

#include <malloc.h> → #include <stdlib.h>

(compute-accuracy.c, distance.c, word-analogy.c 의 파일 내부를 전부 바꿔준다.)

바꿔 준 다음에 다시 "make" 를 해 준다.


4.  ./demo-word.sh

"./demo-word.sh" 를 쳐서 데모를 실행 시키려 하니 아래와 같은 에러가 나온다.

- - - - - - - - - - - - - - - - - - -

Starting training using file text8
ERROR: training data file not found!

- - - - - - - - - - - - - - - - - - -

내 컴퓨터가 이상한가, 뭔가 한번에는 잘 안되는거 같은데 압축이 제대로 안풀리는거 같다.

그래서 아래와 같은 명령어를 입력한다.

open text8.gz


5.  다시한번 ./demo-word.sh

아래와 같이 학습이 진행 되는데, 맥북 에어로 23분 걸렸다.

- - - - - - - - - - - - - - - - - - -

make: Nothing to be done for `all'.
Starting training using file text8
Vocab size: 71291
Words in train file: 16718843
Alpha: 0.000005  Progress: 100.10%  Words/thread/sec: 74.51k 
real    23m15.037s
user    55m36.529s
sys    0m50.177s

- - - - - - - - - - - - - - - - - - -

6. 단어를 입력 해 본다.

실험삼아 "korea" 를 입력했더니 결과가 아래와 같이 나왔다.


앞으로의 연구에 이것 저것 써 먹어 볼 수 있을거 같다.

반응형