Skip to content

[인공지능기초] 텍스트 마이닝을 통한 2024 미국 대선 분석 🗽

License

Notifications You must be signed in to change notification settings

PearlLeeCode/2024-us-election-analysis

Repository files navigation

[인공지능기초]텍스트 마이닝을 통한 2024 미국 대선 사후 분석 🗽

인공지능기초 수업 팀 프로젝트

목차

1. 프로젝트 소개

  • 주제: 텍스트 마이닝을 통한 2024 미국 대선 사후분석: VADER & LLM 기반 감성지수 시계열 예측을 중심으로
  • 기간: 2024.09.20~2024.12.17
  • 결과보고서(발표자료): 인공지능기초_기말발표_10조.pdf

2. 팀원 구성 및 역할

팀장 팀원
이진주 이건창
정치외교학과 금융공학과
데이터 수집, 전처리,
분석, 모델링 및 예측
데이터 전처리, 분석,
발표

3. 프로젝트 배경

인공지능기초_기말발표_10조-3-1 인공지능기초_기말발표_10조-4-1
인공지능기초_기말발표_10조-5-1 인공지능기초_기말발표_10조-6-1

4. 서비스 대상 정의 및 시장 규모 조사, 시나리오 설정

본 프로젝트는 직접적인 서비스 출시를 목표로 하지 않으며, 단순히 연구에 가깝지만, 연구 성과의 응용 가능성 및 가치를 제고하고 연구 방향성을 수립하기 위해 서비스 대상을 정의 및 시장 규모를 조사하고 서비스 시나리오를 설정해 보았다.

서비스 대상 선거 여론 예측 시장 성장 규모
인공지능기초_기말발표_10조-39-1 인공지능기초_기말발표_10조-40-1
가상의 서비스 시나리오 설정 서비스 시나리오
인공지능기초_기말발표_10조-42-1 인공지능기초_기말발표_10조-43-1

5. 프로젝트 목표

인공지능기초_기말발표_10조-7-1 인공지능기초_기말발표_10조-9-1
인공지능기초_기말발표_10조-10-1 인공지능기초_기말발표_10조-11-1

6. 데이터 수집 및 전처리

인공지능기초_기말발표_10조-13-1
인공지능기초_기말발표_10조-14-1 인공지능기초_기말발표_10조-15-1

7. 데이터 분석 - 빈도분석, TF-IDF

토론 데이터 TF-IDF 뉴스 데이터 언급 빈도수
인공지능기초_기말발표_10조-17-1 인공지능기초_기말발표_10조-18-1
뉴스 데이터 언론사별 전체 키워드 TOP 10 뉴스 데이터 TF-IDF
인공지능기초_기말발표_10조-19-1 인공지능기초_기말발표_10조-20-1
뉴스 데이터 언론사별 후보자 관련 TOP 20 통합 데이터(토론,뉴스,유튜브) Word2Vec
인공지능기초_기말발표_10조-21-1 인공지능기초_기말발표_10조-23-1

8. 유튜브 댓글 데이터 감성분석 및 예측 - VADER 사전 기반

VADER 사전 기반 감성분석 VADER 사전 기반 감성분석 결과
인공지능기초_기말발표_10조-25-1 인공지능기초_기말발표_10조-26-1
VADER 사전 기반 감성지수 LSTM 예측 VADER 사전 기반 감성지수 Chronos 예측
인공지능기초_기말발표_10조-27-1 인공지능기초_기말발표_10조-28-1
한계 (LLM 기반 감성분석 진행의 동기)
인공지능기초_기말발표_10조-29-1

9. 유튜브 댓글 데이터 감성분석 및 예측 - LLM 기반

LLM 기반 감성분석: 모델 선정 LLM 기반 감성분석: 프롬프트 설계
인공지능기초_기말발표_10조-31-1 인공지능기초_기말발표_10조-32-1
LLM 기반 감성분석: 프롬프트 설계 LLM 기반 감성분석: 후처리
인공지능기초_기말발표_10조-33-1 인공지능기초_기말발표_10조-34-1
LLM 기반 감성분석 결과 LLM 기반 감성지수 LSTM 예측
인공지능기초_기말발표_10조-35-1 인공지능기초_기말발표_10조-36-1
LLM 기반 감성지수 Chronos 예측
인공지능기초_기말발표_10조-37-1

Note

10. 고찰

이번 연구를 통해 샤이 지지층을 포함한 다양한 정치적 입장과 정서를 소셜 미디어 데이터로 포착하는 데에는 한계가 있음을 확인하였다. 특히 LLM 기반 감성분석 및 VADER 기반 감성분석 모두에서 감성지수를 사용한 예측 모델(LSTM, Chronos)의 성능이 기대만큼 일관적이지 않았고, 감성지수 자체가 정치적 성향을 대변하기에는 부족한 면이 있었다. 또한 데이터 소스, 크기, 분석 모델 모두에 대해 추가적인 보완이 필요함을 느꼈다.

