Article Review

[논문리뷰] Di Cocco and Monechi (2022) - 텍스트에서 포퓰리즘 정도를 측정하는 방법

Dr. Julia 2025. 1. 13. 06:11

머신러닝을 활용한 정당들의 포퓰리즘 정도 측정을 어떻게 할까?

소개

이번 포스트에서는 Jessica Di Cocco와 Bernardo Monechi의 논문, "How Populist are Parties? Measuring Degrees of Populism in Party Manifestos Using Supervised Machine Learning"를 리뷰하겠습니다. 이 연구는 텍스트 분석과 머신러닝을 결합하여 정당들의 포퓰리즘 정도를 측정하는 새로운 방법론을 제안하고 있습니다. 논문은 포퓰리즘 연구의 주요 과제인 시간적, 공간적 비교를 다루면서도 기존의 리소스 집약적인 인간 코딩 방식을 대체할 수 있는 효율적인 대안을 제공합니다.

연구의 목적과 중요성

포퓰리즘을 측정하는 기존 연구들은 종종 인간 전문가의 주관적인 코딩이나 특정 기준에 의존해왔습니다. 이는 시간과 비용 면에서 큰 제약이 있었습니다. 본 연구는 머신러닝 기법, 특히 랜덤 포레스트(Random Forest) 알고리즘을 사용해 정당 공약(manifesto) 데이터를 분석하여 포퓰리즘 점수를 도출합니다. 이를 통해:

  1. 대규모 정당 및 국가 데이터의 효율적 분석
  2. 정확하고 지속적으로 업데이트 가능한 포퓰리즘 점수 제공
  3. 연속적이고 세분화된 포퓰리즘 측정
  4. 시간적, 공간적 비교 가능성 증대

이라는 네 가지 주요 목표를 달성하고자 했습니다.


데이터와 방법론

데이터 출처

연구진은 총 268개의 정당 공약을 사용하여 243,659개의 문장을 분석했습니다. 주요 데이터는 Manifesto Project Database (MPD)에서 가져왔으며, 39개의 추가 공약 문서는 각 정당과 정부의 공식 웹사이트에서 확보했습니다. 데이터는 오스트리아, 프랑스, 독일, 이탈리아, 네덜란드, 스페인의 6개 국가를 대상으로 합니다.

데이터 전처리

  1. 문장 단위 분할: 공약 데이터를 문장 단위로 나눔.
  2. 텍스트 정규화: 대문자를 소문자로 변환, 숫자, 구두점 및 불용어(stop words) 제거.
  3. 스테밍: 단어를 어근 형태로 변환하여 의미는 유지하되 변형된 단어 형태를 통합.
  4. Bag-of-Words 벡터화: 각 문장을 단어 출현 여부를 기준으로 벡터화하여 머신러닝 알고리즘의 입력값으로 사용. 이 과정에서 단어의 순서를 고려하지 않고, 각 문장이 특정 단어를 포함하는지 여부를 숫자 값으로 나타냅니다.

머신러닝 모델

  1. 랜덤 포레스트(Random Forest): 연구진은 랜덤 포레스트 알고리즘을 사용하여 각 문장을 "포퓰리스트 정당" 혹은 "비포퓰리스트 정당"으로 분류했습니다. 랜덤 포레스트는 비선형 데이터에서도 높은 정확도를 보장하는 모델로, 다수의 결정 트리(decision trees)를 활용해 예측의 안정성과 정확성을 향상시킵니다.
  2. 훈련 및 검증:
    • 전체 데이터의 70%는 모델 훈련(training)에, 나머지 30%는 테스트(testing)에 사용했습니다.
    • K-폴드 교차검증(K-Fold Cross Validation)을 통해 모델의 일반화 성능을 검증했습니다. 데이터셋을 K개의 하위 집합으로 나누고 각 하위 집합을 번갈아 가며 검증 데이터로 사용하여 모델의 정확도를 측정했습니다.
  3. 하이퍼파라미터 튜닝: 랜덤 포레스트 모델의 최적 성능을 위해 그리드 탐색(Grid Search)을 사용하여 하이퍼파라미터(예: 트리 수, 최대 깊이)를 조정했습니다. 이 과정에서 ROC 곡선 아래 면적(AuROC)을 기준으로 가장 높은 정확도를 보이는 설정을 선택했습니다.

