##Approximate Nearest Neighbors Oh Yeah
FAISS 사용해도 되는데,
https://github.com/facebookresearch/faiss
굳이,
Gensim의 Word2Vec, FastText 를 사용한다면
ANNOY 를 고려해보자.
https://radimrehurek.com/gensim/auto_examples/tutorials/run_annoy.html
사용법은 사실 따라면 끝이라서...
input 이 뭔지, output은 뭔지.
이것만 알면 누구나 할 수 있을 것 같고,
이걸 실행해보려면,
>> pip install annoy
라이브러리 설치를 해야하는데,
에러가 날 확률 99%...
CENTOS7 기준으로
1. yum install centos-release-scl -y
2. yum install devtoolset-7-gcc* -y
3. scl enable devtoolset-7 bash
해주면 끝.
모델을 학습하고 모든 타켓에 대해서 거리 계산을 빠르게 할 수 있는 대표 라이브러리.
결과는 list 타입으로,
npy 또는 튜터리얼에 있는 그냥 .save('WHERE TO STORE') 하면 사용 가능.
faiss 는 설치가 좀 까다롭다(개인적인 생각).
cmake 부터...
사실 따라하면 되지만 dependency 를 simple 하게 만들 수 있는 장점이 줄어드는 경우는
피하려고하는 경향이 있어서.
끝.