39

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?

2
  • 12
    What is the best or worst set of algorithms you consider your hardest and most favorite method for determining subjective questions?
    – Mike Robinson
    Commented May 11, 2009 at 16:02
  • They obviously have full AI. Skeet and VonC bots. Commented Sep 13, 2015 at 14:02

5 Answers 5

44

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.

7
  • 1
    i'll upvote you for being correct, though i'm surprised how close i actually was. Commented May 6, 2009 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)?" Commented Sep 3, 2009 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. Commented Sep 3, 2009 at 21:21
  • @Dour, if "you" is plural it wasn't directed at Dour, it was directed at everyone.
    – hyperslug
    Commented Oct 15, 2009 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. Commented Oct 15, 2009 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
    Commented Oct 15, 2009 at 17:37
  • Though the Uservoice link no longer works, there's also an answer by Jeff Atwood on another MSE post (that was closed as a duplicate of this one) that includes the same regex.
    – V2Blast StaffMod
    Commented Nov 17, 2021 at 16:35
14
if (post.Contains("serverfault") || 
    post.PhraseLike("what is the [funniest|worst|best]*")) {
    // looks like meta question
    IsSubjective = true;
    return SubjectiveMessageResult();
}
14

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.

1
  • 5
    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
    Commented May 6, 2009 at 16:18
3

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

3
  • Look at my question: stackoverflow.com/questions/788408/…. How are any of those words subjective?
    – Unknown
    Commented May 1, 2009 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
    Commented May 1, 2009 at 4:33
  • 5
    @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
    Commented May 1, 2009 at 15:52
-1

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

3
  • 3
    of course, because there's nothing subjective about a best practice! :) codinghorror.com/blog/archives/000557.html Commented Oct 15, 2009 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
    Commented Oct 15, 2009 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
    Commented Oct 16, 2009 at 0:40

You must log in to answer this question.

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