본문 바로가기
Python

[파이썬] Alexa 리뷰 실습: Word Cloud, STOPWORDS

by eyoo 2022. 5. 10.

리뷰로부터 인사이트를 얻고, 감성분석을 한다.

 

  • 데이터셋은 아마존의 알렉사 제품에 대한, 3000개의 리뷰로 되어있다.
  • 컬럼은 rating, date, variation(제품모델), verified_reviews, feedback
  • Dataset: www.kaggle.com/sid321axn/amazon-alexa-reviews

 

실습 1. 패키지 설치

 

프로젝트를 위해, 아나콘다 프롬프트를 실행하고, 다음을 인스톨 하세요.

conda install -c conda-forge wordcloud

 

 

실습 2. pandas로 파일 읽기 - 탭으로 되어 있는 tsv 파일 읽기

 

df = pd.read_csv('data/amazon_alexa.tsv',sep="\t")

# 혹은 read_table활용

 

 

실습 3. verified_reviews 컬럼의 내용이 어떤지 확인해 보세요

 

 

 

 

 

 

WORD CLOUD 사용하여, 유저들이 어떤 단어를 많이 사용하였는지 시각화 해보자.


실습 1. 먼저 WORD CLOUD 를 이용하기 위해서, verified_reviews 를 하나의 문자열로 만들겠습니다.

실습 1-1. verified_reviews 를 하나의 리스트로 만듭니다.

 

review_list = df['verified_reviews'].to_list()

 

 

실습 1-2. 위의 words 리스트를, " " (공백) 으로 합쳐서, 하나의 문자열로 만듭니다.

 

in:

reviews = ''.join(review_list)

out:

 

 

실습 2. WordCloud 를 이용하여, 화면에 많이 나온 단어들을 시각화 합니다.

 

in:

from wordcloud import WordCloud
wc = WordCloud(background_color='white')
wc.generate(reviews)

plt.figure(figsize=(10,10))
plt.imshow(wc)
plt.axis('off')
plt.show()

out:

# WordCloud 함수의 파라미터인 background_color에 white로 설정하여 배경색을 하얗게 만들었다.

# generate 함수를 사용하여 알렉사에 대한 리뷰로 word cloud를 만들었다.

# imshow에 qustn wc를 적용시켜 word cloud를 시각화하였다.

# axis를 off시켜 축을 없앴다.

 

 

word cloud속 Alexa라는 단어를 STOPWORDS를 통해 제외시키자

STOPWORDS(불용어)를 통해 word cloud에서 제외시키려는 단어를 설정할수있다.

 

from wordcloud import STOPWORDS
my_stopwords = STOPWORDS
my_stopwords.add('Alexa')

# wordcloud 라이브러리에서도 STOPWORDS(불용어) 기능을 제공한다.

# stop words로 Alexa가 추가되었다.

 

 

다시 word cloud를 나타내보자

 

in:

wc = WordCloud(background_color='white')

wc.generate(reviews)

plt.figure(figsize=(10,10))
plt.imshow(wc)
plt.axis('off')
plt.show()

out:

# 단어 Alexa가 사라진것을 볼수있다.

 

 

 

 

 

댓글