본문 바로가기

Code States AI

[PYTHON/파이썬] 워드 클라우드(Word Cloud)로 한글 데이터 시각화하기

 

자연어 처리 글에서 꼭 한 번씩 보이는 워드 클라우드(Word Cloud)

* 워드 클라우드 또는 태그 클라우드란 데이터의 중요도나 인기도를 고려하여 2차원으로 시각화한 것을 말한다(출처 위키백과).

 

프로젝트에서 한글 데이터를 다루면서 처음으로 사용해봤다. 우선 결과물부터 보자.

워드 클라우드 예시

사용한 데이터는 Korean HateSpeech Dataset으로 편견, 혐오 표현, 모욕에 대한 한국어 온라인 뉴스 댓글 데이터셋이다. 시각화에는 데이터셋 중에서도 Gender-related bias 특성이 True로 라벨링 된 데이터를 사용했다.

 

시각화

*모든 코드는 코랩 환경에서 실행했다.

 

사용한 데이터셋이 문장으로 되어 있었기 때문에, 시각화에 앞서 형태소 분석기로 명사만 추출했다. 형태소 분석기로는 Mecab을 사용했다. 

형태소 분석기 사용 전

true_data.head()

형태소 분석기 사용 후

word cloud생성에는 아래 코드를 사용했다.

 

from wordcloud import WordCloud

wordcloud = WordCloud(font_path='NanumBarunGothic')

# true label에 대한 word cloud 생성
wc_true = wordcloud.generate(' '.join(true_data['nouns']))    

plt.figure(figsize=(10, 10))
plt.imshow(wc_true, cmap=plt.cm.gray, interpolation='bilinear')
plt.axis("off")

plt.show()

 

출력 결과는 다음과 같다.

 

 

 

여기서 끝내면 약간 아쉬우니 맨 처음 이미지처럼 마스크도 추가해보자. 우선 마스크로 사용할 이미지를 준비해야한다. 이때 이미지의 배경이 흰색인지 꼭꼭 확인하자(이것 때문에 한참을 헤맸다).

speech-bubble.PNG

 

 

그리고 앞선 코드에서 마스크 관련 코드를 추가하면 끝. 배경색도 코드로 간단하게 바꿀 수 있다.

 

from wordcloud import WordCloud
from PIL import Image

bubble_mask = np.array(Image.open('/content/drive/MyDrive/project4/speech-bubble.PNG'))

wordcloud = WordCloud(font_path='NanumBarunGothic', 
                      mask=bubble_mask,
                      background_color='white')

# true label에 대한 word cloud 생성
wc_true = wordcloud.generate(' '.join(true_data['nouns']))    

plt.figure(figsize=(10, 10))
plt.imshow(wc_true, cmap=plt.cm.gray, interpolation='bilinear')
plt.axis("off")

 

 

최종 출력 결과


텍스트 데이터를 시각화할 때 자주 사용할 것 같다. 참고 자료는 아래 확인👇

 

워드 클라우드 깃허브

 

GitHub - amueller/word_cloud: A little word cloud generator in Python

A little word cloud generator in Python. Contribute to amueller/word_cloud development by creating an account on GitHub.

github.com

Korean HateSpeech Dataset 깃허브

 

GitHub - kocohub/korean-hate-speech: Korean HateSpeech Dataset

Korean HateSpeech Dataset. Contribute to kocohub/korean-hate-speech development by creating an account on GitHub.

github.com

코랩 한글 깨짐 해결법

 

구글 코랩(colab) 한글 깨짐 현상 해결방법

구글 코랩(colab) 한글 깨짐 현상 해결방법에 대해 알아보겠습니다.

teddylee777.github.io