# Final Project 야, 너도 화성 갈 수 있어 ###### tags: `News_to_corp` #관련주식추출 #뉴스 #주식 **자연어학당(NLP-final_project-06)** ***나요한, 백재형, 송민재, 이호영, 정찬미, 한진, 홍석진*** ## 프로젝트 소개 신규 투자자들이 많아지고 있는데 정보를 얻기가 쉽지 않다. 따라서 뉴스 기사와 연관된 기업을 추출하고자 함 매일 쏟아지는 뉴스에서 단타,장타등 주식에 투자하는 사람들은 실적발표, 사건사고, 제품 출시등을 통해 거래가 이루어진다. 이런 거래는 본 제품과 관련이 있는 회사의 주식이 상승하기도 하지만 관련주 또한 같이 상승하게 된다. 따라서 새로운 뉴스에 따른 빠른 관련주의 주식확인이 필요하다. ## 프로젝트 계획 및 모델링 주식투자자를 위해 오늘의 뉴스를 통해 관련된 종목을 찾아보자. ### 데이터 수집 및 전처리 #### DART - DART API (https://opendart.fss.or.kr/)-> XML / json - bs4 라이브러리로 parsing - 재무제표, 제품 등 표를 텍스트 형태로 parsing - email, url, 특수문자 등 제거 - 코스피, 코스닥 기업만 추출 - 효과 비교를 위해 context 기준으로 분리 #### 뉴스 기사 ##### 모델 학습 문서요약 텍스트 <신문기사> 30만건 https://aihub.or.kr/aidata/8054 ##### 주식관련 뉴스 네이버 검색 API (https://openapi.naver.com/v1/search/news.json) -> json 매일 8시부터 15시까지 1시간마다 dart 기업당 5개의 관련 뉴스를 받아와서 저장함 ### 뉴스 분류 모델 #### KoBERT - 위키피디아나 뉴스 등에서 수집한 수백만개의 한국어 문장으로 이루어진 corpus를 학습 - 한국어의 불규칙한 언어 변화의 특성을 반영하기 위해서 데이터 기반 토큰화 기법을 적용하여 기존 BERT 모델 대비 27%의 토큰만으로 MaskedLM predict, Next sentence predict accuracy에서 2.6%의 성능 향상을 이끌어냄 - 대량의 데이터를 빠른 시간에 학습하기 위해서 ring-reduce 기반 분산 학습 기술을 사용하여 10억 개 이상의 문장을 다수의 머신에서 빠르게 학습 ![](https://i.imgur.com/wY6lAUL.png) requirements.txt ``` pip install mxnet pip install gluonnlp pandas tqdm pip install sentencepiece pip install transformers==3.0.2 pip install torch pip install git+https://git@github.com/SKTBrain/KoBERT.git@master ``` - Hyperparameter ``` max_len = 200 batch_size = 64 warmup_ratio = 0.1 num_epochs = 5 max_grad_norm = 1 log_interval = 200 learning_rate = 5e-5 ``` ### 관련주 추출 모델 #### wordrank + BM25 - 뉴스에서 키워드를 뽑기 위해 [KR-WordRank](https://github.com/lovit/KR-WordRank)를 사용 #### NER + BM25 - 뉴스 -> 형태소분석(명사) -> BM25 (경제뉴스 + 필요 시 정치 기사 포함) #### Doc2Vec - 입력되는 뉴스 데이터와 DART 문서 간의 Embedding 유사도 비교 ### 지식 그래프 구축 ### Flask requirements.txt ``` flask=2.0.2 Flask-Migrate=3.1.0 Flask-SQLAlchemy=2.5.1 schedule=1.1.0 ``` ## 프로젝트 실행 ``` flask run ``` ## 프로젝트 구조 ### 최종 모델 #### Ensemble - 3개의 모델에서 각 10개의 기업순위를 뽑은 뒤 빈도수, 순위로 내림차순 정렬 ### 시스템 아키텍쳐 이미지 ### ## 검증 ## 프로젝트 결과 ### 영상 및 사진