17

I just asked this question. When I was done typing, Stack Overflow's list of tag suggestions included , even though I did not mention Git at all in my question. As it happens, I am using Git to manage this project's source code. Did Stack Overflow read my mind and find this out, or is there another explanation?

3
  • 9
    Maybe git is commonly used alongside maven.
    – icktoofay
    Commented Apr 10, 2014 at 0:55
  • I'm going to guess the word "repository" is associated with git as a related keyword.
    – djechlin
    Commented Apr 10, 2014 at 1:17
  • Was svn and friends mentioned? If not, something else is up.
    – Cole Tobin
    Commented Apr 10, 2014 at 2:09

1 Answer 1

30

Among the words in your question, these (or some variation thereof) are relevant to the tag:

repository (4x), central, mvn (2x), project (4x), maven (4x), download, depend, package (2x), lang

(the word "lang" is there because you used a syntax highlighting override). To be precise, we run the words through a porter2 stemmer, so as far as the tag suggester is concerned, the words are "repositori" and "packag". Note that a word appearing in the title counts as appearing twice.

For each tag/word combination, the tag suggester has a value that tells us how the presence of the given word in the post contributes to the probability that the post has the given tag.

For the case and the above words, these are the values:

repositori  0.7034825
central     0.9293838
mvn         0.9776559
project     0.9789349
maven       0.988517
download    0.9982455
depend      1.000654
packag      1.002426
lang        1.005901

The smaller the value, the higher the increase in probability. Values greater than 1 mean that the presence of the particular word decreases the probability.

We multiply the values (with a factor appearing multiple times if a word appears multiple times, so the product contains the factor 0.7034825 four times). The result of this multiplication is about 0.191. This value is divided by a number that roughly represents how popular the tag is overall. For , this value is 1.0062.

We end up with 0.190. And this value is the tag suggester's calculated probability that your question should not be tagged . So the tag suggester's confidence that your question is about git is 81%, and the threshold for suggesting a tag to the user is 70%.

That's why it suggested this tag (which in this case was clearly a false positive).


A bit more about those numbers, if you care about such things: The top 5 predicting words for the tag are

git     0.1789131
branch  0.4295278
repo    0.4700354
commit  0.5390894
diff    0.6549525

Even the words that have values larger than 1 are still pretty close to 1; you can interpret that as "The mere presence of a word is usually not enough to exclude a tag" (while on the other hand, the mere presence of some words does a lot for including one, like the word "git" appearing making that tag very probable).

So even the word with the highest value for the tag, which is "column", only has 1.006.

The highest word/tag factor in the whole tag suggester database on Stack Overflow is 1.0937 for the word "gradle" and the tag . The highest value in a different tag is 1.0921 for the word "wpf" and the tag .

These values are biased towards popular tags and words, because only if

  • you have lots of questions in a tag,
  • very few of those questions containing the word,
  • but many questions in other tags containing the word,

can you make any assumptions about a word decreasing that tag's probability. The word "gradle" appears in 3,573 question bodies, there are over 588k questions, but only 10 questions have both.

In closing, here are the top 10 predictors for the tag. Which one is not like the others?

attack  0.7576222
secur   0.819998
risk    0.8498669
trust   0.8828666
danger  0.8947973
flaw    0.9136809
applet  0.9166204
grant   0.9189128
encrypt 0.9257678
decrypt 0.9317889
3
  • Just out of curiosity, what's the lowest word/tag factor? Also, we always knew the truth about crapplets... :P Commented Apr 10, 2014 at 10:28
  • @michaelb958 The word is "emberjs" (actually "emberj" because of the stemming). The factor is 0.0132. I assume you can guess the tag :) The second lowest is 0.0233 for "linearlayout" and android.
    – balpha StaffMod
    Commented Apr 10, 2014 at 10:30
  • 3
    magic!
    – gnat
    Commented Apr 10, 2014 at 10:36

You must log in to answer this question.

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