4 ms·
An API like that is good for an introduction, but I think you'll get better results with a machine learning approach (my pet project http://www.sentimentview.co
by primaryobjects 13y ago
An API like that is good for an introduction, but I think you'll get better results with a machine learning approach (my pet project http://www.sentimentview.com http://www.sentimentview.com). When I was running tests with a baseline algorithm (just matching against positive and negative keywords), I saw results from 62% accuracy with the baseline to 80% with an SVM http://blog.sentimentview.com/post/59031004797/learning-curves-from-twitter-sentiment-analysis http://blog.sentimentview.com/post/59031004797/learning-curv....
- nl 13y agoI'm looking at your examples[1], and I'm seeing a lot of analysis that seems pretty wrong to me. To be fair, I haven't counted and done the maths (and I understand that human sentiment analysis often doesn't agree with other humans), but.. well, look at these examples: Positive: Thank you Urbana voter for pointing out what we knew. Cheat lie steal the election. We will NEVER become an Islam nation as Obama wants. Positive: Fun fact: @kbzeese got 1.5% of the vote in 2006 US Senate General Election, but thinks he knows what the people want #headdesk Negative: What is our present condition? We have just carried an election on principles fairly stated to the people. Does your model give confidence? It looks to me like you are making it bi-modal, but if you had a "neither positive nor negative" category it might fix some of the issues? Eg, this is rates as positive, but I'd rate it as neither positive nor negative: "Should ballot papers in Northern Ireland include photographs of the candidates standing? Make your views known. http://t.co/NySCHsmecE" http://t.co/NySCHsmecE" Of course tweets are a pretty difficult thing to run sentiment analysis on: those random hashtags break a lot of machine learning models, whilst a human can read them and realise something like "#headdesk" is probably bad (although in that case the phrase "thinks he knows" is something that a model could probably use if it understood n-grams) [1] http://www.sentimentview.com/#examples http://www.sentimentview.com/#examples
- primaryobjects 13y agoYes, all very good points. I didn't use a neutral category, as it's difficult to gauge whether a tweet should be neutral. I've thought of detecting them based upon news-speakish tweets, as you've pointed out. That would require its own machine learning run, just to sort out neutral from containing-sentiment. Also keep in mind, different topics work better. The term "election" has a lot of news headlines, which many are probably neutral, skewing the results. More consumer-ish topics yield better results. But yes, tweets are difficult to analyze. I've done another recent experiment with tweet analysis, if you like this kind of stuff http://primaryobjects.com/CMS/Article158.aspx http://primaryobjects.com/CMS/Article158.aspx