형태소 분석
!pip install KoNLPy
# KoNLPy에는 kolaw(대한민국 헌법 텍스트 파일)를 제공
from konlpy.corpus import kolaw
kolaw.open('constitution.txt').read()
# KoNLPy에는 kobill(국회법안 파일)를 제공
from konlpy.corpus import kobill
kobill.open('1809892.txt').read()
KoNLPy에 다양한 형태소 분석 라이브러리
from konlpy.tag import *
# KoNLPy의 다양한 형태소 분석 라이브러리 객체를 생성
hannanum = Hannanum()
kkma = Kkma()
komoran = Komoran()
okt = Okt()
# 명사(nouns) 추출
law[:50]
hannanum.nouns(law[:50])
# ['대한민국헌법', '유구', '역사', '전통', '빛', '우리', '대한국민', '3·1운동', '건립', '대한민국임']
명사 뿐 아니라 모든 품사의 형태소를 반환
hannanum.morphs(law[:50])
#['대한민국헌법',
#'유구',
#'하',
#'ㄴ',
#'역사',
#'와',
# ..
norm = True
stem = True
- 원형 글자로 변경(기본값 False)
ex) 되나욬ㅋㅋ → 되다, ㅋㅋ
hannanum.pos(law[:50])
#[('대한민국헌법', 'N'),
#('유구', 'N'),
#('하', 'X'),
#('ㄴ', 'E'),
#('역사', 'N'),
# ..
부착되는 품사 태그의 기호와 의미를 반환
okt.tagset
#{'Adjective': '형용사',
#'Adverb': '부사',
#'Alpha': '알파벳',
#'Conjunction': '접속사',
# ..
워드 클라우드(Word Cloud)
!pip install wordcloud
from wordcloud import WordCloud
워드 클라우드에 표시되는 단어의 갯수를 설정
WordCloud(max_words=50).generate(text)
워드 클라우드로 작성할 단어에서 제외할 단어를 설정
from wordcloud import STOPWORDS
🌸 딕셔너리에 저장된 데이터는 generate_from_frequencies 메소드를 사용하여 워드 클라우드를 생성
WordCloud(
max_words=500,
background_color='ivory',
stopwords=stopwords, # 넣지 않을 글자
mask=alice_mask
).generate(text)
#).generate_from_frequencies(data) / 딕셔너리에 저장된 데이터일 경우
plt.figure(figsize=(10,15))
plt.imshow(wordcloud, interpolation='kaiser')
plt.axis('off')
plt.show()
folium
!pip install folium
import folium
# folium.Map(location=[위도, 경도], zoom_start=배율, ...)
# 지도의 중심이 될 위치
folium.Map(location=[37.5000425, 127.0359277], zoom_start=17)
map_folium.save('./map.html')
location 속성으로 지정한 위치에 마커를 생성
#folium.Marker(location=[위도,경도], popup=팝업).add_to(마커를 생성할 지도)
folium.Marker(location=[37.5000425, 127.0359277], popup=popup,
icon=folium.Icon(color='red', icon='star')).add_to(map_folium)
popup()
- 마커를 클릭했을 때 표시할 문자를 설정
folium.Popup('코리아IT아카데미', max_width=200)
icon
- icon: star, ok, user
folium.Icon(color='red', icon='star')
원의 범위를 마커로 생성
folium.CircleMarker(location=[37.56652479270633, 126.9779129116262], popup=popup,
radius=100, color='red', fill_color='#EC407A').add_to(map_folium)