고객 리뷰를 분석하는 방법

늦은 시간에 고객 리뷰 분석에 대해 알아보기 시작했습니다. 기본적으로 모든 웹사이트에는 모든 전자상거래/예약 웹사이트에서 제품, 호텔, 영화, 코스 등에 대한 모든 엔티티에 대한 고객 리뷰가 많이 있습니다.

그러나 일반적으로 고객 리뷰를 살짝 보려면 적어도 최소 5~7개의 리뷰를 스크롤해야 했습니다. 따라서 여러 리뷰를 읽은 후 제품에 대한 몇 가지 의견을 결론지을 것입니다. 하지만 모든 리뷰가 아니라 몇 개의 리뷰만 보았기 때문에 이 의견은 여전히 ​​편파적일 수 있습니다.

따라서 각 제품에 대한 10개 또는 100개의 리뷰를 읽지 않고 제품에 대한 고객 리뷰를 한눈에 볼 수 있는 방법을 찾고 싶습니다. 기본적으로 고객 리뷰에 대한 다음 사항을 간략하게 살펴보고 싶습니다.
  • 얼마나 많은 긍정적이고 부정적인 리뷰.
  • 부정적인 리뷰 중 가장 많이 논의되는 주제는 무엇입니까?
  • 긍정적인 리뷰 중 가장 많이 논의되는 주제는 무엇입니까?

  • 따라서 위의 사항을 도출하는 확실한 해결책은 고객 리뷰에 자연어 처리 기술을 적용하는 것입니다.

     Let’s jump into real work :)
    



    이 연습을 위해 Kaggle에서 Coursera 리뷰 데이터 세트를 가져왔습니다. 이 데이터에는 1835개의 코스에 대한 총 140317개의 리뷰가 있습니다. 다음은 리뷰 데이터의 샘플 형식입니다.


  • CourseId — Coursera 과정 식별자
  • 리뷰 — 고객 리뷰 텍스트
  • 레이블 - 0과 5 사이의 고객 등급

  • 리뷰 수가 가장 많은 코스



    기계 학습 코스의 리뷰 수가 가장 많습니다(8570). 그럼 머신러닝 강좌 리뷰만 필터링해서 분석해보겠습니다.


  • 비영어 영숫자 문자가 있는 리뷰를 무시한 후 8220개의 리뷰가 남았습니다.



  • 검토를 위해 감정 점수 추가
  • 따라서 TextBlob을 사용하여 각 리뷰에 대한 감성 분석을 수행할 것입니다.
  • TextBlob은 각 리뷰에 대해 -1(부정적인 감정)에서 1(긍정적인 감정)까지의 감정 점수를 부여하며 중립적인 감정은 0입니다.



  • Let’s see some sample Reviews With Positive Sentiment Score.

    Here we see most of the reviews says this course is awesome and also talking positively about Andrew Ng (the course instructor for machine learning).





    Sample Reviews With Negative Sentiment Score.

    Here we see the user says the difficulty level of the course is high and also talks about the certificate is expensive.





    Sentiment Score Distribution.

    Here we see most of the reviews have neutral to the positive sentiment with minor negative sentiment for the machine learning course.





    Review Rating Distribution.

    Here we see most of the ratings are 3.5 and above. So, this rating reflects the sentiment score we calculated in the above step.





      Analysing Top Words
    
  • 긍정적인 리뷰와 부정적인 리뷰의 리뷰에서 언급된 상위 단어를 분석해 보겠습니다.
  • sklearn 키트의 CountVectorizer를 사용하여 리뷰 데이터 세트의 상위 n개 단어를 계산합니다.



  •  Analysing Positive Reviews
    
  • 상위 20개 단어


  • 상위 20개의 바이그램


  • 상위 20개의 트라이그램



  • So, if we see people mentioned positive reviews more about the following
    
    * Easily Understandable Course (from bigrams).
    * Great/Good/Awesome course(from bigrams).
    * Prof. Andrew Ng (from trigrams)
    * Good Introduction machine learning Course(from trigrams)
    * Good explanation about machine learning techniques(from trigrams)
    



      Analysing Negative Reviews
    
  • 상위 20개 단어


  • 상위 20개 바이그램


  • 상위 20개의 트라이그램



  • So, if we see people mentioned negative reviews more about the following:
    
    - Complex Concepts/ Subject
    - Audio Quality
    - Video Quality
    - The course is a little bit difficult
    - Need to pay in order to get certification for course
    - Complex Computations applied
    - This course needs linear algebra background.
    


    Further Improvements


  • 그러나 우리가 관찰한 결과 기계 학습, Andrew Ng 등과 같은 몇 가지 단어가 긍정적이고 부정적인 리뷰에서 반복되었습니다. 따라서 이와 같은 경우를 걸러내려면 더 개선해야 합니다. 이것은 다음 블로그 게시물에 대한 가능한 향후 작업입니다.
  • 또한 LDA 모델과 같이 텍스트에서 주제를 도출하는 다른 기술이 거의 없습니다.
  • 언어별 리뷰에 감정 분석 적용(여기서는 비영어 리뷰 제외).

  • Git Repository


  • 다음은 Coursera 리뷰 데이터 및 코드에 대한 Github link입니다.
  • 좋은 웹페이지 즐겨찾기