본문 바로가기

Python/Projects

[파이썬][데이터분석] - 카카오톡 대화를 워드클라우드(WordCloud)로 [1]!

반응형

- 타이타닉 선형회귀 함수를 만들다 지쳐서 잠시 흥미로운 주제로 코딩을 했다.

- 카카오톡 대화내용을 워드클라우드(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모듈을 이용해 불필요한 내용들을 삭제하는 것을 포스팅 하도록 하겠다.

반응형