금융 뉴스 감성 분석 웹 시각화 프로젝트
금융 뉴스를 크롤링해서 긍정/부정/중립으로 분류해 시각적으로 보여주는 서비스입니다.
- 경제 분야 뉴스와 주식 종목 별 뉴스를 수집
- 금융 정보를 학습한 BERT 모델로 수집한 뉴스를 긍정, 부정, 중립으로 분류
- 긍정적인 뉴스와 부정적인 뉴스를 리스트로 제공
- 분류된 감성 비율 파이 차트로 시각화
- 분류된 뉴스들의 핵심 키워드를 워드 클라우드로 제공
- 기간 필터 설정 및 주식 종목별 검색 가능
- Python, Django, PostgreSQL, PyTorch, BERT
-
뉴스 수집
수집에는 beautifulSoup 라이브러리를 사용했습니다. 수집 URL은 아래와 같습니다.
-
감성 분류 모델
감성 분류를 위해 BERT 모델을 사용했습니다.
학습 데이터셋과 모델은 https://github.com/ukairia777/finance_sentiment_corpus 를 참고했습니다.
뉴스 본문을 문장 단위로 나누어 분류를 진행 본문의 문장들에서 가장 많이 나온 감성을 라벨링합니다.
-
wordcloud 생성
사용자가 기간을 설정해서 검색하면, 해당 기간 동안의 주요 키워드를 wordcloud로 보여줍니다.
기간을 설정하지 않을 경우 최근 일주일 동안의 주요 키워드를 출력합니다.
-
Django framework
MVT 패턴을 기반으로 Django와 BootStrap으로 웹을 구현했습니다.
로그인/회원가입 기능, 기간 필터 기능, 종목 검색 기능을 사용할 수 있습니다.
메인 페이지에는 긍정/부정 뉴스리스트, 파이차트, 워드클라우드를 보여줍니다.