Say I have a spreadsheet of 1000 chat messages that are labeled as happy, sad or funny.

What is the best way of detecting if the labels are indeed correct or if they need improvement?

How would I go about performing an analysis on the messages? How can I build a predictive model?

What type of feature and model selection should be used?

Python is my preferred language and I wish to load them as a CSV.


You need to define best.

If best means being exactly sure of your labeling, then you'd have to manually go through all messages, use crowdsourcing and what not. This is assuming that the chat messages are in a language that you can understand.

If best means automating the process, you could use an existing sentiment analysis model to predict the sentiment of each message and see if it lines up with the existing labeling. Of course, perfect alignment is unlikely.

If best means doing it from scratch, then I would try to cluster the sentences into 3 groups and then look at the composition of the groups. Of course, this is highly dependent on the clustering and how you define the distances between the messages

| improve this answer | |
  • $\begingroup$ I would like to do the second approach...automating the process.Could someone provide a simple walkthrough - what python libraries to use, what functions to use? i have tokenized the chat messages but that is as far as ive reached $\endgroup$ – Azure Nov 15 '17 at 12:13

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.