word2vec 데모 사용 (특히 Mac 환경)
할 일
"단어를 벡터화한다"라든지 "단어 분산 표현"이라든지 자주 듣습니다. 문장안의 단어를 단어끼리 기계 학습으로 여러가지 비교해, 그 특징을 차원으로 표현하는 수법입니다. 「일본 - 도쿄 + 프랑스 = 파리」와 같은 단어끼리의 계산도 할 수 있게 된다고 합니다. 재미있어 보인다.
2020년 6월 현재, 특히 Mac 환경에서 하는 경우에 word2vec를 슬루로 도입하기 위한 메모입니다.
환경
방법
word2vec 설치
(참고) htps : // 이 m / 유이치_tr / ms / cb885 022b8 2233d097
$ git clone https://github.com/svn2github/word2vec.git
$ cd word2vec
$ make
word2vec를 git에서 다운로드하여 설치합니다.
Mac의 경우 $ make 뒤에 'malloc.h' file not found ... .
(참고) htps : //에서. 이 m/노조무쿠보타/응/응 d3727c2354f9
특히 nano 및 vim 편집기에서 distance.c, word-analogy.c 및 compute-accuracy.c 파일의 #include
$ chmod +x *.sh
쉘 스크립트에 실행 권한을 추가합니다.
데모용 텍스트 데이터 다운로드
$ curl -O http://mattmahoney.net/dc/text8.zip >text8.zip
または $ wget http://mattmahoney.net/dc/text8.zip >text8.zip
text8이라는 기계 학습용 텍스트 데이터를 다운로드합니다.
$ unzip text8.zip
다운로드하면 압축을 풉니다.
이제 이제 데모를 시도할 수 있습니다.
덧붙여서 text8은 wikipedia를 바탕으로 한 7만 단어 정도의 텍스트 데이터입니다. 텍스트 파일 형식으로 되어 있고, 안을 들여다 보면 단어가 공백으로 구분되어 늘어서 있는 것을 알 수 있습니다.
word2vec 데모 시도
$ ./demo-word.sh
방금 다운로드한 text8이라는 코퍼스를 사용한 데모입니다. 실행하면 먼저 word2vec이 벡터 계산을 수행합니다. Progress:XX.XX%와 진행률이 표시되므로 기장에 기다립니다.
(수중의 MacBookAir는 곧 뜨거워지므로 밖에서 선풍기를 맞추고 있습니다.)
계산이 끝나면 자동으로 데모가 시작됩니다.
알파벳으로 키워드를 입력하면 비슷한 단어가 표시됩니다.
$ Enter word or sentence (EXIT to break): soba
Word: soba Position in vocabulary: 46018
Word Cosine distance
-----------------------------------------------------
udon 0.676965
noodles 0.642184
broth 0.630183
tofu 0.622382
steamed 0.619639
ramen 0.598241
buckwheat 0.581692
wonton 0.564115
stew 0.563284
(以下略)
일단 soba를 입력하면 위와 같이 결과가 출력됩니다. 단어 벡터 공간에서 soba와 가장 유사한 (코사인 유사도가 가까운) 것은 udon이라고합니다.
EXIT를 입력하여 종료할 수 있습니다.
이어서 word-analogy도 시도해 보겠습니다.
$ ./word-analogy vectors.bin
여기서 지정하는 vectors.bin 이라는 것은, 바로 text8 로부터 word2vec 로 생성된 벡터 데이터입니다.
실행하면 단어를 3개 입력하라는 지시가 나오므로 공백으로 구분하여 japan tokyo spain을 입력해 보겠습니다.
Enter three words (EXIT to break): japan tokyo spain
Word: japan Position in vocabulary: 582
Word: tokyo Position in vocabulary: 4909
Word: spain Position in vocabulary: 804
Word Distance
-----------------------------------------------------
madrid 0.546240
toledo 0.543838
lleida 0.513116
(以下略)
japan tokyo spain과 관련된 것은 madrid일 가능성이 높다는 결과가 나왔습니다.
끝
word2vec가 움직여 안심.
이렇게 되면 일본어로도 여러가지 시험하고 싶어지고 있습니다.
다음은 일본어 데이터 작성에 도전 해 보겠습니다.
Reference
이 문제에 관하여(word2vec 데모 사용 (특히 Mac 환경)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Ninagawa_Izumi/items/a866ea7e4f8eaaddb6de텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)