채용공고 워드클라우드

nocarrotrabbit·2022년 4월 28일
0

공고 시각화


코드


# 워드클라우드 IMPORT

import matplotlib.pyplot as mpl # 시각화
from konlpy.tag import Okt # 형태소분석기 : Openkoreatext
from collections import Counter # 빈도 수 세기
from wordcloud import WordCloud, STOPWORDS # wordcloud 만들기

# 한글폰트 설정 
mpl.rcParams['font.family'] = 'Malgun Gothic'
mpl.rcParams['font.size'] = 20
mpl.rcParams['axes.unicode_minus'] = False    # 마이너스 깨짐 방지

# 텍스트 불러오기 (채용공고를 txt 파일로 저장)
text = open('word.txt', encoding='utf-8-sig').read()

# 형태소 분석기를 통해 명사만 추출하는 함수
def token_konlpy(text):
    okt=Okt()
    return [word for word in okt.nouns(text) if len(word)>1] # 1글자 명사는 제외    

noun = token_konlpy(text)
len(noun)

noun_set = set(noun) # 중복값 제거
                    # stopwords 변수 만들어서, 차집합으로 빼기 
len(noun_set)

# 텍스트 파일로 저장
f = open('noun_set.txt','w', encoding='utf-8')
f.write(str(noun_set))
f.close()
# 추출된 명사들의 빈도수 카운트 
count = Counter(noun)

# 회사, 업종, 업무 지칭하는 단어 제외
count.pop('골든플래닛')
count.pop('지원')
count.pop('기업')
count.pop('운영')
count.pop('직원')

len(count)

# 빈도수 상위 10개 까지 딕셔너리 형태로 자료 변환 {'noun':'key'}
word = dict(count.most_common(15))

#wordcloud 만들기
wc = WordCloud(max_font_size=200, font_path = 'C:\Windows\Fonts\malgun.ttf',background_color="white",width=2000, height=500).generate_from_frequencies(word) # font 경로 개별적으로 설정해야함

mpl.figure(figsize = (40,40))
mpl.imshow(wc)
mpl.tight_layout(pad=0)
mpl.axis('off')
mpl.show()

0개의 댓글