GloVe 논문 리뷰
abstract 벡터 공간에서 단어 벡터를 표현하고자하는 연구는 많이 이루어졌지만 global matrix factorization, 예를 들면, LSA(latent semantic analysis), 은 단어간의 의미거리를 제대로 파악하지 못하고 skip-gram은 단어간 의미상 차이는 잘 반영하지만 단어의 전역적인 통계는 반영하지 못하는 문제가 있다. 단어-단어의 공출현 빈도를 기반으로한 weighted least squares model을 사용하였다. 결과적으로 word analogy dataset에서 75%의 정확도를 기록하였고(state-of-art) NER task에서도 기존 방법들 보다 나은 성능을 보였다. 연구의 배경 사전에서는 단어를 <뜻>에 해당하는 문장으로 정의를 하지만 이외에도 단어를 나타낼 수 있는 방법은 많다. 공출현 빈도가 높은 다른 단어들과의 관계로 단어를 정의하는 방법이 NLP분야에서 word를 정의하는 방법인 것 같다. (이렇게하면 장점도 많지만 한계도 있는데, 그것은 나중에 정리하도록 하자.) 두 단어가 공출현인지 아닌지 정의하려면 말뭉치의 범위를 지정해야한다. 범위가 큰것은 문서 전체 또는 문단 전체가 될 수 있고 범위가 작은 것은 문장, 혹은 bi-gram 등의 n-gram이 될 수 있다. LSA는 문서 전체를 이용한다. 흔히 많이 쓰이는 word2vec의 CBOW와 skip-gram은 작은 범위를 공출현을 이용한다. 전자의 approach를 (1) global co-occurence 후자를 (2) local window로 나누어서 설명을 하겠다. (단순히 범위가 이 둘의 명확한 구분이 되지 않을지도? 알고리즘 자체가 다르니...) (1) global co-occurence matrix factorization(행렬 분해)는 높은 차원의 벡터를 성질(?)을 근사하게 유지하면서 낮은 차원으로 줄이는 방법이다. LSA가 대표적인 방법으로 말뭉치 전체의 통계를 행렬로 먼저 만든 뒤 ...