[3/6] 파이썬 고객 리뷰 분석: 배달앱 데이터로 배우는 텍스트 마이닝
리뷰 텍스트에는 어떤 단어가 가장 많이 나왔을까?
'리뷰 텍스트에는 어떤 단어가 가장 많이 나왔을까?'라는 질문에 답하기 위해서 3가지 분석 방법을 사용했습니다.
파이썬과 Konlpy OKt를 활용한 앱 리뷰 분석
AI(머신러닝, scikit-learn, CountVectorizer)를 이용한 분석
AI(머신러닝, scikit-learn, TfidfVectorizer)를 이용한 분석
이번 글에서는 'Konlpy OKt를 활용한 분석' 방법을 소개하겠습니다.
1. 데이터 불러오기 및 확인하기
먼저 판다스(pandas)라는 라이브러리를 사용해 데이터를 불러오겠습니다. 판다스는 엑셀 시트와 비슷한 형태로 데이터를 다룰 수 있게 해주는 강력한 도구입니다.
이 코드는 '92년생김치찜.xlsx' 파일을 읽어와 df라는 변수에 저장합니다.
df.head()는 데이터의 첫 5행을 보여줍니다. 이를 통해 우리가 어떤 데이터를 다루고 있는지 빠르게 확인할 수 있습니다.
2. 결측치 확인 및 제거하기
결측치는 비어있는 데이터를 말합니다. 이는 분석 결과를 왜곡시킬 수 있으므로 처리해야 합니다.
첫 번째 줄은 각 열의 결측치 개수를 보여줍니다. 두 번째 줄은 모든 결측치를 제거합니다.
3. 불필요한 열 제거하기
분석에 필요 없는 정보는 제거하여 데이터를 간소화합니다.
이 코드는 'URL'과 'created_at' 열을 제거합니다.
4. 형태소 분석기를 이용해 고객 리뷰 텍스트에서 명사 추출하기
한국어 텍스트 분석을 하기 위해서 KoNLPy 라이브러리의 Okt 형태소 분석기를 사용합니다.
Okt 형태소 분석기는 트위터(현 'X') 등 SNS에서 사용하는 줄임말 등을 쉽게 처리할 수 있는 한국어 형태소 분석기입니다.
위 코드는 각 리뷰 텍스트에서 명사를 추출합니다.
명사를 추출하면 불필요한 조사 등이 생략 되어서 의미 있는 정보를 알기가 비교적 쉽습니다.
5. 열 순서 변경하기
데이터를 보기 좋게 정리합니다.
꼭 필요한 과정은 아니지만, 리뷰 텍스트와 리뷰 텍스트에서 추출한 명사를 같이 보고 싶어서 'CONTENT'와 'CONTENT_nouns'를 함께 배치했습니다.
6. 모든 명사를 하나의 리스트로 모으기
추출한 명사를 하나의 리스트로 만듭니다. 리스트로 만들면 코드 활용 범위가 넓어지기 때문입니다.
7. 가장 많이 등장하는 명사 확인하기
Counter() 안에 리스트로 감싼 명사 데이터(all_nouns)를 넣습니다.
해당 매서드를 사용하면, 명사 데이터의 수를 쉽게 파악할 수 있습니다.
이 코드는 각 단어의 등장 횟수를 세고, 빈도가 높은 순으로 정렬합니다.
8. 파이썬을 이용한 앱 리뷰 분석 결론
'김치'라는 단어가 가장 많이 나온 걸 확인할 수 있었습니다.
'양도', '고기', '두부'라는 단어의 빈도가 높았습니다.
빈도 수 높은 키워드에는 가격과 같은 민감한 키워드가 없었습니다.
오히려 김치찜 자체에 대한 키워드(고기·두부·양 등)가 많이 등장했습니다.
제가 가게 사장님이라면, 시장 상황이 어려울 경우 가격을 적절히 올릴 것 같습니다.
대신 고객이 마음에 들어 했던 요소인 '고기·두부·양'에 있어서 만큼은 타협하지 않을 듯 합니다.
가격이 상승해도 고객이 마음에 들었던 점을 더 강화해서 불만 리뷰가 작성 되지 않도록 노력할 거 같습니다.