본문 바로가기

논문/Code5

BERT (2) 저번에 BERT를 시도했는데 정확도가 너무 낮았던 문제가 있었다.그래서 추가적으로 알아보았고, finBERT를 알게되었다.원래 기존 BERT는 긍정, 부정 등 감성분석을 말한다. 근데 finBERT는 금융 즉, 경제를 위해 만들어진 모델이다. https://www.kaggle.com/code/nlpquant/finbert-ext FinBERT-EXTExplore and run machine learning code with Kaggle Notebooks | Using data from multiple data sourceswww.kaggle.com코드는 여기에 나오는 코드를 전부 가져다 썼다.여기서 나와 다른 점은 Sentences_50Agree 데이터를 쓰는 것이 아닌 Sentences_AllAgree.. 2023. 5. 24.
트위터 API 이 글은 트위터 데이터를 얻기 위한 나의 노력을 적어둔 것이다.(며칠동안의 고민과 노력이 아까워서...)결론부터 이야기 하자면 "트위터 데이터는 더이상 무료로 얻을 수 없다." 예전 논문 리뷰 2에서 트위터 데이터를 다룬 논문을 리뷰한 적이 있다.그때 블로그에는 추후 트위터 데이터로 시도를 해볼 것이라고만 적어두었는데사실 트위터 데이터로 이미 해보았다.그때 결과가 매우 좋지 못해서 코드를 올리지 못했었다.Date = pd.date_range(start='20160630', end='20200701')Date = Date.strftime('%Y-%m').unique()Date = list(Date)def tweet_collect(Date): query = "AAPL" start_day = Dat.. 2023. 5. 18.
Bert (1) 논문의 주요 포인트는 뉴스 감성분석이다.현재 NBC 뉴스와 NYT 뉴스를 NLTK와 TextBlob으로 감성분석해 생성한 점수를 변수로 사용하고 있다.분석 방법에 따라 점수가 다르고, 그에 따른 예측 결과도 달라지므로 여러가지 감성분석을 시도하려고 노력하고 있다.그 중 가장 욕심이 나고 주의깊게 보았던 것이 Bert이다.Bert는 transpormer 계열 중 하나로 구글에서 만든 사전훈련 모델이다.Bert에 대한 설명은https://wikidocs.net/115055 17-02 버트(Bidirectional Encoder Representations from Transformers, BERT)* 트랜스포머 챕터에 대한 사전 이해가 필요합니다. ![](https://wikidocs.net/images/p.. 2023. 5. 7.
Collect New york times news headlines using r API를 이용하면 news data를 쉽게 얻을 수 있다.New york times의 news는 API를 제공하므로 API를 이용해 headline과 그 외의 변수들을 수집하는 방법을 소개한다. 먼저, https://developer.nytimes.com 이 링크에 들어가 Get Started 부분을 클릭하면 데이터를 수집하는 방법을 소개하고 있다.이해하기 어렵다면 이 블로그 내용을 따라오면 된다. 1. 회원가입링크를 들어가보면 우측 상단에 sign in 이라는 부분을 찾아 클릭한다.그 후, Create an account 를 클릭한 후 계정을 생성하면 된다. 2. 로그인계정이 생성되었으면 계정을 생성한 email과 password를 이용하여 로그인을 한다. 3. key 생성로그인을 하면 우측 상단에 계.. 2023. 2. 1.
news data preprocessing code modification Python 코드를 R 코드로 변경한 후 교수님과 면담을 했다.고쳐야할 점은 두가지였다.1. for문을 되도록 사용하지 말 것2. 여러번 재사용을 하는 경우를 제외하고는 함수를 만들지말고 임의의 함수를 사용할 것    (수정 전)수집한 news data 중 날짜가 없거나 수집 날짜 기준에 맞지않은 경우 NA로 데이터를 변경하였고, 리스트 중 NA인 경우는 제거하는 코드를 생성하였다.k=1 for(i in 1:length(news_data)){ if(length(is.na(news_data[[k]]))==1 ){ if(is.na(news_data[[k]])){ news_data[[k]]=NULL }else{k=k+1} }else{k=k+1} } (수정 후)new.. 2023. 1. 15.