불용어 제거, 문자 토큰화, 빈도수 생성 (Konlpy,counter)

Jaho·2022년 5월 18일
1

Python

목록 보기
18/18
post-custom-banner

문자 토큰화,불용어 제거

리뷰를 json형식으로 크롤링한 뒤 불러와 pandas형식으로 변형하여 불용어 제거와 문자 토큰화를 해보자

import pandas as pd
import json
from konlpy.tag import Okt
from collections import Counter
import re


with open('data/review_data.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

df = pd.json_normalize(data['review'])

# 정규식(불용어 담기)
stop_words = '치킨'   # 치킨 이라는 단어제거 (너무 많은 빈도수 차지)
okt = Okt() # 문자로 토큰화 하기위해 Konlpy 모듈의 Okt 사용

#불용어 제거
for i in range(len(df['reviews'])):
    df_re = re.sub(stop_words,'',str(df['reviews'][i])) # 형변환 하여 불용어 제거
    nouns = okt.nouns(df_re)    # 불용어 제거된 내용들로 토큰화
    nouns = [n for n in nouns if len(n) > 1]    # 2글자 이상의 단어만 추출
    df['reviews'][i] = nouns    # 매장 별로 단어를 담는다.

빈도수 생성

collection / Counter 모듈사용 빈도수 생성 (내림차순)


# 빈도수 생성
for j in range(len(df['reviews'])):
    counter = Counter(df['reviews'][j]) 
    df['reviews'][j] = sorted(counter, key=counter.get, reverse=True)
profile
개발 옹알이 부터
post-custom-banner

0개의 댓글