ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [python] word cloud 만들기
    Word Cloud 2022. 8. 7. 21:39

     

    word cloud란?

    워드 클라우드(word cloud) 또는 태그 클라우드(tag cloud)라고 부르며
    단어의 빈도수 or 중요도 or 인기도에 따라 다르게(글자의 색상, 굵기 등) 시각화하는 것입니다.
    알파벳 또는 가나다 순서로 배치되며 
    사용자가 원하는 단어를 클릭하면 연결된 페이지로 이동하게 됩니다.

     

     

     

     

     

    먼저 터미널에 다음 명령어를 실행하여 word cloud를 설치해 줍니다.

    pip install wordcloud

     

     

     

     

     

     

     

     

    이제 코드를 작성해 볼까요 ?

    from wordcloud import WordCloud 
    import matplotlib.pyplot as plt # 데이터 시각화
    from collections import Counter # 텍스트,빈도수 추출
    from konlpy.tag import Okt # 한국어 처리 형태소 분석 패키지
    from PIL import Image # 그림 불러오는 패키지
    import numpy as np # 그림을 배열로 나타내어 처리할 수 있도록 도와주는 패키지

    먼저 필요한 모듈을 import해 줍니다.

     

     

     

     

     

    with open('C:/Users/user/Desktop/word_cloud/대한민국헌법.txt', 'r', encoding='utf-8') as f:
        text = f.read()

    한글 문서 파일을 읽어들여 text라는 변수 안에 넣어줍니다.

    (with open (,,,) as f를 이용하면 파일 입출력시 close()를 해주지 않아도 자동으로 닫힙니다.)

     

     

     

     

     

    okt = Okt() # 형태소 분석기 객체 생성
    nouns = okt.nouns(text) # 명사만 추출
    
    words = [n for n in nouns if len(n) > 1] # 단어의 길이가 1개인 것은 제외
    
    c = Counter(words)

    Counter()클래스를 이용하여
    words를 처리하면 
    딕셔너리 형태로 단어별 빈도수의 데이터를 얻을 수 있습니다.
    이 데이터 값을 변수 c에 넣어줍니다.

     

     

     

     

     

    img = Image.open('C:/Users/user/Desktop/cloud.png')
    img_array = np.array(img) # 이미지 픽셀 값 수치 변환

    원하는 이미지를 저장 후 열어줍니다.

    (배경이 흰색, 이미지부분이 검은색인 것)

     

     

     

     

     

     

    wc = WordCloud(font_path='C:/Window/Fonts/H2PIRL', width=400, height=400, scale=2.0, max_font_size=250, mask=img_array) # 한글 폰트 지정,
    gen = wc.generate_from_frequencies(c) # 빈도수에 따라 단어 크기 결정됨
    plt.figure()
    plt.imshow(gen)
    
    wc.to_file('law.png') # 파일로 추출

    컴퓨터에 있는 한글 폰트 경로와 폰트 크기, 이미지 크기 등의 값을 입력해줍니다.

    준비한 이미지를 사용하기 위해 mask값을 넣어 줍니다.

     

     

    폰트는 C → Window → Fonts 로 이동하여

    한글을 지원하는 폰트중 하나를 골라 우클릭 → 속성을 눌러보면

    이름을 확인할 수 있습니다.

     

     

     

     

     

     

     

     

     

    이제 완성된 코드를 실행하면 word cloud 완성!

     

     

     

     

     

     

     

     

     

     

    출처 : [시각화] 파이썬으로 한글 워드클라우드(Word Cloud) 생성하고 원하는 이미지 형태로 출력하기

    'Word Cloud' 카테고리의 다른 글

    [python]khaiii 설치하기  (0) 2022.08.11
    [python] word cloud - konlpy 설치하기(window, centos7)  (0) 2022.08.06
Designed by Tistory.