요즘 머신러닝 에 대해서 쫌 보고 있는데.. 신기한 알고리즘 발견..
word2Vec 이라는 알고리즘인데.. 말 그대로.. 단어들을 vector에 넣어서
검색에 활용한다는 얘기이다..
처음에는 그냥 구문 분석에 벡터를 써서 뭘 한다는 건가?? 했는데..
그게 아니고.. 각 단어들을 신경망 학습으로 비슷한 단어끼리 벡터 거리 ( vector distance )라는
수학 값을 이용하여 비슷한 단어 끼리 같은 벡터 거리 값을 가지도록 하여 이를 검색에 활용한다는 것이다.
이를 이용해서 특정 단어가 가지는 의미를 파악하고.. 그 의미와 비슷한 다른 단어들과
그룹하여 이 값을 이용해 검색 한다는 얘기..
뭐 예를 들어
“프랑스 – 파리 + 서울” 이라고 검색하여.. 프랑스(나라) – 파리(수도) + 서울(수도) = 한국(나라)
라는 수식이 성립하게 되어 한국 이라는 결과를 얻을 수 있다고 한다.
뭐 이 알고리즘은 당영히 영어에 한해서만 가능하다..
누가.. 한국어도 이렇게 알고리즘에 넣어서 적용하면 재미 있는 검색 엔진이 만들어 질 듯 하다..
해당 알고리즘 사이트는 아래와 같다
https://code.google.com/p/word2vec/
요즘 이 알고리즘을 만든 사람이 구굴에서 퇴사 후 페이스북으로 옮긴 다음..
이제는 단어가 아닌 문맥을 기준으로 의미를 찾아 검색 하는 알고리즘을 만들고 있다고 한다.
발표한 논문은 http://cs.stanford.edu/~quocle/paragraph_vector.pdf 이다.
좀더 자세한 설명은.. 하기 사이트를 보면 자세히 설명이 되어 있음.
http://www.moreagile.net/2014/11/word2vec.html