반응형
이번에 Python으로 만든 워드클라우드는 띄어쓰기 포함, 18884개의 음절로 이루어져있는 대한민국 헌법 말뭉치를 활용했다.
완성한 워드클라우드는 아래와 같음!
워드클라우드를 만들 때 가장 오랜 시간이 걸렸던 것은... KoNLPy 라이브러리 설치였다.
왜 계속 설치가 안되는지...
아래의 블로그를 참고하여 해결함!
블로그 참고(https://m.blog.naver.com/kiddwannabe/221795961189) 1,2번 블로그 글 Jpype 설치 참고
작성한 소스코드는 아래와 같음!
from konlpy.tag import Okt #품사 태깅 클래스 중 Twitter 불러오기 / https://konlpy.org/ko/latest/morph/#comparison-between-pos-tagging-classes 참고
from konlpy.corpus import kolaw #말뭉치 중 kolaw
from collections import Counter #개수 일종의 dic 형태로 세기
from wordcloud import WordCloud #워드 클라우드 이미지 만들기
import matplotlib.pyplot as plt #만들어진 이미지 보이기
sample_text = kolaw.open('constitution.txt').read() #말뭉치 kolaw 활용하기
tagging = Okt() #Okt 품사 태깅 클래스 활용
noun = tagging.nouns(sample_text) #명사 출력
count = Counter(noun) #명사별 개수 출력
wordcloud = WordCloud(font_path="C:\Windows\Fonts\HMFMOLD.TTF",
max_font_size=200,
background_color="#FFFFFF",
width = 800, height = 800)
#font_path : 한글 폰트 위치 잡기
#max_font_size : 가장 큰 폰트 크기
#background_color : 배경색 설정
#width, heigth : 가로 새로 크기 조정
#stopwords : 리스트 형태로 된 불용어(인터넷 검색 시 검색 용어로 사용하지 않는 단어) 설정
#stopwords 만들때 Tip
#stopwords = "아 이 우 에 오"
#stopwrods = set(stopwords.split(" ")) # set을 활용해 { } 형태로 바꾸기
result = wordcloud.generate_from_frequencies(count) #워드클라우드 이미지 만들기
plt.figure(figsize=(20, 20)) # 크기 조정이 이미지 그리기 전에 있으면 안됨
plt.imshow(result) #이미지 보이기
plt.axis('off') #x, y축 없애기
plt.tight_layout() #이미지 크기 딱 맞게 조정
plt.show() #이미지 보이기
plt.savefig("first_word.png") #first_word.png 로 이미지 저장
다음번에는 웹스크래핑과 연계하여 그날그날의 인터넷 뉴스 헤드라인 워드클라우드도 만들어봐야겠음!!
반응형
'데이터 분석' 카테고리의 다른 글
워드클라우드 생성 프로그램 만들기(1/?) (0) | 2022.03.08 |
---|---|
2017-2020 년 서울 모기지수 평균 그래프 (2) | 2022.03.06 |
2020년 서울 주거지, 수변부, 공원 모기지수 그래프로 나타내기 (2) | 2022.02.28 |
matplotlib 그래프 이미지가 잘린 상태로 저장될 때 (2) | 2022.02.23 |
2021학년도 전국 초등학교 전출입 학생 수 평균 그래프 (0) | 2022.02.22 |
댓글