목차

마케팅 이야기

[cafe24 분석 3편] 쇼핑몰(이커머스) 리뷰 분석_워드클라우드

창이 2022. 12. 19.

목차

728x90
반응형

안녕하세요, 창이에요! 

이전 글에서, 처음 파이썬을 활용해보는 분들을 위해

colab 접속 방법과 세팅법을 알려드렸어요. 

2022.12.18 - [마케팅 이야기] - [cafe24 분석 2편] 쇼핑몰(이커머스) 리뷰 분석_파이썬 활용법

 

상기 경로를 이용하시면

쉽게 colab 활용법을 알아가실 수 있을 거에요! 

 

이번 포스팅에서는

실제 분석과 함께 어떻게 결과를 도출해내는지 만들어 볼 거에요. 

GOOGLE_DRIVE_PATH = '주소/' # 구글 드라이브에서 파일이 저장되어 있는경로 복사 마지막에 '/' 필수
df = pd.read_csv('CAFE24 쇼핑몰 댓글 분석.csv'); df
from google.colab import drive
drive.mount('/content/drive')

* colab에서 파일경로를 지정하는 코드

* pd.read_csv > 데이터를 읽어오는 코드 

from bs4 import BeautifulSoup
import re

* 웹 크롤링에 종종 활용되는 패키지 입니다. 

def extract_text(txt):
    soup = BeautifulSoup(txt, 'html.parser')
    cleaned_txt = soup.text # 태그 제거
    cleaned_txt = re.sub('\(.*\)', '', cleaned_txt) # 괄호 안의 단어 제거 
    return cleaned_txt
df['내용_전처리'] = df['내용'].map(extract_text)
okt = Okt()
df['게시물 작성일시'] = df['게시물 작성일시'].map(lambda date: datetime.strptime(date, '%Y-%m-%d %H:%M:%S'))
def draw_word_cloud(df, start_date, end_date, filename):
    start_date = datetime.strptime(start_date, '%Y-%m-%d')
    end_date = datetime.strptime(end_date, '%Y-%m-%d')

    query = df[(df['게시물 작성일시'] >= start_date) & (df['게시물 작성일시'] <= end_date)]
    
    df['내용_토큰'] = df['내용_전처리'].map(lambda x : okt.nouns(x)) # 전체 품사를 다 보고 싶다면 okt.morphs(x)
    word_list = sum(df['내용_토큰'], [])
    cnt = Counter(word_list)
    
    font_path = '/usr/share/fonts/truetype/nanum/NanumBarunGothicBold.ttf'
    wc = WordCloud(font_path = font_path, width=1280 , height=720, background_color="white")
    wc = wc.generate_from_frequencies(cnt)

    plt.figure(figsize=(16,9))
    plt.imshow(wc,interpolation='bilinear')
    plt.axis('off')
    plt.savefig(filename)
    plt.show()

* 다양한 리뷰 속에서 "명사"로 된 글자들만 추출했습니다. 

아무래도 리뷰 분석을 할 때 있어서 조사나 접두사, 접미어 등이 추출되어지면 

제대로 된 분석이 안되겠죠. 

 

가장 많이 나오는 단어를 분석하고 

그 단어를 활용하여 광고에 이용한다거나,

더 나은 판매를 위한 피드백 과정으로 수용할 수 있겠지요. 

draw_word_cloud(df, '2022-05-09', '2022-10-30', '20.11_21.01_한 달간 고객리뷰 분석.png')

[cafe24 분석 3편] 쇼핑몰(이커머스) 리뷰 분석_워드클라우드

우선적으로 결과 값들은 모자이크 처리를 해두었습니다.

여기서 더해서 

텍스트들의 긍, 부정을 분석해본다거나

단어들 간의 어떤 연관성이 있는지 연관성 분석을 진행한다거나

혹은, 저런 단어 중에서도 너무 당연하거나 잘못 나온 것 같은 단어들을 없앨 수 있으면 좋겠죠.

 

추후 이 방법에 대해서 공부 후

업로드하겠습니다. 

 

이번에 제가 준비한 포스팅은 여기까지 입니다.

다음 시리즈도 기대해주세요 :) 

728x90
반응형

댓글