Giter VIP home page Giter VIP logo

2018_presidential_image_analysis's Introduction

1. 서론

본 조는 2017년 19대 대통령 선거와 관련된 기사 중 두 후보자(문재인, 안철수), 특정 시기(후보자 토론회)를 기준으로 분류한 뒤, 이를 자연어 학습을 통해 분석하고자 했다.

2. 본론 

  1. 분석 과정

(1) 한글 전처리와 gensim 학습

한글은 영어와 다르게 다양한 조사가 붙는다. 이는 우리가 자연어 학습을 하는 과정을 방해한다. 그래서 전처리 과정으로 한글 문장을 조사 등을 제외하는 과정이 필요하다. 우리는 Konlpy를 통해 이를 정제하였다. 그리고 이를 gensim으로 학습시켰다. 4/3-4/7, 4/8-4/12, 4/13-4/17, 4/18-4/22, 4/23-4/27, 4/28~5/3 총 6개의 기간을 나누어 학습했다. 우리는 단어 간 워드 벡터의 차이가 존재하면서도, 너무 많은 차원으로 비교가 어려운 것을 방지하고자 10차원(SIZE)으로, 최대한 많은 단어를 학습하기 위해 최소빈도(MIN_COUNT) 1, 창(WINDOW)을 5로 구성했다. 한국어gensim 학습을 위한 선행조사에서 다른 연구자가 시행한 반복(ECHO) 횟수와 같이 100회 시행했다. 참고로, 전 연구자의 데이터 크기는 29만개인데 비해, 우리의 연구 데이터는 약 3만개 정도이다. 따라서 절대적 데이터의 크기가 작은 대신, 차원을 줄었고,(100->10) 주변 단어(WINDOW)의 크기를 크게, 그리고 최소 빈도를 줄였다. 이를 통해 더 작은 데이터를 가지고 본 연구를 수행하기 위한 준비를 했다.

(2) 데이터분석

‘지지율’과 관련된 단어의 등장 빈도를 분석한 결과, 가장 많이 등장하면서도 상반된 단어 2개를 선별하였다.(본 프로젝트에서는 ‘상승’과 ‘하락’이었다.) ‘상승’의 경우 model.wv[‘상승’] + model.wv[‘지지율’]-model.wv[‘하락’]으로 ‘상승’과 ‘지지율’의 합벡터 주변에 있으나, ‘하락’과 다른 단어들을 표현하는 새로운 벡터(NEW상승)를 만들었다. 이는 ‘지지율’과 ‘상승’의 합벡터와 유사하나, ‘하락’이란 단어와 거리가 먼 단어 벡터를 찾기 위함이다. 이러한 적용은 ‘하락’의 경우도 마찬가지다.(NEW하락) 우리는 ‘유사하다’라고 말할 수 있는 기준을 내적한 값이 0.7 이상으로 보았다. 이때 구간별로 모두 30개가 내적값이 0.7을 넘었다.(평균적으로 33개 내외의 단어가 0.7을 넘음) 우리는 이것들을 앞서 정의한 새로운 벡터와 유사한 것으로 판단하고 이 단어들과 ‘문재인’, 그리고 ‘안철수’와의 평균을 냈다. 이를 통해 ‘NEW상승’ 또는 ‘NEW하락’과 비슷한 단어들을 통해 지지율 상승과 연관된 단어(즉 이미지)를 구하려 했고, 이들과 ‘문재인’, 그리고 ‘안철수’의 내적값을 값을 구해 이미지와 후보간 유사도를 수치적으로 구하려고 했다. 그리고 이 둘의 값의 차를 구하는 것은 후보의 긍정적 영향과 부정적 영향을 합한 종합적 이미지로 정의했고, 우리는 이 데이터와 지지율의 경향성과의 관계를 파악하려 했다.

또한, ‘대통령’이라는 단어와 각 후보 간의 내적 값의 차이를 따로 구하는 분석을 따로 시행했다. 이는 ‘대통령’이란 단어와 후보간 유사도와 지지율의 특이한 상관관계를 파악하기 위함이다.

  1. 분석 결과

우리는 앞서 말했듯, NEW상승, NEW하락의 차이는 후보가 가진 긍부정적(종합적) 이미지로 판단했다. 그리고 우리는 이것이 우리가 학습시킨 기간의 지지율 변화(그림1)와 유사한 모습을 가질 것이라 예상했다. 그러나 실제로는 ‘문재인’ 후보와 ‘안철수’의 결과(그림2) 모두 기존 안철수 후보의 지지율 그래프(그림1)가 증감하는 모습과 유사한 모습을 가졌음을 확인했다. 구간별 증감하는 경향이 구간 5를 제외한 나머지 부분에서 일치했기 때문이다. 이런 결과가 나온 이유는 두 후보가 같은 학습 모델의 데이터를 사용했고, ‘문재인’과 ‘안철수’의 내적 값이 항상 .7~.8 사이였기 때문이라 추측할 수 있다. ‘문재인’과 ‘안철수’의 내적 값이 거의 비슷한 이유는 두 후보가 가장 유력한 후보였기 때문에 같은 기사에 단독적으로 등장하는 경우보다 함께 등장하는 경우가 많았기 때문이다. 특히, 우리가 후보 토론회를 기준으로 시기를 분리하였기 때문에 비슷한 양상을 나타냈을 수 있다. 추가적으로 분석한 ‘대통령’이라는 단어와 각 후보 간의 내적 값 차이는 ‘문재인’이 ‘안철수’보다 4/23~4/27을 제외한 나머지 기간에서 적어도 0.029 이상 컸다. 그러나 (표1)의 차의 절대값과 지지율간의 상관관계는 찾기 어려웠다. 우리는 (표1)의 결과와 실제 지지율 간 어떤 상관관계를 가지고 있는지 확신할 수 없지만 수만 개의 기사를 토대로 나온 데이터와 후보 간 내적 값의 경향성은 흥미롭다.

3. 활용 방안

본 프로젝트의 결과를 토대로 앞으로 다가오는 20대 대선뿐만 아니라 다양한 선거에서 자연어 처리를 활용한다면 각 후보자의 지지율의 방향성을 예측할 수 있다는 것을 알 수 있다.

2018_presidential_image_analysis's People

Contributors

karericegood avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.