A catalog of 10,000 English words, trained with GloVe. Each word is stored as a vector of 50 numbers, most of them between −1 and 1 (the full range here runs about −4 to +5). Add and subtract these vectors from each other and see what word comes out.
Say your guess out loud first?
GloVe — short for Global Vectors — was built at Stanford in 2014 as a rival to word2vec. It starts by counting, across a huge pile of text, how often every word appears near every other word; that count is written Xij for word i near word j. Training then hunts for a vector per word such that the dot product of two word vectors predicts the logarithm of how often those two words co-occur:
J = Σi,j f(Xij) ( wiᵀw̃j + bi + b̃j − log Xij )²
The weight f(Xij) keeps very common pairs from drowning out the rest, and b are per-word offsets. Nothing tells the model what any dimension should mean, so the 50 numbers you see have no individual names — a single dimension is not "royalty" or "gender." Meaning lives only in the whole pattern, which is why differences between vectors turn out to line up with relationships like capital-of or plural-of.
The vectors here come from the 6B-token set trained on Wikipedia 2014 plus Gigaword 5, cut down to the 10,000 most frequent words and rounded to keep the file small.