본문 바로가기
  • 내 손안 세상 보기 니 해피
IT

워드클라우드 생성 방법

by 니해피 2024. 6. 28.
반응형

워드클라우드는 텍스트 데이터를 시각적으로 표현하여 단어의 빈도나 중요도를 한 곳에 보여준다. 워드클라우드 생성을 위해 파이선의 'wordcloud'라이브러리를 사용해 보겠다. 'matplotlib'과 'pillow' 라이브러리도 필요하다.

 

다음은 파이썬을 사용하여 워드클라우드를 생성하는 단계이다.

 

1. 라이브러리 설치

pip install wordcloud matplotlib pillow

pip install wordcloud matplotlib pillow

 

2. 워드 클라우드 생성 코드 작성

from wordcloud import wordcloud

import matplotlib.pyplot as plt

 

#예시 텍스트 데이터

text =""" 빅데이터는 데이터의 규모, 속도, 다양성, 진실성, 가치등의 특성을 지닌 방대한 데이터를 의미한다. 이러한 데이터는 전통적인 데이터 처리 시스템으로는 처리가 어려우며 새로운 기술과 방법론이 필요하다. 빅데이터는 다양한 분야에서 혁신적인 변화를 이끌어 낼 수 있는 강력한 도구이다."""

 

#워드클라우드 생성

wordcloud = wordcloud(width=800, height=400, background_color='white').generate(text)

 

#워드클라우드시각화

plt.figure(figsize=(10,5))

plt.imshow(wordcloud, interpolation='bilinear')

plt.axis('off')

plt.show()

 

from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 예시 텍스트 데이터
text = """
빅데이터는 데이터의 규모, 속도, 다양성, 진실성, 가치 등의 특성을 지닌 방대한 데이터를 의미합니다.
이러한 데이터는 전통적인 데이터 처리 시스템으로는 처리하기 어려우며, 새로운 기술과 방법론이 필요합니다.
빅데이터는 다양한 분야에서 혁신적인 변화를 이끌어낼 수 있는 강력한 도구입니다.
"""

# 워드클라우드 생성
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)

# 워드클라우드 시각화
plt.figure(figsize=(10, 5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()

 

3. 코드설명

  1. 텍스트 데이터 준비 :
    분석할 텍스트 데이터를 문자열 형태로 준비한다.
  2. 워드클라우드 객체 생성 :
    `wordcloud` 객체를 생성하고, 원하는 설정을 지정한다. 예] `width`,`height`,`background_color`등을 설정
    `generate()` 메서드를 사용하여 텍스트 데이터에서 워드 클라우드를 생성한다.
  3. 워드클라우드 시각화 :
    `matplotlib`의 imshow()` 함수를 사용하여 워드클라우드를 시각화한다.
    `axis('off')`를 통해 축을 숨긴다.

 

위 방법으로 기본적인 워드클라우드를 생성할 수 있다. 워드클라우드를 커스터마이징 하거나 마스킹 이미지를 사용하는 등의 고급기능을 활용할 수 있다.

 

4. 마스킹 이미지를 사용한 워드클라우드 생성

마스킹 이미지를 사용하여 특정 모양의 워드클라우드를 생성하는 방법도 있다. 예를 들어 하트모양의 워드클라우드를 생성해 보자

  1. 마스킹 이미지 준비 :
    하트모양의 마스킹 이미지를 준비한다( 예 ;`heart.png`)
  2. 마스킹 이미지 로드 및 워드클라우드 생성 :

 

from wordcloud import WordCloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np

# 마스킹 이미지 로드
mask = np.array(Image.open('heart.png'))

# 워드클라우드 생성
wordcloud = WordCloud(width=800, height=800, background_color='white', mask=mask).generate(text)

# 워드클라우드 시각화
plt.figure(figsize=(10, 10))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()

 

워드클라우드
원형모양워드클라우드[배경=니해피DB]

 

마스킹 이미지를 사용하여 특정 모양의 워드클라우드를 생성할 수 있으므로 이 방법으로 다양한 모양과 스타일의 워드 클라우드를 만들 수 있다.

 

 

반응형

댓글