I have a dataset of amazon Alexa reviews and want to group negative and positive reviews in separate groups. Is k-means a good approach to it? The dataset is unlabeled so how will my model know which review is for the negative and which is for the positive cluster? Is there any other way you would like to suggest in which I can do the above task?

  • 1
    $\begingroup$ No, it's not the right approach: clustering the data blindly is very unlikely to lead to positive vs negative. It's as if you tell somebody "separate these documents into two groups" without saying by which condition. If you want to train a model for a specific task, you need annotated data. What you could do however is applying an existing sentiment analysis model to label your data. $\endgroup$ – Erwan Nov 27 '20 at 23:16
  • $\begingroup$ Oh okay I understand, Thank you so much! Another question that pops up in my head is then what can be a good way to implement sentiment analysis on an unsupervised dataset? $\endgroup$ – Pari Ganjoo Dec 1 '20 at 7:28
  • $\begingroup$ Sentiment analysis can be done with just a partial vocabulary of words labelled positive or negative. Then the system simply counts the frequency of positive vs. negative in a sentence and labels the sentence with the most common of the two labels. It's unsupervised because there's no need for a set of annotated sentences, but it still requires the vocabulary. $\endgroup$ – Erwan Dec 1 '20 at 11:21
  • $\begingroup$ Thank you so much for your input! Appreciated a lot. $\endgroup$ – Pari Ganjoo Dec 2 '20 at 12:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.