바로가기 메뉴
주메뉴 바로가기
  • 로그인
  • KHU Home
  • 발전기금
  • 인포21
  • Webmail
배너1 배너1

인문·사회과학의
미래

인문·사회과학 데이터 연구소 (HUMANITY & SOCIAL DATA INSTITUTE, HSSDI)

2026.0408

네이버 뉴스 감성분석 앱 소개 AI 기반 뉴스 자동 수집·분석·시각화 시스템 경희대학교 인문·사회과학 데이터연구소 Humanity & Social Science Data Institute (HSSDI), Kyung Hee University   메인 앱 http://159.223.41.56/       앱 개요 이 앱은 네이버 헤드라인 뉴스를 자동으로 수집하고, 감성을 분석하여, 그 결과를 웹 대시보드에서 시각적으로 확인할 수 있게 해주는 시스템입니다.   작동 원리 (3단계) 이 시스템은 크게 3단계로 작동합니다.   1단계 데이터 수집 (크롤링) 매일 5회 자동 수집 (오전 9시·낮 12시·오후 3시·6시·밤 10시) 클라우드 서버 2대에서 이중 수집 (한 서버 장애 시 다른 서버가 백업) 수집 항목: 뉴스 제목·요약·언론사·섹션 (일 1,500~2,000건) JSON·Excel 파일 저장 및 PostgreSQL DB 저장 (중복 자동 제거)   2단계 데이터 분석 매일 새벽 3시(KST) 자동 실행 — 전날 수집 뉴스 분석 AI(Google Gemini)가 유사 기사를 '이슈' 단위로 그룹화 각 이슈에 대해 산출:   · 이슈 제목 생성   · 관련 키워드 추출 (인물·기관)   · 감성 수준 판단 (매우부정적 ~ 매우긍정적)   · 감성 지수 계산 (−5 ~ +5) 결과 저장: JSON 파일·Excel 파일 (날짜별 ANALYSIS 폴더)   3단계 결과 시각화 및 대시보드 분석 결과를 웹 브라우저에서 언제든지 확인 별도 프로그램 설치 없이 브라우저에서 바로 접속 표·그래프·차트로 시각화하여 제공 상세 시각화 및 Excel 다운로드 기능 제공 에이전트 기반 분석 파이프라인 이 시스템의 핵심은 단순한 키워드 집계나 규칙 기반 분류를 넘어, LangChain과 LangGraph 프레임워크를 기반으로 설계된 멀티 에이전트 워크플로에 있습니다. 전통적인 AI 시스템이 하나의 모델에 단일 입력–출력(one-shot) 방식으로 의존하는 것과 달리, 이 시스템은 각기 전문화된 5개의 에이전트가 그래프 구조로 연결되어 분석 작업을 단계별로 분담합니다. 이 접근 방식은 복잡한 작업을 모듈화·병렬화하여 분석의 정확성과 확장성을 동시에 확보합니다. LangGraph StateGraph — 상태 기반 파이프라인 LangGraph의 StateGraph는 각 에이전트가 공유 상태 객체(NewsAnalysisState)를 통해 중간 결과를 주고받도록 설계됩니다. 이 구조는 단방향 DAG를 넘어 순환(Cyclic) 실행을 지원하여, LLM 결과가 불충분할 경우 특정 노드를 반복 호출하는 자기 수정(self-correcting) 흐름이 가능합니다. 각 단계의 상태는 Checkpointer를 통해 자동 저장되며, 실패 시 해당 지점부터 재실행할 수 있어 시스템 신뢰성을 높입니다.   5단계 분석 에이전트 구성   1단계 collect_news 뉴스 수집 JSON 파일 로드 및 시간대 필터링 클러스터 단위 통합 — 유사 기사 그룹화 출력: raw_data (수집 원본 클러스터 목록)   2단계 enrich_content 콘텐츠 최적화 클러스터당 상위 10개 기사 선별 본문 1,000자 제한으로 LLM 토큰 비용 절감 출력: enriched_clusters (정제된 클러스터)   3단계 analyze_sentiment 감성 분석 LLM 호출 — 이슈 제목·요약 자동 생성 6단계 감성 분류: 매우부정(−2) · 부정(−1) · 중립(0) · 양면적(0) · 긍정(+1) · 매우긍정(+2) JSON 구조화 출력 (level / score / reasoning) 출력: issue_analyses   4단계 extract_entities 개체명 추출 LLM 기반 주요 인물·기관명 자동 추출 정규화 처리 및 빈도 기반 중복 제거 출력: entity_extractions   5단계 generate_report 보고서 생성 전 단계 결과 통합 및 통계 계산 JSON / Excel 형식 파일 생성 출력: json_result (최종 분석 보고서)   LLM 기반 감성 분류 및 개체명 추출 감성 분석 에이전트(analyze_sentiment)는 LLM을 호출하여 각 뉴스 클러스터에 대해 이슈 제목과 요약, 그리고 6단계 감성 점수를 JSON 구조화 형식으로 산출합니다. 단순한 긍정/부정 이분법이 아니라 '양면적(0)' 범주를 별도로 설정하여 복잡한 사회적 이슈를 보다 정밀하게 포착합니다. 개체명 추출 에이전트(extract_entities)는 동일 클러스터 내 기사에서 주요 인물·기관을 자동 식별하고 정규화하여, 단순 빈도 집계를 넘어 이슈 중심의 관계 파악을 지원합니다.   주요 기술 스택   패키지 / 프레임워크 역할 LangChain / LangGraph 에이전트 오케스트레이션 · StateGraph 기반 워크플로 관리 LLM (Gemini API) 감성 분석 · 이슈 제목 생성 · 개체명 추출 (JSON 구조화 출력) PostgreSQL 분석 결과 구조화 저장 · URL 기반 중복 자동 제거 Python Reflex React 기반 반응형 웹 대시보드 Matplotlib / Seaborn 6종 인터랙티브 시각화 그래프 생성 Cron 수집 자동화 (하루 5회) · 분석 자동화 (하루 1회) Python 3.10+ 데이터 수집부터 시각화까지 전 과정 통합   앱 사용법 날짜 선택 분석 결과를 보고 싶은 날짜를 아래 3가지 방법으로 선택할 수 있습니다. ·         단일 날짜: 특정 하루의 결과만 보고 싶을 때 (예: 2026-03-22) ·         날짜 범위: 시작일~종료일 기간 조회 (예: 2026-03-17 ~ 2026-03-22, 6일간) ·         다중 선택: 원하는 날짜들만 선택 (예: 3/17, 3/19, 3/22) 추가 기능 — '어제' 버튼 (어제 날짜 자동 선택), '지난 주' 버튼 (최근 7일 자동 선택), 월별 필터 (특정 월 날짜만 표시) 섹션 선택 뉴스 카테고리를 선택합니다. 여러 개를 동시에 선택할 수 있습니다. ·         선택 가능: 정치 / 경제 / 사회 / 생활문화 / IT과학 / 세계 ·         '전체 선택' 버튼으로 모든 섹션 한 번에 선택, '전체 해제' 버튼으로 초기화 분석 시작 날짜와 섹션을 선택한 후 '분석 시작' 버튼을 누르면 선택한 조건에 맞는 분석 결과를 불러옵니다. 결과 표 보기 '섹션별 TOP5 이슈' 테이블에서 아래 항목을 확인할 수 있습니다.   항목 내용 섹션 뉴스 카테고리 (정치, 경제, 사회, 생활문화, IT과학, 세계) 날짜 해당 이슈의 수집 날짜 기사수 이슈에 포함된 관련 기사 개수 이슈제목 AI가 생성한 이슈의 요약 제목 키워드(인물) 관련된 주요 인물 이름 키워드(기관) 관련된 주요 기관·단체 이름 감성수준 매우긍정적 / 긍정적 / 양면적 / 중립 / 부정적 / 매우부정적 감성지수 −5 ~ +5  (양수: 긍정 / 음수: 부정 / 0: 중립)   그래프 보기 '상세 시각화 보기' 버튼을 누르면 다음 6가지 그래프를 인터랙티브하게 확인할 수 있습니다. ·         ① 타임라인 (선그래프): 기간별 섹션별 감성지수 변화 추이 ·         ② 막대 차트: 섹션별 평균 감성지수 비교 ·         ③ 산점도: 클러스터별 감성지수 분포 패턴 ·         ④ 파이 차트 (섹션별): 각 섹션의 감성 분포 비율 ·         ⑤ 히트맵: 섹션별 × 감성수준별 2차원 분포 ·         ⑥ 스택 바 차트: 날짜별 감성 분포 누적 시각화                               ▼ 시각화 예시 (2026년 3월 23일 기준)   ① 타임라인 (선그래프)   ② 막대 차트   ③ 산점도   ④ 파이 차트 (섹션별)   ⑤ 히트맵   ⑥ 스택 바 차트 데이터 다운로드 ·         Excel 다운로드: 'Excel 다운로드' 버튼 — 선택한 조건의 분석 결과(표·통계)를 Excel 파일로 다운로드 ·         그래프 다운로드: '전체 그래프 다운로드' 버튼 — 모든 그래프 이미지를 한 번에 다운로드   데이터 현황   수집 기간 2025년 10월 ~ 현재 (약 6개월간 운영 중) 일일 수집량 약 1,500 ~ 2,000개 기사 (하루 5회) 분석 섹션 6개 — 정치 / 경제 / 사회 / 생활문화 / IT과학 / 세계 일일 이슈 수 평균 150 ~ 200개 감성 분류 6단계 — 매우긍정적 / 긍정적 / 양면적 / 중립 / 부정적 / 매우부정적   활용 방안 이 앱을 통해 다음과 같은 인사이트를 얻을 수 있습니다. ·         일일 뉴스 트렌드 파악: 오늘 어떤 이슈가 주요 관심사인가? ·         감성 흐름 분석: 특정 이슈에 대한 여론의 긍정/부정 흐름 및 시간에 따른 감성 변화 ·         섹션별 비교: 어느 분야의 뉴스가 가장 긍정적·부정적인가? ·         주요 인물/기관 추적: 특정 인물·기관이 언급된 이슈와 그에 대한 여론 감성 ·         연구 데이터 활용: 뉴스 감성 변화 추이 연구, 사회 이슈 트렌드 분석, 여론 동향 파악   문의 ·         개발 및 관리: 경희대학교 인문·사회과학 데이터연구소 (HSSDI) ·         기술 스택: Python, Reflex, Nginx, Granian, PostgreSQL, Google Gemini
학사

메인비주얼

POPUP ZONE