I'm trying to identify numeric properties of a text message that make it a spam or, more specifically, a bad question on sites like this one. For example, would things like capital letter density matter? Can anyone make any suggestions based on experience?
There are a few ways you can determine whether or not text is spam. Capital letters, punctuation, words, etc. are all pieces that help in spam classification. Basically, its multivariate, where each word, and form of that word (misspelled, capitalized, and so on) can be a feature in your mode.
One of the most basic ways to classify text with so many variables (words and their multiple forms) could be a Bayesian Classifier. Basically it determines the frequencies of words in a body of text through supervised learning from spam and not spam emails or whatever. Then when you give it a new body of text, it finds out what features (words) are in that and which one its closer to (spam or not spam).
There are other ways to classify spam faster. For example sim hashing also known as locally sensitive hashing. Wiki explains that better than I do.