본문 바로가기

DB엔지니어가 공부하는 python

[python] 텍스트 파일에서 명사만 뽑아서 명사별 빈도 카운트 하기 konlypy

안녕하세요.

 

파이썬을 열심히 공부하고 있는 db 엔지니어입니다.

 

이번 포스팅에서는

 

어떤 텍스트 파일 안에서 명사만 찾아 그 빈도를 카운트해보는 소스를 함께 공부해 볼 거예요.

 

이걸 이용해서 우리가 흔하게 보던 시각화 툴인 WordCloud를 이용해서

 

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의 더 디테일한 사용법은 아래 링크를 참조해 주세요!

 

http://konlpy.org/ko/v0.4.3/

 

KoNLPy: 파이썬 한국어 NLP — KoNLPy 0.4.3 documentation

KoNLPy: 파이썬 한국어 NLP KoNLPy(“코엔엘파이”라고 읽습니다)는 한국어 정보처리를 위한 파이썬 패키지입니다. 설치법은 이 곳을 참고해주세요. NLP를 처음 시작하시는 분들은 시작하기 에서 가볍게 기본 지식을 습득할 수 있으며, KoNLPy의 사용법 가이드는 사용하기, 각 모듈의 상세사항은 API 문서에서 보실 수 있습니다. >>> from konlpy.tag import Kkma >>> from konlpy.utils import pprin

konlpy.org

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

 

[python 데이터분석] 캐글 타이타닉 따라해보기 #1

오늘부터는 캐글에서 진행했던 데이터 분석 대회 중 하나인 타이타닉을 따라 해 볼 거다. 아직 난 파린이닌깐... # 대회 링크는 : https://www.kaggle.com/c/2019-1st-ml-month-with-kakr/data 위 링크에 들어가서..

stricky.tistory.com

 

## [데이터분석] 캐글 타이타닉 따라하기2 바로가기

2019/12/26 - [DB엔지니어가 공부하는 python] - [python 데이터분석] 캐글 타이타닉 따라해보기 #2

 

[python 데이터분석] 캐글 타이타닉 따라해보기 #2

# 캐글 타이타닉 따라해보기 2탄 입니다. 아마 타이타닉 따라하기는 마지막 편이 될 것 같습니다. 전편 보기 : 2019/12/26 - [DB엔지니어가 공부하는 python] - [python] 캐글 타이타닉 따라해보기 #1 [python] 캐..

stricky.tistory.com

 

 

 

 

 

by.sTricky