💬 정치 연설 분석: AI가 국회의원들의 입장을 어떻게 파악할까?
정치 토론을 보면 의원들이 다양한 의견을 나누죠. 하지만 그들의 발언이 긍정적인지, 부정적인지를 자동으로 판단하는 것은 쉬운 일이 아닙니다. 우리가 SNS에서 감정 분석(예: 긍정/부정 댓글 분석) 같은 것은 많이 해봤지만, 국회 회의록(Hansard) 같은 긴 텍스트에서 ‘입장(Stance)’을 파악하는 연구는 아직 많지 않습니다.
이 논문에서는 영국과 호주의 국회 회의록을 분석하여, 의원들이 특정 법안이나 정책에 찬성하는지 반대하는지를 자동으로 분류하는 AI 모델을 개발했습니다. 기존 방법들과 비교하여 더 높은 정확도를 가진 새로운 모델을 만들고, 이를 호주의 특정 정책(비만 및 정크 푸드 마케팅 정책)에 적용해본 연구입니다.
📌 왜 국회 회의록 분석이 어려울까?
SNS나 뉴스 기사에서 정치인의 입장을 분석하는 연구는 많지만, 국회 회의록(Hansard) 데이터는 몇 가지 난점이 있습니다.
- 텍스트가 길다 📝
- 트위터 같은 짧은 문장과 달리, 국회 연설은 몇 페이지에 걸쳐 이어지는 경우가 많습니다. 한 문장만 보면 맥락을 놓칠 가능성이 큽니다.
- 맥락이 중요하다 🧐
- 의원들은 직접적으로 ‘찬성합니다’ 또는 ‘반대합니다’라고 말하기보다는, 다른 의원들의 발언에 응답하거나 우회적으로 의견을 표현하는 경우가 많습니다.
- 데이터 부족 📉
- 기계학습 모델을 학습하려면 ‘정답(입장이 긍정/부정인지)’이 달린 데이터가 많아야 하는데, 국회 회의록 데이터는 대부분 가공되지 않은 형태로 제공됩니다.
⚙️ 어떤 방법을 썼을까?
이번 연구에서는 국회 회의록(Hansard)의 발언을 자동으로 분석하여, 의원들이 특정 정책에 찬성하는지 반대하는지를 예측하는 머신러닝 및 자연어 처리(NLP) 모델을 개발했습니다. 이를 위해 다양한 기법을 비교하며 최적의 방법을 찾아가는 과정을 거쳤습니다. 연구진은 크게 4단계에 걸쳐 분석을 진행했습니다.
🔹 Step 1: 데이터 준비 – 국회 회의록을 머신러닝이 이해할 수 있도록 변환
먼저, 연구팀은 분석을 위한 데이터를 구축하는 과정에서 영국과 호주의 국회 회의록 데이터를 사용했습니다. 그러나 원본 데이터는 PDF 또는 HTML 파일 형태로 제공되어 바로 머신러닝 모델에 입력할 수 없었습니다. 따라서 여러 단계를 거쳐 텍스트를 정리하고, 구조화된 데이터로 변환하는 작업이 필요했습니다.
📌 사용한 데이터셋
- 영국 Hansard 데이터 (HanDeSet & ParlVote)
- 기존 연구에서 활용된 국회 회의록 데이터
- 이미 입장(찬성/반대) 레이블이 달려 있음
- 호주 Hansard 데이터 (비만 및 정크푸드 정책 관련 토론)
- 새로운 데이터셋, 하지만 ‘찬성/반대’ 라벨이 적음
- 모델의 일반화 성능을 테스트하는 데 사용
📌 데이터 전처리 과정
- PDF/HTML 데이터를 텍스트로 변환
- PyMuPDF 라이브러리를 활용해 PDF 문서를 머신이 읽을 수 있는 문자열 형태로 변환
- HTML에서는 BeautifulSoup을 사용해 텍스트를 추출
- 발언자 정보 정리
- 발언자의 이름, 소속 정당, 발언 내용, 토론 주제 등을 추출
- 발언(utterance) 단위로 분할 후 병합
- 하나의 의원이 여러 번 발언하는 경우, 이를 하나의 ‘연설(speech)’로 합쳐서 분석
- 라벨링 (찬성/반대 자동 태깅)
- 의원이 특정 법안에 대해 찬성하는지 반대하는지를 투표 결과 기반으로 할당
- 직접적인 투표 기록이 없는 경우, 해당 의원의 소속 정당과 정책 이슈를 고려하여 예측
이 과정에서 가장 어려웠던 점은 다양한 형식의 문서를 일관된 구조로 변환하는 작업이었습니다. 특히, 같은 국회 회의록이라도 호주와 영국은 서로 다른 문서 포맷과 발언 구조를 가지고 있어, 이를 통합하는 작업이 필요했습니다.
🔹 Step 2: 텍스트 변환 및 특징 추출 – 문장을 숫자로 변환하는 다양한 방법 비교
국회 회의록의 발언을 머신러닝 모델이 이해하려면, 이를 **숫자로 변환하는 과정(텍스트 임베딩)**이 필요합니다. 연구팀은 다양한 방법을 비교하며 어떤 것이 가장 효과적인지 실험했습니다.
📌 사용한 텍스트 변환 기법
- TF-IDF (Term Frequency-Inverse Document Frequency)
- 각 단어가 얼마나 자주 등장하는지를 반영하여 문장을 수치화하는 전통적인 기법
- 간단하면서도 정치적 연설처럼 긴 문서에서 효과적
- 하지만 문맥 정보를 반영하지 못하는 단점이 있음
- BERT 기반 문장 임베딩
- 최신 NLP 모델인 BERT, DistilBERT, RoBERTa를 활용하여 문맥 정보를 포함하는 벡터를 생성
- 국회의원들의 발언이 긴 경우에도 맥락을 유지할 수 있음
- 하지만 계산량이 많고, 학습 시간이 길다는 단점
- 추가적인 수치형 특징 활용 단순히 텍스트 임베딩만 사용하는 것이 아니라, 발언자의 스타일을 반영할 수 있는 **추가적인 수치형 특징(메타데이터)**도 포함했습니다.
- 감정 점수 (Sentiment Score) 🟢🔴
- 긍정적인 단어를 많이 쓰면 찬성, 부정적인 단어가 많으면 반대일 가능성이 큼
- VADER 감정 분석 라이브러리를 사용하여 각 발언의 감정 점수를 계산
- 단어 개수
- 긴 연설일수록 논리적인 주장을 포함할 가능성이 높음
- 의문문 개수
- 질문을 많이 포함하는 연설은 반대 의견을 제시할 가능성이 큼
- 부정어 개수
- ‘not’, ‘dis-’, ‘un-’ 같은 부정적인 접두사나 표현의 개수를 세어 반대 의견과의 상관관계를 분석
- 발언자와 발의자의 같은 정당 여부
- 같은 정당 의원들끼리는 찬성/반대 입장이 일치하는 경우가 많음
- 감정 점수 (Sentiment Score) 🟢🔴
연구팀은 텍스트 임베딩(BERT) + TF-IDF + 추가적인 수치형 특징을 조합하는 하이브리드 모델을 설계하여 성능을 극대화했습니다.
🔹 Step 3: 머신러닝 모델 학습 – 가장 정확한 모델 찾기
텍스트를 숫자로 변환한 후, 이를 바탕으로 다양한 머신러닝 모델을 학습했습니다.
📌 비교한 모델들
- 서포트 벡터 머신 (SVM)
- 기존 연구에서 많이 사용된 방법
- 문장이 비교적 짧은 경우 효과적이지만, 긴 문서에서는 성능이 떨어짐
- XGBoost & LightGBM (부스팅 계열 머신러닝)
- 여러 개의 약한 학습 모델을 조합하여 강력한 모델을 만드는 방법
- 텍스트 분석에서도 좋은 성능을 보임
- BERT 기반 신경망 모델
- 문맥을 반영하는 최신 NLP 모델
- 성능이 뛰어나지만 계산량이 많음
연구팀은 각 모델을 비교한 후, 성능이 가장 높은 LightGBM과 BERT 기반 모델을 선택했습니다.
🔹 Step 4: 도메인 적응 (Domain Adaptation) – 호주 데이터에 적용하기
호주 Hansard 데이터는 ‘찬성/반대’ 라벨이 부족했기 때문에, 기존의 영국 데이터에서 학습한 모델을 호주 데이터에 적용하는 **전이 학습(Transfer Learning)**을 시도했습니다.
📌 도메인 적응 기법
- TrAdaBoost (Transfer AdaBoost)
- 영국 데이터와 호주 데이터를 함께 학습하며, 호주 데이터에 더 높은 가중치를 부여
- Feature Augmentation
- 서로 다른 데이터에서 공통적인 특징을 추출해 결합
- 파라미터 튜닝 (Fine-tuning)
- 영국 데이터에서 학습한 BERT 모델을 호주 데이터로 미세 조정
이 기법을 적용하자 모델의 성능이 10% 이상 향상되었습니다.
📊 실험 결과 – 어떤 모델이 가장 효과적이었을까?
연구팀은 다양한 모델을 실험하며 각 모델의 성능을 비교하고 최적의 방법을 찾는 과정을 거쳤습니다.
실험은 크게 두 가지로 나누어 진행되었습니다.
- 영국 Hansard 데이터에서 최적의 머신러닝 모델 찾기 (벤치마킹)
- 훈련된 모델을 호주 Hansard 데이터에 적용하기 (도메인 적응 – Transfer Learning)
🔹 실험 1: 영국 데이터에서 최적의 머신러닝 모델 찾기
먼저, 영국 Hansard 데이터(HanDeSet, ParlVote)를 사용하여 다양한 모델을 학습한 후, 각 모델의 성능을 평가했습니다.
모델 성능 비교는 교차 검증(nested cross-validation)과 테스트 세트에서의 예측 성능을 기반으로 진행되었습니다.
📌 모델별 성능 비교 (Accuracy, F1 Score, ROC-AUC 기준)
Dummy Classifier (기본 모델) | 없음 (무작위 예측) | ❌ | 52% | 0.50 | 0.50 |
TF-IDF + LinearSVC (기존 연구 모델) | TF-IDF | ❌ | 68% | 0.67 | 0.71 |
TF-IDF + XGBoost | TF-IDF | ✅ | 74% | 0.73 | 0.78 |
TF-IDF + LightGBM | TF-IDF | ✅ | 76% | 0.75 | 0.80 |
BERT 기반 분류 모델 | BERT 임베딩 | ❌ | 78% | 0.77 | 0.83 |
BERT + LightGBM (최종 하이브리드 모델) | BERT 임베딩 + TF-IDF | ✅ | 81% | 0.80 | 0.85 |
✅ 주요 결과 요약:
- **Dummy Classifier (무작위 예측)**는 52%의 정확도를 기록했으며, 이는 모델이 아무 정보 없이 무작위로 예측하는 것과 다름없음.
- 기존 연구에서 많이 사용된 TF-IDF + LinearSVC 모델은 68%의 정확도를 보였음.
- XGBoost와 LightGBM을 활용한 부스팅 계열 모델이 추가적인 수치형 특징을 활용했을 때 성능이 크게 향상됨.
- BERT 기반 모델이 78%의 정확도를 기록하며 강력한 성능을 보였지만, 추가적인 특징(감정 점수, 단어 개수 등)을 활용하지 않음.
- 최종적으로, BERT 임베딩과 LightGBM을 결합한 하이브리드 모델이 가장 높은 성능(81% 정확도)을 기록하며, 기존 연구보다 15~20% 향상된 결과를 보여줌.
🔹 실험 2: 도메인 적응 (Domain Adaptation) – 호주 Hansard 데이터에서의 성능 평가
호주 Hansard 데이터는 기존 영국 데이터보다 라벨(찬성/반대)이 적고, 문장의 구조도 다소 차이가 있음.
이를 해결하기 위해 훈련된 영국 Hansard 모델을 호주 데이터에 적용하면서, 도메인 적응(Transfer Learning) 기법을 실험했습니다.
📌 도메인 적응 기법별 성능 비교 (Accuracy 기준)
Baseline (그냥 영국 모델 적용) | 학습된 영국 모델을 그대로 사용 | 65% |
TrAdaBoost (전이 학습) | 호주 데이터에 높은 가중치 적용 | 71% |
Feature Augmentation (특징 증강) | 영국 & 호주 데이터의 공통 특징 결합 | 75% |
Fine-tuned BERT (미세 조정된 BERT) | 영국 데이터로 학습 후, 호주 데이터로 추가 훈련 | 79% |
✅ 주요 결과 요약:
- **영국에서 학습한 모델을 그대로 적용하면 정확도는 65%**에 그쳤음.
→ 이는 같은 영어라도 호주와 영국의 국회 회의록 스타일이 다르기 때문. - TrAdaBoost (전이 학습 기법)를 사용하여 호주 데이터에 맞게 가중치를 조정하자 정확도가 71%로 상승.
- Feature Augmentation (특징 증강 기법)을 통해 두 개의 데이터셋에서 공통된 특징을 찾아 결합하자 75%까지 향상.
- BERT 모델을 호주 데이터로 미세 조정(Fine-tuning)하자, 최종적으로 79%의 정확도를 기록하며 가장 좋은 성능을 보임.
🔹 추가적인 오류 분석 (Error Analysis)
연구팀은 모델이 오답을 내는 패턴을 분석하며 어떤 경우에 모델이 실수를 하는지를 조사했습니다.
📌 오답이 많이 발생한 경우
- 발언이 너무 길 경우 (500단어 이상)
- 긴 연설일수록 주제와 맥락이 변하기 때문에 모델이 일관된 입장을 찾아내기 어려웠음.
- 해결책: 연설을 더 작은 단위(문장 또는 단락)로 나눠서 예측하는 방식 필요.
- 발언에 직접적인 입장 표현이 없는 경우
- "이 법안은 우리가 신중하게 고려해야 할 문제입니다." 같은 중립적인 표현이 많을 경우, 찬성/반대 여부를 판단하기 어려움.
- 해결책: 논의의 흐름을 고려하는 문맥 기반 NLP 모델을 추가하는 방안.
- 같은 정당 소속 의원들의 발언을 긍정적으로 분류하는 경향
- 모델이 정당 소속 정보를 강하게 반영하면서, 가끔 실제와 다른 입장을 예측하는 경우가 발생.
- 예: 같은 정당 내에서도 의원 간 의견이 다른 경우, 모델이 일관되게 찬성/반대라고 분류하는 문제.
- 감정 점수가 높은 발언에서 실수
- 일반적으로 강한 감정을 표현하는 연설은 반대 입장이 많았지만, 특정한 경우(강한 지지 발언)에서는 찬성으로 나타남.
- 해결책: 감정 분석 결과와 실제 입장 사이의 관계를 추가적으로 학습하는 기법 필요.
🔍 결론: 어떤 모델이 가장 효과적이었나?
✅ 최종적인 결과
- 기존의 단순한 TF-IDF + SVM 모델보다 하이브리드 모델(BERT + LightGBM)이 15~20% 더 높은 정확도를 기록.
- 특징 증강(feature augmentation)과 전이 학습(Transfer Learning) 기법을 활용하면, 새로운 국회 회의록에서도 성능을 유지할 수 있음.
- 하지만 여전히 긴 연설, 간접적인 표현, 정당 소속 정보에 의존하는 문제들이 남아 있음.
🚀 앞으로의 연구 방향
- 발언을 더 작은 단위(문장, 단락)로 나눠서 분석하는 기법 추가 필요.
- 정당 소속 정보에 대한 모델 편향을 줄이는 전략 개발.
- Transformer 기반의 문맥 분석 모델(BERT + Hierarchical Attention 등) 도입하여 긴 텍스트에서도 더 정확한 판단을 내릴 수 있도록 개선.
이 연구는 정치 텍스트 분석의 새로운 가능성을 열어주었으며, 국회 회의록을 통해 정치인의 입장을 자동으로 분석할 수 있는 AI 모델을 발전시키는 중요한 첫걸음을 제공했습니다! 🚀
'Article Review' 카테고리의 다른 글
[LLM/질적연구] Than et al (2025) GPT와 LLM이 질적 연구를 어떻게 바꿀까? (0) | 2025.03.14 |
---|---|
[정치학] Etzel (2025) 보수 성향 유권자들은 왜 극우 포퓰리스트 정당을 선택할까? (CEP) (0) | 2025.03.14 |
[실험LLM/정책학] Bai et al (2025) AI가 만든 메시지, 사람의 정치적 태도를 바꿀 수 있을까? (0) | 2025.03.14 |
[LLM/정치학] Fisher et al (2025) AI의 정치적 중립성, 가능할까? 중립성 비교. (0) | 2025.03.14 |
[설문/정치학] Launderdale and Blumenau (2025) 정치적 문제의 우선순위에 대한 극단적 대립 (0) | 2025.03.14 |