I was asking a question in serverfault.com and this message warned me (correctly!):

The question you're asking appears subjective and is likely to be closed

So, I'm curious if there any classifier or machine learning technique behind, or if it is just some heuristics on keywords.

Do you know?

  • 11
    What is the best or worst set of algorithms you consider your hardest and most favorite method for determining subjective questions? – Mike Robinson May 11 '09 at 16:02
  • They obviously have full AI. Skeet and VonC bots. – Ciro Santilli 郝海东冠状病六四事件法轮功 Sep 13 '15 at 14:02

Don't use the following words in a subject title - it connotes subjective question.

  • Best
  • Worst
  • Hardest
  • You
  • Your
  • Favorite
  • Favourite

Jeff posted the regex in uservoice (As of May 2, 2009):

Regex.IsMatch(s, @"\bbest\b|\bworst\b|\bhardest\b|\byour?\b|\bfavou?rite\b", RegexOptions.IgnoreCase);

It is important to note that avoiding the above words does not make your question any less subjective - "Best management tool" is inherently subjective - the warning is not there to tell you to avoid certain words, but to avoid the question altogether, or to re-word it so it can be evaluated objectively and measurably so that the answer is the same for everyone in your situation.

This has also been deployed at StackOverflow.

| improve this answer | |
  • 1
    i'll upvote you for being correct, though i'm surprised how close i actually was. – Darren Kopp May 6 '09 at 16:24
  • 1
    Seems a little silly to have "you" in the match list since it will match plenty of non-subjective titles having the form "How do you (do X)?" – Tyler McHenry Sep 3 '09 at 19:30
  • Not silly at all. The way I do X may be completely irrelevant to the way you would do X. If there's only one way to X, or you want a way that works for everyone, don't ask how "I" do it. – Dour High Arch Sep 3 '09 at 21:21
  • @Dour, if "you" is plural it wasn't directed at Dour, it was directed at everyone. – hyperslug Oct 15 '09 at 10:23
  • @Tyler: It's a heuristic. It isn't perfect. Nothing like this can be. "Most difficult area to program in" is subjective. "Most difficult problems in NP" is objective - it's the NP-hard ones. – David Thornley Oct 15 '09 at 14:02
  • 2
    We're arguing about the ambiguities of the english language here. "You" refers to an individual implementation of the solution. "How do you do x?" is different than "How should x be done?" in terms of objectivity. "you" allows answers that are not the best, merely the way a particular given programmer does it. "should" refers to ideal or best practices. Keep in mind that this is a list of words that often occur in question titles that are marked as "subjective" by the moderators - it doesn't mean that "you" cannot be used - it's a warning to make one think about the question critically. – Pollyanna Oct 15 '09 at 17:37
if (post.Contains("serverfault") || 
    post.PhraseLike("what is the [funniest|worst|best]*")) {
    // looks like meta question
    IsSubjective = true;
    return SubjectiveMessageResult();
| improve this answer | |

Possibly the best way to approach this problem would be using a Bayesian classifier; the same technology that is used for spam. As the site has a good training data set of questions that have and/or have not been closed as subjective, it should be able to determine with a high probability whether a new question is subjective, in exactly the same way as a spam filter does with spam.

Whether they actually use this technique, I don't know.

| improve this answer | |
  • 3
    They don't (see my answer for the regex Jeff posted that is actually used) but this is a beautiful idea! Have a bayesian filter rate the post based on previously closed posts and tell the user, "Posts like this have been closed as "Not programming related" and "Subjective and argumentative" in the past." – Pollyanna May 6 '09 at 16:18

Keywords. It's matching the titles against a list.

| improve this answer | |
  • Look at my question: stackoverflow.com/questions/788408/…. How are any of those words subjective? – Unknown May 1 '09 at 4:24
  • If I had to guess, I'd guess it was the phrase "breach of privacy" but then the question has 5 upvotes and no close votes, so I'd say you know better than it does. – Charlie Martin May 1 '09 at 4:33
  • 4
    @Unknown: change "you" to "I". Ask for help with a problem you're having rather than soliciting personal experiences from everyone who reads it... – Shog9 May 1 '09 at 15:52

I think there should be a special case for situations in which best is contained in "best practice"

| improve this answer | |
  • 3
    of course, because there's nothing subjective about a best practice! :) codinghorror.com/blog/archives/000557.html – Jeff Atwood Oct 15 '09 at 10:17
  • @Jeff : I see your point, but take this question : stackoverflow.com/questions/1571412/… . Do you really think it's subjective? I've read quite a lot of SO (and SF) "best practices" posts, and I don't feel like they are more subjective than the average question (ie which doesn't contain "best" at all) – Brann Oct 15 '09 at 13:58
  • @Brann: there are 4 specific questions in that post, and 1 open-ended one... "Best practice" could have been left off the title entirely, and it wouldn't have hurt it. – Shog9 Oct 16 '09 at 0:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .