안녕하세요.
파이썬을 열심히 공부하고 있는 db 엔지니어입니다.
이번 포스팅에서는
어떤 텍스트 파일 안에서 명사만 찾아 그 빈도를 카운트해보는 소스를 함께 공부해 볼 거예요.
이걸 이용해서 우리가 흔하게 보던 시각화 툴인 WordCloud를 이용해서
요런 거 만들 수 있습니다.
이 포스팅에서는 WordCloud 까지는 안 하고,
(이건 다음에 포스팅하겠습니다.)
일단 명사를 추출해서 빈도를 카운트하는데 까지만
해보도록 하겠습니다.
이것만으로도 데이터를 분석하는데 다방면으로 꽤나 유용하게 쓸 수 있습니다.
바로 시작할게요!!
f = open("E:/test_comments.txt", "r")
lines = f.read()
일단, 분석을 할 문장이 들어 있는 데이터를. txt로 저장하고, 이 파일을 읽어 옵니다.
from konlpy.tag import Twitter
nlpy = Twitter()
nouns = nlpy.nouns(lines)
print(nouns)
텍스트 데이터를 분석하는 데 있어서
konlpy(코엔 엘 파이) 라이브러리 패키지를 쓸 겁니다.
여기서 전 twitter 클래스를 사용할 건데요..
이걸 이용해서 명사만을 뽑아내었습니다.
konlpy안에도 보면 여러 가지 클래스가 많이 있습니다.
kkma, komoran, hannanum, twitter, mecab 등..
konlpy의 더 디테일한 사용법은 아래 링크를 참조해 주세요!
from collections import Counter
count = Counter(nouns)
tag_count = []
tags = []
for n, c in count.most_common(100):
dics = {'tag': n, 'count': c}
if len(dics['tag']) >= 2 and len(tags) <= 49:
tag_count.append(dics)
tags.append(dics['tag'])
자, konlpy로 한국어 정보처리를 마친 정보들, 그중에서도 명사만 추출을 했죠.
그럼, 그 데이터를 Counter 라이브러리를 사용해서 세어 봅니다.
뭐가 몇 번 나왔고, 몇번 나왔고... 이렇게요!
그렇게 해서 빈도수가 높은 상위 50개를 찾아냅니다!
for tag in tag_count:
print(" {:<14}".format(tag['tag']), end='\t')
print("{}".format(tag['count']))
자 그럼 그것들을 프린터 해줘야겠죠.
위와 같이 프린터 해줍니다.
적당한 포맷을 적용해서 말이죠.
자, 이러면 오늘 하려던 건 다 했네요!
가지고 계신 텍스트 데이터로 한번 해보시고,
한국어 정보 처리할 때 많이 쓰이는 konlpy에 대해서도 한번 복습해보시기 바랍니다.
오늘은 여기까지.
문의는 댓글로 부탁드립니다!
감사합니다!
## [데이터분석] 캐글 타이타닉 따라하기1 바로가기
2019/12/26 - [DB엔지니어가 공부하는 python] - [python 데이터분석] 캐글 타이타닉 따라해보기 #1
## [데이터분석] 캐글 타이타닉 따라하기2 바로가기
2019/12/26 - [DB엔지니어가 공부하는 python] - [python 데이터분석] 캐글 타이타닉 따라해보기 #2
by.sTricky
'DB엔지니어가 공부하는 python' 카테고리의 다른 글
[python] jupyter notebook 에서 디버깅 (debug) 하기 #ipdb 명령어 (0) | 2020.01.03 |
---|---|
[python] 인터넷이 안되는곳에서 파이썬 패키지 설치하기! (pip download) (2) | 2020.01.03 |
[python 데이터분석] 캐글 타이타닉 따라해보기 #2 (1) | 2019.12.26 |
[python 데이터분석] 캐글 타이타닉 따라해보기 #1 (0) | 2019.12.26 |
[python] 기본이 되는 numpy (0) | 2019.12.26 |