BSA06_WordCloud.ipynb
패키지 호출
import matplotlib.pyplot as plt
import matplotlib
from wordcloud import WordCloud
## !pip install nltk, konlpy
import nltk
import konlpy
from konlpy.tag import Okt
## koNLPy의 형태소 분석기와 NLTK의 Text 클래스를 결합하여 NLTK 기능을 사용
from nltk import Text
import numpy as np
from PIL import Image
데이터 불러오기 및 한글 처리
독립선언 = open('독립선언서.txt',encoding='utf-8').read()
matplotlib.rcParams["font.family"] = 'NanumGothic'
폰트위치 = 'C:/Windows/Fonts/NanumGothic.ttf'
워드 클라우드 생성
독립선언구름 = WordCloud(font_path = 폰트위치).generate(독립선언)
plt.figure(figsize=(12,12))
plt.imshow(독립선언구름)
plt.axis("off")
plt.show()
형태소 분석
- 정규화(normalization) 처리 : .normalize()
- 어구추출(Phrase extraction) : .phrases()
- 형태소 분석 : .morphs()
- 형태소 분석(품사포함) : .pos()
- 명사추출 : .nouns()
okt = Okt()
# 명사추출
okt.nouns(독립선언[:40])
# 정규화
인사 ="안녕하세욬ㅋㅋㅋ 샤릉해"
print(okt.normalize(인사))
빅통분 = """이 강의에서는 Windows 10, 11 하에서 Apache에서 제공하는 다양한 빅데이터처리 툴(Hadoop, Spark, Kafka 등)을
설치하고 환경 설정하는 작업을 직접 수행하기 때문에 컴퓨터에 대한 사전 지식이 없는 경우 수강하기 어려움.
빅데이터의 특징인 3V와 같이 이 교과에서는 상당한 양과 다양한 내용을 빠르게 강의하기 때문에
강의를 수강하는데 필요한 통계 지식(회귀분석, 다변량분석 등)을 사전에 알고 있어야 함.
일부 R이나 scala도 사용하는 경우도 있으나 기본 프로그램 언어는 python이며 python에 대해 기본적인 내용은 알고 있어야 함.
모든 프로젝트는 개인별로 평가를 받으며 별도의 팀프로젝트 없음.
모든 프로그램은 직접 코딩해야 함(소스 코드는 워터마크가 숨겨진 이미지 형태로 제공).
"""
# 어구 추출
print(okt.phrases(빅통분))
# 형태소 분석
print(okt.morphs(빅통분))
# 형태소 분석(품사 포함)
print(okt.pos(빅통분))
# 명사 추출
print(okt.nouns(빅통분))
# 형태소 사용 빈도 확인
기미독립선언 = Text(okt.nouns(독립선언))
기미독립선언.plot(10)
plt.show()
# 기미독립선언.vocab()
형태소 분석 결과를 이용한 워드 클라우드 생성
독립선언구름 = WordCloud(font_path=폰트위치)
plt.figure(figsize=(13,13))
plt.imshow(독립선언구름.generate_from_frequencies(기미독립선언.vocab())) # image show
plt.axis("off")
plt.show()
한반도 모양으로 워드클라우드 생성
# R, G, B의 matrix 형태로 만듦
바탕그림 = np.array(Image.open("한반도기.jpg"))
# 바탕그림 확인
plt.figure(figsize=(13,11))
plt.imshow(바탕그림,cmap=plt.cm.gray,interpolation='bilinear')
plt.axis("off")
plt.show()
독립선언구름 = WordCloud(background_color="white", mask=바탕그림, font_path=폰트위치)
plt.figure(figsize=(13,13))
plt.imshow(독립선언구름.generate_from_frequencies(기미독립선언.vocab()))
plt.axis("off")
plt.show()
# 워드클라우드 이미지 파일로 저장
# plt.savefig("Korea.jpg")
'Statistics > BSA' 카테고리의 다른 글
230508 / BSA10. pyspark의 Natural Language Processing (0) | 2023.05.14 |
---|---|
230508 / BSA10. python에서 스팸 메일 분류 (0) | 2023.05.14 |
230501 / BSA09. pyspark에서 탐색적 데이터 분석 (EDA) (0) | 2023.05.03 |
230501 / BSA09. pandas에서 탐색적 데이터 분석 (EDA) (0) | 2023.05.03 |
230426 / BSA08. CO2 배출량 대시보드 시각화 (0) | 2023.05.03 |