0
$\begingroup$

Sentiment analysis using Machine Learning is a hot topic. Which is the best classifier to use based on the amount of training data available?

$\endgroup$
0
$\begingroup$

If you have no data, you can use hand-written rules targeting certain words. However, this requires careful tuning, and is time-consuming. Naïve Bayes using a bag of words representation is fairly simple, and works well if you have very little data. If you have a modest amount of data, MaxEnt and SVM tend to do better than Naïve Bayes in terms of accuracy. If you have a huge amount of data SVM or kNN can become too slow, so Naïve Bayes again is preferable. Reference: https://web.stanford.edu/~jurafsky/slp3/7.pdf.

If I was starting from scratch, I would use TextBlob: http://textblob.readthedocs.io/en/dev/classifiers.html

$\endgroup$
  • $\begingroup$ Thanks for the answer. So the question is if we make a classifier using Matlab or by normal algorithmic approach using Python or any language then will it make any difference? $\endgroup$ – Arqam May 4 '16 at 4:30
  • $\begingroup$ I would guess you could work in either fine, but I guess one is going to be faster than the other (see e.g. stackoverflow.com/questions/2133031/…). Python has some nice tools such as NLTK and TextBlob for solving these kinds of problems. I'm not sure about Matlab's NLP tools. If you appreciate the answer, feel free to check as answered, as it will help us both. Thanks. $\endgroup$ – Wes May 4 '16 at 13:58

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.