본문 바로가기
데이터 분석

NLP(자연어처리) 화장품 리뷰 분석 (1)_데이터 준비 /크롤링 몰라도 가능

by 돈워리대지♡ 2023. 2. 2.

화장품 컨텐츠를 발행하면서, 온라인 제품 리뷰를 분석하면 제품마다 특성을 뚜렷하게 볼 수 있을 것 같아

자연어처리 공부를 시작했습니다. 

아직 실수도 많고, 허점도 많지만, 시작이 반이라는 생각으로!

배워간다는 마음가짐으로 하루하루 꾸준히 실습해보고 있습니다. 

 

실습 개념이므로 크롤링을 하기보다는 직접 손으로 리뷰를 몇페이지 긁어서 분석해보았습니다. 

올리브영과 네이버쇼핑의 리뷰 데이터를 이용하여 실습하였습니다. 

 

 

사이트에서 리뷰를 긁어 엑셀에 붙여넣기를 해줍니다. 

a1시트 오른쪽 마우스 클릭, 선택하여 붙여넣기 > 텍스트형 

 

몇가지 수정사항이 눈에 띄죠? 

1) "평점5 ..."로 시작하는 반복 문장

2) 리뷰시작 전 요약문장이 반복됨

3) 빈 셀이 있음 (사실, 빈 셀은 분석에서 문제되지는 않아요!) 

 

문장이 반복된다면, 키워드가 중복 카운트 되기 때문에 정확한 분석을 하기 어려워져요. 

또한, 리뷰 내용과 상관없이 반복되는 문장들은 최대한 삭제해줘야겠죠?

 

오차를 줄이기 위해 내가 사용한 방법들을 소개해볼께요!

 

첫번째, 반복되는 문장을 삭제하기 

A열을 선택하고 필터를 걸어줍니다.
제일 첫번째 셀 옆의 화살표를 클릭, 텍스트 필터 > 시작문자
반복 문장의 시작 키워드 입력 > 확인

반복 문장의 핵심 키워드가 문장 중간에 있다면, 텍스트 필터 > 포함을 사용해주세요! 

 

필터링 된 문장 셀들 선택 > 삭제

반복 문장들이 삭제되었으면 필터를 다시 해제해주세요. 

 

2) 리뷰 시작 전, 리뷰 요약 문장 삭제 

 

IF문을 통해서, 이전셀과 다음셀의 처음 12글자가 같다면, 빈셀을 만들도록 조건을 만들어주겠습니다. 

 

B열에 조건문을 입력해주었습니다. A1과 A2의 처음시작 12글자가 같다면(TRUE) B1은 공백(한 개 문장 삭제), 다르다면(FALSE) A1의 내용을 그대로 출력해주는 함수입니다.

함수를 실행해보면 문장이 정리된 것을 확인할 수 있습니다. 

B열을 전체 선택 > 오른쪽마우스 > 붙여넣기 옵션>값 

을 통해 함수 수식을 값으로 변환해줍니다. 

 

3) 빈 셀 삭제하기 

이 방법은 1번 방법과 유사합니다. 

한번 시도해보시면 좋은 공부가 될 것 같아요! 

 

다음에는 정리한 리뷰 데이터로 워드클라우드, word2vec, 감성분석, 요소별감성분석 하는 방법을 올려보겠습니다. 

연관어를 뽑아냄으로서 제품의 특성을 한눈에 볼 수 있고, 감성분석을 통해서 제품의 몇가지 요소 (화장품의 경우 제형, 용기, 보습력 등)에 부정/긍정 의견인지 알 수 있습니다.