일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- secant
- 로지스틱 회귀
- Numerical optimization
- 선형판별분석
- 알고리즘
- Perceptron Convergence theorem
- falsePosition
- chapter02
- CH01
- 자바ORM표준JPA프로그래밍
- 델타 rule
- 알고리즘대회
- 스터디
- MySQL
- vector미분
- 1차예선
- 개발순서
- chapter01
- 근구하기
- bisection
- 선형분류
- 5397번
- 인공지능
- undirected graphical model
- graphical models
- SCPC
- 이것이 MySQL이다
- 2018
- directed graphical model
- Fisher discriminant analysis
- Today
- Total
computer_study
[ Word Cloud ] 파이썬으로 Word Cloud 사용하기 본문
1. Word Cloud란?
태그 클라우드(영어: tag cloud) 또는 워드 클라우드(word cloud)는 메타 데이터에서 얻어진 태그들을 분석하여 중요도나 인기도 등을 고려하여 시각적으로 늘어놓아 표시하는 것이다. 보통은 2차원의 표와 같은 형태로 태그들이 배치되며 이때 순서는 알파벳/가나다 순으로 배치된다. 시각적인 중요도를 강조를 위해 각 태그들은 그 중요도(혹은 인기도)에 따라 글자의 색상이나 굵기 등 형태가 변한다.
2. 개발 환경
사용 소프트웨어 : PyCharm CE
사용 언어 : Python 3.7.0
3. 필요 모듈 import
한글 Word Cloud를 사용하기 위해서 3개의 모듈을 가져온다.
from wordcloud import WordCloud
from konlpy.tag import Twitter
from collections import Counter
- wordcloud
파이썬에선 word cloud 모듈을 제공한다.(pypi.org/project/wordcloud/)
이 모듈을 사용하여 간편하게 word cloud를 사용할 수 있다.
pip install wordcloud
pip를 사용한다면 다음 명령어를 통해 설치할 수 있다.
- konlpy
konlpy 모듈을 통해 형태소를 분석할 수 있다.
설치 방법은 우분투, macOS, window 별로 다르다. (konlpy-ko.readthedocs.io/ko/v0.4.3/install/ 참고)
사용법은 https://konlpy.org/en/latest/에서 확인할 수 있다.
- collentions
컨테이너에 동일한 값의 자료가 몇 개인지를 파악하는 데 사용하는 모듈. (docs.python.org 참고)
4. 전체 코드
from wordcloud import WordCloud
from konlpy.tag import Twitter
from collections import Counter
# open으로 txt파일을 열고 read()를 이용하여 읽는다.
text = open('test.txt').read()
twitter = Twitter()
# twitter함수를 통해 읽어들인 내용의 형태소를 분석한다.
sentences_tag = []
sentences_tag = twitter.pos(text)
noun_adj_list = []
# tag가 명사이거나 형용사인 단어들만 noun_adj_list에 넣어준다.
for word, tag in sentences_tag:
if tag in ['Noun' , 'Adjective']:
noun_adj_list.append(word)
# 가장 많이 나온 단어부터 40개를 저장한다.
counts = Counter(noun_adj_list)
tags = counts.most_common(40)
# WordCloud를 생성한다.
# 한글을 분석하기위해 font를 한글로 지정해주어야 된다. macOS는 .otf , window는 .ttf 파일의 위치를
# 지정해준다. (ex. '/Font/GodoM.otf')
wc = WordCloud(font_path=[otf 파일의 위치],background_color="white", max_font_size=60)
cloud = wc.generate_from_frequencies(dict(tags))
# 생성된 WordCloud를 test.jpg로 보낸다.
cloud.to_file('test.jpg')
생성된 WordCloud를 파일로 생성하지 않고 화면에 띄우고 싶을 땐
import matplotlib.pyplot as plt
matplotlib 모듈을 import 후 코드의 마지막 cloud.to_file('test.jpg') 대신
plt.figure(figsize=(10, 8))
plt.axis('off')
plt.imshow(cloud)
plt.show()
이를 사용하여 화면에 출력할 수 있다.
5. 참고자료
위키백과: word cloud ko.wikipedia.org/wiki/태그_클라우드
태그 클라우드 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 태그 클라우드(영어: tag cloud) 또는 워드 클라우드(word cloud)는 메타 데이터에서 얻어진 태그들을 분석하여 중요도나 인기도 등을 고려하여 시각적으로 늘어 놓��
ko.wikipedia.org
collection 모듈 excelsior-cjh.tistory.com/94
collections 모듈 - Counter
collections.Counter() 컨테이너에 동일한 값의 자료가 몇개인지를 파악하는데 사용하는 객체이다. docs.python.org에서 Counter함수에 대해 자세히 알아볼 수 있다. A Counter is a dict subclass for counting h..
excelsior-cjh.tistory.com
wordcloud 사용법 :myjamong.tistory.com/48
[Python] 파이썬 간단한 워드클라우드 생성 :: 마이자몽
네이버 뉴스 워드클라우드 이전글에서 작성했던 네이버 뉴스 제목크롤링한 내용을 이용해서 형태소분석을 하여 간단한 워드 클라우드를 만들려고한다. 주요 모듈 -BeautifulSoup : 크롤링 -requests :
myjamong.tistory.com
'기타' 카테고리의 다른 글
[크롤링] python 사용하여 플레이스토어 리뷰 크롤링하기(selenium) (0) | 2021.07.26 |
---|