Methodology
I wrote a program in C++ with several routines:
1) copy all the thread's html all into one file
2) throw away all the html code
3) throw away anything from a quote
4) throw away any one letter words
5) throw away all punctuation except apostrophes/exclamation marks/question marks/periods/full-stops (also add a full-stop if it was missing at the end of a post)
Then the entire thread is uploaded in chunks of 400 words to an API
http://www.alchemyapi.com/api/sentiment/
This returns a sentiment score for each 400 word chunk. It can be either positive or negative. Since most users are polite when they have a criticism, the scores tend to range from slightly negative to very positive.
[Q] What is 'sentiment analysis'?
[A] Find out more here:
http://en.wikipedia.org/wiki/Sentiment_analysis
- - - quote "Computers can perform automated sentiment analysis of digital texts, using elements from machine learning such as latent semantic analysis, support vector machines, "bag of words" and
Semantic Orientation — Pointwise Mutual Information..." sourced from the above link.
Each 400 word block gets a score usually ranging somewhere between slightly negative and very positive. Each score forms the basis of my raw data.
I currently show this data as several graphs, but I may strip away some. The most useful graph (remember, my background is mathematics education...) is a combination of the entire thread's average score plus the average for the most recent 10%. This helps to highlight threads that have a history of good sentiment as well as continuing good sentiment.
Notes
Initial attempt (for posterity):
http://xdaforums.com/showpost.php?p=24451874&postcount=712