마이리얼트립 여행 후기 데이터 분석

에 대한 아이디어를 얻기 위해서, 마이리얼트립 여행 후기 데이터를 분석해 보았습니다.

분석 대상 데이터셋 가져오기누적 데이터가 너무 많아서, 일단 2018년 1년 간 쌓인 후기 데이터만 가져와서 분석을 진행하기로 했습니다.

(raw_data는 아래와 같은 형태입니다.

) 평점을 기준으로 그룹핑하고, 특수문자를 제거하는 것으로 간단한 전처리를 완료했습니다.

raw data는 이렇게 생겼습니다품사 태깅하기R에서 한글 텍스트분석을 하는 데 가장 널리 사용되는 패키지는 KoNLP 입니다.

KoNLP를 로드하면 다양한 함수를 사용해서 문장을 형태소단위로 쪼개고, 적절한 품사 태그를 붙일 수 있습니다.

(자세한 내용은 여기를 참조)본 분석에서는 KoNLP의 SimplePos09() 함수를 사용하여, 리뷰 내용중에서 체언[N: 명사, 대명사, 수사]과 용언[P: 동사, 형용사, 보조용언]에 해당하는 단어들을 추출해서 테이블과 워드클라우드를 만들었습니다.

워드클라우드평점 5점 후기와, 평점 1점 후기에서 각각 뽑아낸 명사, 대명사, 동사, 형용사 로 만든 워드클라우드는 아래와 같습니다.

(상위 100개 추출)5점 후기로 만든 워드클라우드1점 후기로 만든 워드클라우드몇 가지 재미있는 결과가 보이긴 하는데요.

(5점 리뷰에서는 ‘가이드님’이 많고, 1점 리뷰에서는 ‘가이드’가 많다던지??;;) 이 경우 ‘여행’, ‘투어’, ‘가이드’ 등 양쪽 결과에 모두 나타나는 중립적인 단어들로 인해 그룹 간 차이를 명확하게 구분하기가 어렵습니다.

그래서 양쪽 그룹에서 모두 100위 안에 든 텍스트를 제외하고, 각 그룹에서 Unique하게 확인되는 텍스트 기준으로 워드클라우드를 다시 만들어 보았습니다.

5점 후기에서만 볼 수 있는 단어1점 후기에서만 볼 수 있는 단어이렇게 보니 5점과 1점을 대표하는 단어가 명확하게 구분됩니다.

‘편하다’와 ‘안되다’가 대표 키워드라고 할 수 있겠네요.

5점 후기의 경우 감정을 표현하는 형용사들이 상대적으로 많은 것을 확인할 수 있습니다.

상대적으로 1점 후기에서는 ‘환불’이나 ‘연락’ 등 불만족의 원인이 되는 명사형 키워드들이 많이 포함된 게 눈에 띕니다.

텍스트에 포함된 단어의 노출빈도(frequency)를 기반으로 한 워드클라우드를 만드는 것은 전체 데이터를 요약해서 한 눈으로 확인하는 데 매우 효율적인 방법이지만 뚜렷한 단점이 있습니다.

단어와 단어 간 연관성을 알기가 어렵다는 점입니다.

가령, 위 케이스에서는 ‘편하다’와 ‘안되다’를 대표단어로 뽑아낼 수는 있지만 무엇이 편해서 좋았는지, 무엇이 안되서 실망했는지…에 대한 구체적인 내용을 알기가 어렵습니다.

바이그램단순히 등록된 단어의 빈도를 세는 것 이외에, 단어 간의 관계를 좀 더 자세히 확인할수 있는 방법이 있을까요?.가장 심플한 n-gram 분석방법인 바이그램(Bigram)을 이용하여 추가적인 시각화를 해 보았습니다.

(바이그램은 문장에서 사용된 전/후 단어를 2개씩 조합해서 분석하는 것을 의미합니다.

자세한 설명은 여기를 참조)5점 리뷰의 Bigram 그래프1점 리뷰의 Bigram 그래프문장의 전/후 단어를 함께 고려함으로써, 위와 같이 맥락이 조금 더 포함된 구체적인 정보를 확인할 수 있게 되었습니다.

5점 후기와 1점 후기에 모두 ‘시간’ 이라는 단어가 사용되었지만, 5점 후기에서는 ‘시간’ 이라는 단어가 ‘즐겁다’ / ‘보내다’ 등과 함께 사용된 반면 1점 후기에서는 ‘기다리다’ / ‘걸리다’ 등과 같은 부정적인 단어와 함께 사용되었네요.

1점 후기에서 가장 두드러지게 나온 ‘안되다’ 와 함께 사용된 단어들은 ‘연락’, ‘충전’, ‘환불’ 과 같은 명사인데요.

‘무엇이 안되어서 불만족했는지’를 훨씬 더 명확하게 알 수 있습니다.

위 케이스에는 전체 데이터를 사용한 예시를 보여드렸지만, 분석에 사용하는 데이터셋을 어떤 식으로 준비하고 전처리하느냐에 따라 엄청나게 다양한 결과를 볼 수 있습니다.

가령, 오사카 상품 리뷰와 로마 상품 리뷰를 비교한다던지, 혼자 다녀온 배낭여행자들의 리뷰와 가족여행으로 다녀온 분들의 리뷰를 비교한다던지 하는 식으로 말이죠.

혹은, 위 케이스에서처럼 다양한 품사를 한꺼번에 뽑아내지 말고 하나씩 집중해서 볼 수도 있겠네요.

(예를 들면, ‘명사’만 태깅하기)이상으로 간단한(?) 한글 텍스트분석에 대해서 알아봤습니다.

사실 한글 텍스트분석의 경우 데이터 전처리가 꽤 번거롭고 시간이 많이 걸리는 작업인데요.

(오타가 있는 단어, 띄어쓰기가 되지 않은 문장…의 경우, 형태소로 쪼개거나 품사 태깅하는 과정이 매끄럽게 진행되지 않습니다.

또 표준어가 아닌 구어체를 사용하는 경우에도 문제가 됩니다.

예를 들면 “가이드님깨알지식재밌었어요.

TMI스럽긴했지만 ㅋㅋ 갠적으로완전강추!” 이런 거? -_-) 이 글에서는 전처리를 위한 ‘노가다’에 해당하는 부분은 가능한 간략하게 기술했습니다.

모든 데이터 분석 과정이 그렇겠지만, 특히나 정성데이터는 분석과정의 자유도가 높아서 분석가의 질문과 상상력이 중요한 것 같습니다.

(역시 중요한 건 좋은 질문!) 더불어, 이 글에는 모두 공개되지 않았지만 텍스트분석 결과를 정리하고 인사이트를 찾아내는 과정에서는 매일같이 1점 후기를 정독(!)하고 계신 마이리얼트립 운영팀 분들의 도움을 많이 받았고 + 앞으로도 더 많은 도움을 받을 예정입니다.

(…JO님 보고있죠?)이런 후기들로 가득 찰 때까지!마지막으로,이렇게 재미있는 데이터가 한가득 쌓여있고, 좋은 사람들이 함께 일하는 곳.

마이리얼트립에서 함께 할 동료들을 찾고 있습니다.

많은 포지션이 열려있고, 아직 늦지 않았어요!https://career.

myrealtrip.

com/.

. More details

Leave a Reply