Python/Machine Learning

[Python ML]텍스트 마이닝 시각화(Text Mining_konlpy, word cloud)

sohyunkimmm 2023. 1. 30. 14:24
728x90

* 텍스트 마이닝 Text Mining

: 비/반정형 텍스트 데이터에서 자연어 처리(Natural Language Processing) 기술에 기반하여 유용한 정보를 추출, 가공하는 것을 목적으로 하는 기술

 

 

 

1. konlpy설치

 

 

2. 데이터 불러오기

- 문서 수집(Crawling): 뉴스 스크랩한 내용을 txt파일로 구글 드라이브에 업로드해서 불러옴

 

 

 

3. konlpy를 통해 한글 형태소 분석

- okt.pos(): 기사 안의 모든 단어의 품사를 붙여주는 함수

- n_adj 리스트에 명사(Noun), 형용사(Adjective) 단어만 추가시킴

 

 

 

4. stop words 설정

- 위에서 나온 단어들 중 의미가 없는 단어들 n_adj 리스트에서 제거

 

 

 

5. 단어별 빈도수 출력

 

 

6. 빈도수 시각화(Word Cloud)

- word cloud: 텍스트 데이터에서의 단어 등장 빈도수 시각화

- font: ttf폰트 불러오기

- background_color(배경색), max_font_size(글자 크기), colormap(제공되는 컬러맵 이름) 변경 가능

 

- plt.figure(figsize = (10, 8)): 10,8사이즈의 네모 안에 단어를 시각화 시키겠다

- plt.imshow(word_cloud): 무엇을 보여줄건지? ➡️ 'word_cloud'

- plt.axis("off"): 축 없음

 

(참고)matplotlib.figure

Figure(figsize=None, dpi=None, *, facecolor=None, edgecolor=None, linewidth=0.0, frameon=None, subplotpars=None, tight_layout=None, constrained_layout=None, layout=None, **kwargs)

(출처: https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure)

 

font = 맑은고딕, background_color = "black", max_font_size = 300, colormap = "prism"

 

font = 궁서, background_color = "white", max_font_size = 100, colormap = "cool"

 

font = 맑은고딕, background_color = "pink", max_font_size = 100, colormap = "Pastel1"

 

* Colormaps

출처: https://www.educba.com/colormap-in-matlab/

 

출처: https://jehyunlee.github.io/2020/03/01/Python-DS-4-matplotlib_colormap/

 

 

728x90
반응형