포퓰리즘 점수 산출

  1. 문장 라벨링: 연구진은 PopuList 데이터베이스와 기존 문헌을 참고하여 "포퓰리스트" 정당과 "비포퓰리스트" 정당을 구분했습니다. 각 문장은 해당 정당의 공약에 기반하여 포퓰리스트 문장(Y=1)과 비포퓰리스트 문장(Y=0)으로 라벨링되었습니다. 예를 들어, 이탈리아의 민주당(PD)은 비포퓰리스트로, 반면 파이브 스타 운동(M5S)은 포퓰리스트로 분류되었습니다. 이 과정은 인간 코더가 직접 문장을 일일이 주석(annotation)한 것이 아니라, 기존의 PopuList와 같은 외부 분류 데이터를 활용하여 자동화된 라벨링 방식을 사용했습니다.
  2. 점수 계산: 각 정당 공약에서 포퓰리스트로 분류된 문장의 비율을 계산해 해당 정당의 포퓰리즘 점수를 산출했습니다. 이 점수는 0~1 범위를 가지며, 값이 클수록 포퓰리즘 정도가 높음을 의미합니다.
  3. 다른 알고리즘 비교: 연구진은 로지스틱 회귀(Logistic Regression), 그래디언트 부스팅(Gradient Boosting), 피드포워드 신경망(Feedforward Neural Network) 등 다른 알고리즘을 사용해 결과를 비교했으며, 랜덤 포레스트 모델이 가장 일관되고 우수한 성능을 보였습니다.

주요 결과

1. 포퓰리즘 점수의 유효성 검증

연구진은 도출된 포퓰리즘 점수를 기존의 전문가 설문 데이터(예: CHES, POPPA)와 비교했습니다. 주요 결과는 다음과 같습니다:

  • CHES 데이터:
    • 반엘리트주의(Anti-Elite Salience): 상관계수 ρ = 0.81
    • 엘리트 대 대중(People vs Elite): 상관계수 ρ = 0.75
  • POPPA 데이터:
    • 포퓰리즘 5대 구성 요소(반엘리트주의, 대중 중심성, 마니케이즘 세계관 등)와 높은 상관성(ρ = 0.84)

2. 시간적, 공간적 비교

2000년대 초부터 약 20년에 걸친 데이터 분석 결과:

  • 이탈리아: 포퓰리즘 점수의 급격한 증가.
  • 스페인: 전반적인 감소 추세.
  • 나머지 국가: 완만한 증가 또는 변동적 추세.

3. 정치 텍스트의 유형 비교

이탈리아 데이터를 활용해 공약과 정치 연설 데이터를 비교 분석한 결과, 두 텍스트 유형 간의 점수 일관성이 높게 나타났습니다(ρ = 0.75).


논문의 의의

이 연구는 머신러닝 기법을 통해 포퓰리즘 연구에서 다음과 같은 주요 기여를 했습니다:

  1. 효율성과 정확성: 수작업 코딩의 한계를 극복하며 신속한 데이터 처리와 높은 정확성을 제공합니다.
  2. 연속적 측정: 포퓰리즘을 이진적으로 구분하는 대신 연속적인 점수로 측정하여 정당 간 미세한 차이를 파악할 수 있습니다.
  3. 확장 가능성: 다양한 국가 및 텍스트 유형에 적용 가능하며, 특히 다국어 데이터 분석에서도 유용합니다.

개선점 및 한계

  1. 공약 길이: 공약의 길이가 정당별로 상이해 점수 계산에 영향을 미칠 수 있음.
  2. 다국어 모델: 각 국가별로 모델을 따로 학습해야 한다는 점에서 단일 언어 모델의 필요성이 제기됨.
  3. Bag-of-Words 한계: 단어의 순서를 무시하므로 문맥 이해에 제한이 있음. 워드 임베딩(word embedding)과 같은 고급 기법이 대안이 될 수 있음.

결론

이 논문은 텍스트 분석과 머신러닝을 활용한 정당 포퓰리즘 측정의 혁신적인 접근법을 제시합니다. 특히 시간과 자원 측면에서 효율성을 크게 개선했으며, 포퓰리즘의 복잡한 차원을 연속적으로 측정할 수 있는 가능성을 열어주었습니다. 다만, 향후 연구에서는 데이터 전처리와 모델의 한계를 극복하기 위한 추가적인 개선이 필요합니다.

이 논문은 정치학과 데이터 과학의 교차점에서 포퓰리즘 연구를 심화시키는 데 중요한 기여를 했다고 평가할 수 있습니다. 앞으로도 다양한 응용 가능성을 기대하며, 지속적인 발전을 기대합니다.