주식 뉴스 분석 프로젝트 <news crawl><2>

프로젝트 개요 및 각 글들의 링크: https://namth.tistory.com/18

 

이전 단계에서 특정 주제에 대한 뉴스 제목들을 가져왔으므로 뉴스 제목을 분석하는 단계를 적으려고 한다.

사용한 모델은 https://github.com/ProsusAI/finBERT 을 사용하였다.

분석 결과로는 긍정, 부정, 중립의견 정도(실수 값)가 나온다.


 

분석 코드

 

 

https://github.com/ProsusAI/finBERT 저장소의 예측 코드를 바탕으로 작성했다.

모델에 입력으로 받은 문자열(뉴스 제목)을 넣고 결과 값을 파싱 하여 반환하는 코드이다.

 

내가 결과 값을 파싱한 결과는 아래 사진과 같다.

  • seentence: 입력한 문장
  • positive: 긍정적인 의견
  • negative: 부정적인 의견
  • neutral: 중립의견

 

 

예측에 필요한 모델, 기타 파일은 링크를 참조하여 가져오면 된다.

 

호출 코드

 

 

 

 

특정 주제 하나에 여러 개의 뉴스 제목이 나오므로, 하나씩 예측하는 게 아니라

하나의 cpu당 하나의 뉴스 제목 예측을 진행하기로 하고 위와 같이 작성하였다.

 

뉴스 제목을 작업에 편리하게 하기 위해 2차원 배열로 변환하고,

multiprocess 모듈의 pool을 사용하여서 각각의 cpu 개수만큼 프로세스를 실행했다.

 

각각의 결과를 받기 위해 배열을 선언하여 해당 배열을 각각의 실행 함수에 전달하여 결과를 배열에 넣어서 반환받았다.

 

 

# 2022.09.30 수정