- 타이타닉 선형회귀 함수를 만들다 지쳐서 잠시 흥미로운 주제로 코딩을 했다.
- 카카오톡 대화내용을 워드클라우드(WordCloud)로! 라는 주제를 갖고 코딩을 했다.
[기본적인 순서]
1. 카카오톡 대화내용을 텍스트파일 (.txt)로 저장한다.
: 본인은 PC버전으로 바로 컴퓨터에 다운로드 받았지만, 폰으로 다운하여 메일을 통해 코딩을 하는 컴퓨터로 옮겨주기만 하면 된다.
2. 이번 코딩에서 사용한 모듈들을 불러오자.
- 사용하는 모듈 :
1. wordcloud : wordcloud를 생성할 수 있도록 해주는 모듈
2. konlpy : 한글분석을 도와주는 모듈
3. re : 정규표현식 모듈
4. jpype : konlpy를 호출하기 위해 필요한 모듈
5. matplotlib : 워드클라우드 이미지를 보여주기 위해 필요한 모듈
** Matplotlib는 한글을 지원하지 않는다. 따라서 한글이 깨지는 경우가 발생하므로 다음과 같은 코드를 복사해두고 코딩할때마다 모듈 import 시 같이 작성해주면 된다.
from matplotlib import font_manager, rc
font_name = font_manager.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name()
rc('font', family=font_name)
- 빨간색으로 표시한 부분은 폰트 경로이다. 사람마다 사용하는 폰트와 경로가 다를 것이니, 확인해서 본인의 폰트경로를 입력하도록 하자.
글꼴이 없다면, 네이버에서 무료로 제공하는 폰트를 아래 링크에서 다운하도록 하자.
https://hangeul.naver.com/2017/nanum
3. 카카오톡 텍스트 파일을 읽자.
: 이 부분에서도 그냥 open('kakaotalk.txt').read()를 입력하면 오류가 발생하는 경우도 있다(나는 그랬다.). 그럴 경우 위와 같이 입력하면 오류가 나지 않는다.
4. 대화내용의 Pre-Processing(전처리) 과정
: 위와 같이 대화내용을 불러와서, konlpy를 이용해 한글 분석을 하고 워드클라우드로 짠 하고 만들 수 있지만, 카카오톡 대화내용 내보내기를 통해
얻은 파일에는 불필요한 말들이 다소 많다.
: 카카오톡 대화 텍스트 파일을 살펴보면, 구성이
----------------------------날짜 -------------------------------------
[사람이름][시간] [대화내용]
이렇다.
우리가 필요한건 오로지 대화내용 뿐이므로 다른 불필요한 것들은 삭제할 필요가 있다.
이 삭제과정에서 우리는 re 모듈을 이용한다.
다음 포스팅에선 re모듈을 이용해 불필요한 내용들을 삭제하는 것을 포스팅 하도록 하겠다.
'Python > Projects' 카테고리의 다른 글
[Machine Learning][Titanic]- 타이타닉 데이터셋 분석 프로젝트- 1 (0) | 2019.08.23 |
---|