Skip to content

토픽 모델링을 위한 전처리

시각화를 위한 글꼴 설정

colab을 사용할 경우 시각화를 위한 한글 글꼴 설정을 먼저 해준다.

글꼴 설치

!apt install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf

글꼴 설치 후 런타임 다시 시작

글꼴 이름 찾기

from matplotlib import font_manager
for font in font_manager.fontManager.ttflist:
    if 'Nanum' in font.name:
        print(font.name, font.fname)

Nanum 계열의 글꼴 설정

import matplotlib.pyplot as plt
plt.rc('font', family='NanumGothic')
plt.rc('axes', unicode_minus=False)

문서 단어 행렬

설치

!pip install kiwipiepy

명사 추출 함수

import kiwipiepy
kiwi = kiwipiepy.Kiwi()
def extract_nouns(text):
    for token in kiwi.tokenize(text):
        if token.tag in {'NNG', 'NNP'}:
            yield token.form

데이터

import pandas as pd
df = pd.read_excel('patents.xlsx')

문서 단어 행렬

from sklearn.feature_extraction.text import CountVectorizer
cv = CountVectorizer(tokenizer=extract_nouns, min_df=10)
dtm = cv.fit_transform(df.abstract)

고빈도 단어 보기

word_count = pd.DataFrame({
    'word': cv.get_feature_names_out(),
    'count': dtm.sum(axis=0).flat
})

word_count.sort_values('count', ascending=False).head(20)