데이터 출처 : www.kaggle.com/datatattle/covid-19-nlp-text-classification
Coronavirus tweets NLP - Text Classification
Corona Virus Tagged Data
www.kaggle.com
github 주소 : github.com/sangHa0411/DataScience/blob/main/Corona_Tweets.ipynb
sangHa0411/DataScience
Contribute to sangHa0411/DataScience development by creating an account on GitHub.
github.com
Part2에서는 Deep Learning에 입력으로 넣기 이전에 노이즈가 상당히 많은 Text인 Tweet Text를 전처리 해보고 전처리 된 Text를 이용해서 Wordcloud로 만들어 보겠습니다.
먼저 Tweet 데이터를 하나 골라서 확인해보곘습니다.
https:// 등의 url이 있는 것을 확인할 수 있고 #mania 등의 hashtag등도 있는 것을 확인할 수 있습니다.
여기서 정규표현식을 이용해서 Text를 전처리 해보도록 하겠습니다.
순서는 다음과 같습니다.
먼저 https:// 등의 url 를 먼저 제거합니다.
그리고 #hashtag 등을 제거합니다.
그리고 hasn't 에서와 같이 '를 제거합니다.
그리고 알파벳을 제외한 특수문자를 모두 제거합니다.
이렇게 제거하면서 생긴 공백이 여러개 있으면 이를 1개의 공백으로 줄여줍니다.
이제 이를 하나의 함수로 정의합니다.
여기서 추후에 훈련시킬 LSTM의 성능을 증가시키기 위해서 Extremely Negative 와 Negative 그리고 Extremely Positive 와 Positive 데이터를 합칩니다.
이제 분할된 데이터의 Text를 전처리해보겠습니다.
이제 각 감정별로 전처리 된 텍스트의 길이에 대해서 Histogram을 만들어보겠습니다.
Part1에서 확인해보았듯이 Neutral에서 보다 감정이 있는 경우 Clean Text의 길이가 상당히 긴 것을 확인할 수 있습니다.
이제 여기서 Clean Text의 길이가 10이하 인 것 감정 분석을 파악하기 힘들다고 생각해서 해당된 데이터를 모두 삭제합니다.
이제 각 감정별로 Wordcloud를 만들어보았습니다.
Supermarket , people 등 평범한 단어가 많이 있는 것을 확인할 수 있습니다.
다음은 Negative 데이터의 WordCloud입니다.
간간히 risk , panic , crisis , virus 등과 같은 단어를 확인할 수 있습니다.
다음은 Positive 데이터에 대한 WordCloud입니다.
help , thank 및 good과 같은 단어가 있는 것을 확인할 수 있습니다.
Part3에서는 전처리된 데이터를 바탕으로 해서 LSTM을 학습시키고 이를 이용해서 코로나 관련 트위터의 감정 분석을 해보도록 하겠습니다.
'Deep Learning' 카테고리의 다른 글
Deep Learning - CNN을 이용한 Face Expression 파악하기 Part1 (0) | 2020.10.19 |
---|---|
Deep Learning - Corona Tweets 분석하기 Part3 : 트위터 감정 분석하는 LSTM 기반 모델 만들기 (0) | 2020.10.19 |
Deep Learning - Corona Tweets 분석하기 Part1 : 데이터 분석하기 (0) | 2020.10.19 |
Deep Learning - LSTM을 이용한 애플의 주식 값 예측하기 (0) | 2020.10.19 |
Deep Learning - GloVe Embedding Layer을 이용한 Fake News 구별하기 Part2 (0) | 2020.10.10 |