brunch

You can make anything
by writing

C.S.Lewis

by 박경아 Oct 24. 2024

[업그레이드] 챗GPT로 고객 리뷰 분석하기

감정분석에서 워드 클라우드 시각화까지

안녕하세요! 이번 글에서는 챗GPT를 활용해 고객 리뷰에 대한 감정 분석을 수행해 보려고 합니다. 약 1년 전에 챗GPT 창에서 고객리뷰를 감정분석하고 OpenAI API를 활용한 분석도 시도해 봤는데 이번에는 코드 인터프리터를 사용하여 텍스트 데이터를 더 편리하게 분석하고, 워드 클라우드로 시각화하는 과정까지 진행해 보겠습니다.


감정 분석(Sentiment Analysis)은 해당 텍스트가 긍정적인지, 부정적인지 판단하는 자연어 처리 기술인데요. 요즘에는 고객 리뷰나 소셜 미디어 게시물과 같은 텍스트 데이터가 많이 생성되고 있는데 이를 분석해 빠르게 소비자의 반응을 파악할 수 있습니다. 특히, 고객 반응이나 시장 트렌드를 빨리 파악해 마케팅이나 대응 전략을 수립하는 데 도움이 될텐데요. 


이번 글에서는 챗GPT를 활용하여 고객 리뷰 데이터에 대한 감정 분석을 수행하고, 주요 키워드를 추출해 워드 클라우드로 시각화하는 과정까지 진행해 보겠습니다. 이 과정을 통해 챗GPT로 감정 분석하는 기본적인 방법을 배우고, 나아가 필요하다면 Make 등의 자동화 툴과 연계해서 감정 분석을 수행하는 자동화까지도 시도해볼 수 있을 것입니다.



감정 분석을 위한 데이터 준비는?


먼저 준비물부터 소개해 보겠습니다. 이번 실습에서는 코드 인터프리터 기능이 있는 ChatGPT-4o를 유료 플랜에서 사용했구요. 사용할 데이터셋은 네이버 쇼핑몰에서 2020년에 수집된 제품별 별점과 리뷰 데이터입니다. 이 데이터셋은 다양한 제품에 대한 후기를 포함하고 있으며, 긍정 또는 부정으로 분류하기 애매한 별점 3점에 해당하는 리뷰는 제외하고 긍정(4~5점)과 부정(1~2점)으로 구성된 약 20만 개의 데이터셋입니다.


데이터셋은 구글 검색창에서 'naver shopping txt'로 검색하여 다운로드할 수 있습니다. 다운로드한 파일은 텍스트 파일 형식인데 챗GPT 첨부 시 오류가 나서 CSV 파일로 변환하여 분석하도록 하겠습니다. Excel에서 이 텍스트 파일을 열어 CSV UTF-8(쉼표로 구분) 형식으로 다시 저장해 주시면 데이터를 사용할 수 있습니다.

데이터셋 다운로드


그럼, CSV 파일로 변환한 데이터를 챗GPT에 업로드하겠습니다. 기존처럼 챗GPT화면에 데이터를 몇 개씩 복사해 붙여넣고 수동으로 분석을 할 수도 있지만, 파일 첨부 기능을 활용해 데이터를 한 번에 업로드할 수 있어 데이터셋에 대한 질문을 하거나 분석을 하면서 나오는 결과들도 바로 업데이트해서 나중에 다시 파일을 출력할 수 있다는 장점이 있습니다. 



챗GPT로 감정분석하기


챗GPT로 감정분석을 하기 위해 데이터의 크기가 크지 않도록 50개 행씩 나누어 진행했는데요. 전체 20만 개 행의 데이터셋을 업로드했지만 챗GPT가 한 번에 입력(처리)할 수 있는 컨텍스트 윈도우에는 제한이 있고 생성할 수 있는 아웃풋 토큰수에도 제한이 있습니다. 또한 답변 생성이 너무 길어지다 보면 내용이 가끔 이상해지거나 챗GPT가 실수할 가능성이 높아지는데요.


그래서 파일에서 50개 행씩 감정분석을 해달라고 했습니다. 그리고 한 가지 더 추가사항은 챗GPT가 바로 감정 분석을 잘할 수도 있지만 사전 정의된 단어를 사용해서 그 기준으로 감정분석을 해버리거나 머신러닝 모델링을 해서 해결하려는 경우도 있어서 추가 지시사항을 포함시켰습니다. 


50개씩 2번 감정분석을 진행해서 챗GPT가 예측한 100개의 감정분석 결과를 실제 라벨과 비교해 보았는데요. 정확도가 약 66%로 나타났습니다. 결과는 60%에서 90% 사이로 변동이 있는 것으로 보입니다. 


특히 이번에는 부정적인 리뷰를 긍정으로 잘못 분류하는 오류가 발생하였고, '중립'이라는 단어로 예측한 것이 성능에 부정적 영향을 미친 것으로 보입니다. 



챗GPT로 주요 키워드 분석


그럼, 이번에는 챗GPT에게 각 리뷰에서 주요 키워드를 추출해 달라고 요청해 보겠습니다. 역시 사전 정의된 단어나 머신러닝 모델을 사용하지 않고, 챗GPT가 직접 판단하여 키워드를 추출하도록 했습니다. 이렇게 추출된 키워드를 통해 고객들의 의견이나 반응을 빠르게 파악할 수 있습니다.


또한, 이 키워드들을 워드 클라우드로 시각화하면 결과를 직관적으로 확인할 수 있는데요. 워드 클라우드는 빈도수가 높은 단어일수록 크게, 빈도수가 낮은 단어일수록 작게 표시되기 때문에 고객들이 주로 언급하는 관심사나 이슈를 한눈에 파악할 수 있습니다.




다음은 위에서 진행한 분석에 사용한 프롬프트입니다. 아래에 제공하는 프롬프트를 챗GPT에 입력하여 직접 실습해 보세요. 챗GPT의 코드 인터프리터 기능을 활용해 고객 리뷰 데이터에 대한 감정 분석과 주요 키워드 추출 등을 경험하고 가능성을 확인해 보세요!


이 내용은 제가 출간한 챗GPT로 마케팅 데이터 분석하기 책 내용의 일부이기도 합니다. 책에서는 감정 분석뿐만 아니라, 매출 예측, 고객 세그멘테이션 등 다양한 실습 예제를 다루고 있습니다. 더 많은 분석 실습을 원하시는 분들은 책을 통해 더 깊이 있는 가이드를 확인해 보세요!

https://product.kyobobook.co.kr/detail/S000214577163


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari