최근, 머신 러닝에 대한 관심이 증가하고 있다. 빅데이터 시대의 도래와 더불어, 컴퓨팅 성능은 좋아졌으며 컴퓨팅 자원을 합리적인 가격에 갖출 수 있게 되면서, 머신 러닝은 각종 연구, 사업 영역에서 폭 넓게 주목을 받고 있다. AI(Artificial Intelligence)의 한 분야인 자연어 처리(NLP: Natural Language Processing)또한 그런 흐름의 영향을 받은 분야 중의 하나다.
자연어 처리는 컴퓨터가 사람의 언어를 이해할 수 있도록 하는 방법을 연구하는 하나의 분야로써 사람이 직접 작성한 규칙을 기반으로 사람의 언어를 해석하려는 고전적인 방식부터, 통계적 언어 모델(Statistical Language Model)이 도입되고, 머신 러닝이 적용되면서 점차 발전해 왔다. 이러한 연구들은 인공신경망을 적용한 NNLM(Feedforward Neural Net Language Model), RNNLM(Recurrent Neural Net Language Model) 방식이 등장하면서, 큰 성능 향상을 가져왔다. 최근에는 word2vec 방식이 등장하면서, 기존 인공신경망 방식들에 비해 효율성을 높였다.
위키피디아는 전 세계인이 협력하여 작성하고, 유지하는 방대한 지식 스키마이다. 따라서 이 텍스트 데이터 셋을 분석하여, 각 단어들의 상관관계를 분석하는 것은 유의미한 작업이 될 것이다. 그러나 이러한 작업들이 실제로 이뤄지고 있으나, 비교적 최신 알고리즘인 word2vec의 위키피디아 데이터 셋에 대한 적용되는 사례는 많지 않다.
따라서, 본 논문에서는 데이터를 분석하기 위한 word2vec 라이브러리, 모듈 사이의 통신을 위한 Django 프레임워크, 단어 사이의 유사성을 시각화 하여 보여주기 위한 D3.js를 이용하여 효율적으로 위키피디아 데이터 셋을 분석하고, 해당 데이터 셋의 단어들이 서로 얼마나 상관성을 갖고 있는지 보여줄 수 있는 애플리케이션을 구현한다.