[python] 텍스트 마이닝으로 키워드 뽑아보기 (with. Colab)

CHOI CHOI·2024년 1월 6일
0

파이썬 중급

목록 보기
13/30

colab에서 데이터 분석을 하다가 텍스트 마이닝을 해보고 싶은 데이터가 있길래 구글링을 해서 도전해 봤지만, 코랩에서는 지원하지 않는 라이브러리가 꽤나 있어서 미래의 나를 위해 코랩에서는 텍스터 마이닝을 어떤 라이브러리를 사용해서 진행하는지기록으로 남겨보려고 한다.

텍스트 마이닝

비정형 데이터 마이닝의 유형 중 하나이다. 
텍스트마이닝은 비정형 및 반정형 데이터에 대하여 
자연어 처리 기술과 문서 처리 기술을 적용하여 
유용한 정보를 추출, 가공하는 목적으로 한다

분석에 들어가기 전 필요한 라이브러리 import

import pandas as pd
import matplotlib.pyplot as plt
from krwordrank.word import KRWordRank
import numpy as np
import matplotlib as mpl
import matplotlib.font_manager as fm

각 모듈을 설명하자면

  • pandas (import pandas as pd): pandas는 데이터 분석의 필수 도구로, 표 형태의 데이터를 손쉽게 다룰 수 있습니다. DataFrame이라는 자료 구조는 데이터를 다양한 방식으로 조작하고 분석하는 데 탁월한 편리함을 제공합니다.

  • matplotlib (import matplotlib.pyplot as plt): matplotlib은 데이터 시각화에 널리 사용되는 라이브러리로, 다양한 그래픽을 쉽게 그릴 수 있어요. pyplot 모듈은 그래프를 그리는 데 매우 편리하며, 결과물을 명확하게 시각화할 수 있습니다.

  • krwordrank (from krwordrank.word import KRWordRank): KR-WordRank는 한국어 텍스트에서 키워드를 추출하는 데 특히 유용한 도구입니다. 한국어에 특화되어 있어 단어의 중요도를 식별하고 효과적으로 키워드를 추출할 수 있어요. 한국어 텍스트 분석에 필요한 경우 꼭 한 번 사용해보세요!


텍스트 마이닝 시작

텍스트 마이닝으로 키워드를 추출

pref = (텍스트데이터)  # 텍스트테이터 변수로 지정해준다
keywords, rank, graph = wordrank_extractor.extract(pref) 
stopwords = {'있다.','싶은','작가의','아니','이야기','그리고','있는','된다.','있을','위한','되어','대상','위해','같은','되는'}
passwords = {word:score for word, score in sorted(keywords.items(),key = lambda x:-x[1])[:100] if not (word in stopwords)}
# stopwords는 제외된 keywords 상위 300개

추출한 데이터로 워드크라우드 시각화

from wordcloud import WordCloud
from wordcloud import ImageColorGenerator

wc = WordCloud(font_path=fontpath, width = 1000, height = 1000, scale = 3.0, max_font_size = 250)
gen = wc.generate_from_frequencies(passwords)
plt.figure(figsize = (10, 10))
plt.gca().axes.xaxis.set_visible(False)
plt.gca().axes.yaxis.set_visible(False)
plt.imshow(gen)


이런 결과물이 나온다면 성공!!

profile
뭐가 됐든 데이터분석가

0개의 댓글