11. 프로젝트 의의 및 추후 개선사항

추후 개선사항 프로젝트 의의
인공지능기초_기말발표_10조-44-1 인공지능기초_기말발표_10조-46-1

개선점을 다시한번 정리해본다.

항목 세부 내용
LLM 기반 감성분석 - 기존 LLaMA 모델에서 더 성능 좋은 LLaMA 모델로 교체하기
- 프롬프트 엔지니어링 개선하기
예측 모델 - 예측 모델에 파라미터 튜닝하기
- 반복해서 실험하고 검증하기
- 감성지수 외에 추가적인 feature 활용해서 예측 모델 고도화하기
수집 데이터 종류수 늘리고 편향 제거 - 뉴스 언론사 추가적으로 크롤링하기 (POLITICO, NPR, Reuter, AP, ABC, PBS)
- 유튜브 외 다른 SNS(페이스북, 레딧 , 쓰레드) 데이터를 수집하기
- 언론사별 편향지수 활용해서 편향 조정하기
- sns 데이터도 편향 더욱 최소화하기

Note

12. 소감 및 앞으로의 계획

소감: 프로젝트를 진행하면서 신경 써야 할 부분과 개선해야 할 점이 많이 발견되었다. 한 가지 예를 들면, LLM 기반 감성 분석에서 제거해야 하거나 분석에 악영향을 미치는 결과가 다수 생성되었다. 프롬프트 수정을 반복하여 이를 개선하고 싶었으나, 시간 부족으로 시도하지 못한 점이 아쉬움으로 남았다. 그러나 이를 통해 "내가 가설을 세우고, 그 가설을 무조건 맞는 방향으로 끌고 가려고 하는 것은 아닌가?"라는 스스로의 태도에 대해 되돌아보는 계기가 되었고, 연구의 본질과 목적에 대해 깊이 고민해볼 수 있었다.
앞으로의 계획: 방학 기간에도 프로젝트를 지속할 계획이다. Colab을 결제하여 컴퓨팅 자원을 늘리고, 더 많은 데이터를 수집 및 분석할 것이다. 이를 통해 전문가가 보기에 신뢰할 수 있고, 의미 있는 연구 결과를 도출하는 것을 목표로 하고 있다. 연구 주제와 관련된 방법들이나 논문을 참고하고, 교수님께 피드백을 받아서 가능하다면 논문까지 작성해보고 싶다.

Important

13. WBS(업무 분해 구조)

2024.12.17기준
1.토론 데이터

  • 크롤링
  • 전처리(토큰화, 불용어 제거, 표제어 추출 등)
  • 토론에서 각 후보자의 발언 수 비교
  • 후보자의 발언 데이터 TF-IDF 기반 워드클라우드
  • LDA를 통한 토픽 분석

2.뉴스 데이터

  • 크롤링
  • 전처리(불용어 제거 등)
  • 빈도수 기반 워드클라우드
  • TF-IDF 키워드 분석
  • 후보자 언급 빈도 분석

3.유튜브 댓글 데이터

  • 크롤링
  • 다운샘플링을 통한 편향 조정
  • VADER 기반 감성분석
  • LLM 기반 감성분석
  • VADER 기반 감성지수 LSTM 예측
  • LLM 기반 감성지수 LSTM 예측
  • VADER 기반 감성지수 Amazon Chronos 예측
  • LLM 기반 감성지수 Amazon Chronos 예측

4.통합 데이터 (토론 + 뉴스 + 유튜브 댓글)

  • Word2Vec

14. 프로젝트 구조

📦 
├─ 🗂️1.Data_Collection
│  ├─ 1.Data_Collector
│  │  ├─ 1.대선토론
│  │  │  └─ 💻trump_harris_debate_crawler.ipynb
│  │  ├─ 2.뉴스
│  │  │  ├─ cbs
│  │  │  │  ├─ 💻cbs_news_content_crawler.ipynb
│  │  │  │  └─ 💻cbs_news_url_title_crawler.ipynb
│  │  │  └─ fox
│  │  │     ├─ 💻fox_news_content_crawler.ipynb
│  │  │     └─ 💻fox_news_url_title_crawler.ipynb
│  │  └─ 3.유튜브 댓글
│  │     ├─ 💻harris_youtube_comment_api_crawler.ipynb
│  │     ├─ 💻harris_youtube_comment_commentdate_likes_crawler.ipynb
│  │     ├─ 💻harris_youtube_url_title_date_crawler.ipynb
│  │     ├─ 💻trump_youtube_comment_api_crawler.ipynb
│  │     ├─ 💻trump_youtube_comment_commentdate_likes_crawler.ipynb
│  │     └─ 💻trump_youtube_url_title_date_crawler.ipynb
│  └─ 2.Collected_Data
│     ├─ 1.대선토론
│     │  └─ 📄trump_harris_debate.json
│     ├─ 2.뉴스
│     │  ├─ cbs
│     │  │  ├─ 📄cbs_news_content.json
│     │  │  └─ 📄cbs_news_url_title.json
│     │  └─ fox
│     │     ├─ 📄fox_news_content.json
│     │     └─ 📄fox_news_url_title.json
│     └─ 3.유튜브 댓글
│        ├─ 📄harris_youtube_comment.jsonl
│        ├─ 📄harris_youtube_comment_commentdate_likes.jsonl
│        ├─ 📄harris_youtube_url_title_date.json
│        ├─ 📄trump_youtube_comment.jsonl
│        ├─ 📄trump_youtube_comment_commentdate_likes.jsonl
│        └─ 📄trump_youtube_url_title_date.json
│
├─ 🗂️2.Data_Preprocessing
│  ├─ 1.Data_Preprocessor
│  │  ├─ 1.대선토론
│  │  │  └─ 💻trump_harris_debate_preprocessor.ipynb
│  │  └─ 3.유튜브 댓글
│  │     └─ 💻youtube_comment_filter_for_llm.ipynb
│  └─ 2.Preprocessed_Data
│     ├─ 1.대선토론
│     │  ├─ 📄preprocessed_debate_scripts.csv
│     │  └─ 📄preprocessed_debate_scripts.json
│     └─ 3.유튜브 댓글
│        ├─ 📄harris_youtube_comment_filtered_for_llm_10000.jsonl
│        ├─ 📄harris_youtube_comment_filtered_for_llm_18000.jsonl
│        ├─ 📄trump_youtube_comment_filtered_for_llm_10000.jsonl
│        └─ 📄trump_youtube_comment_filtered_for_llm_18000.jsonl
│
├─ 🗂️3.Data_Analysis
│  ├─ 1.Data_Analyzer
│  │  ├─ 1.대선토론
│  │  │  └─ 💻debate_analyzer.ipynb
│  │  ├─ 2.뉴스
│  │  │  └─ 💻news_analyzer.ipynb
│  │  ├─ 3.유튜브 댓글
│  │  │  ├─ llm기반 감성분석
│  │  │  │  ├─ 💻llm_sentiment_analysis_colab무료계정1+결과8500개.ipynb
│  │  │  │  ├─ 💻llm_sentiment_analysis_colab무료계정2+결과9000개.ipynb
│  │  │  │  └─ 💻llm_sentiment_analysis_colab무료계정3+결과2500개.ipynb
│  │  │  └─ vader기반 감성분석
│  │  │     └─ 💻vader_sentiment_analyzer.ipynb
│  │  └─ 4.통합데이터
│  │     └─ 💻word2vec.ipynb
│  └─ 2.Analyzed_Data
│     └─ 3.유튜브 댓글
│        ├─ llm기반 감성분석
│        │  ├─ 📄llm_sentiment_analysis.jsonl
│        │  └─ post-processing
│        │     ├─ 📄llm_sentiment_analysis_harris_time_series.json
│        │     ├─ 💻llm_sentiment_analysis_post_processor.ipynb
│        │     └─ 📄llm_sentiment_analysis_trump_time_series.json
│        └─ vader기반 감성분석
│           ├─ 📄vader_sentiment_analysis_harris.json
│           └─ 📄vader_sentiment_analysis_trump.json
│
├─ 🗂️4.Data_Predition
│  └─ 유튜브 댓글
│     ├─ AWS_Chronos
│     │  ├─ llm 기반 감성 지수
│     │  │  └─ 💻llm_sentiment_chronos_predictor.ipynb
│     │  └─ vader 기반 감성 지수
│     │     └─ 💻vader_sentiment_chronos_predictor.ipynb
│     └─ LSTM
│        ├─ llm 기반 감성 지수
│        │  └─ 💻llm_sentiment_lstm_predictor.ipynb
│        └─ vader 기반 감성 지수
│           └─ 💻vader_sentiment_lstm_predictor.ipynb
│
├─ LICENSE
├─ README.md
└─ 인공지능기초_기말발표_10조.pdf

유튜브 수집 코드 및 데이터는 아래 종류의 파일만 유효하다. 아래 형태는 유튜브 api를 사용하여 간편하게 수집한 형태이며(멘토님 감사합니다.) 이외의 파일은 직접 스크랩핑한 코드와 데이터이다. 시계열 분석에 특성상 주기가 일정하게 수집되어야 하므로 폐기하였다. 하지만 몇일간의 수고가 한순간에 날라가는것이 아쉬워 남겨두었음을 유념한다.

  • youtube_comment_api_crawler.ipynb (harris, trump)
  • youtube_comment.jsonl (harris, trump)

About

[인공지능기초] 텍스트 마이닝을 통한 2024 미국 대선 분석 🗽

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published