under the hood
How the game measures how close two words are
The score in Guess the Word doesn't come from a hand-written thesaurus. It's computed by a statistical model that learned what words mean by reading an enormous amount of English text.
Words turned into numbers
The idea goes back to word2vec, a technique published by a team at Google in 2013, and to a famous line by the linguist John Rupert Firth: “You shall know a word by the company it keeps.” The model reads a huge collection of texts and, for every word, looks at the words around it. Two words that often show up in the same contexts (“coffee” and “tea”: drink some ..., a cup of ...) end up being described the same way.
In practice, each word becomes a vector: a list of 300 numbers, like the coordinates of a point in a 300-dimensional space. Words with related meanings sit close to each other in that space. “King”, “queen” and “prince” form a small cluster; “Monday”, “Tuesday” and “Wednesday” another.
The model we use
The game uses the English fastText vectors published by Facebook AI Research, trained on Common Crawl (a vast archive of web pages) and Wikipedia. fastText builds on word2vec and also looks at the pieces words are made of, which helps it with rare words. The original model knows two million words and forms, typos and names included; the game keeps about 68,000 of them, the ones found in the dictionary.
These vectors are shared under the Creative Commons Attribution-ShareAlike 3.0 license. They are described in Learning Word Vectors for 157 Languages, by Edouard Grave, Piotr Bojanowski, Prakhar Gupta, Armand Joulin and Tomas Mikolov (LREC 2018).
From vector to score
To compare your guess with the secret word, the game computes the cosine similarity between their two vectors: it's 1 when the vectors point in exactly the same direction and 0 when they have nothing in common.
That raw scale would be hard to read: most pairs of words bunch up in a narrow band. So the game runs it through an S-shaped curve (a sigmoid centered just above 0.3) that spreads out the interesting values. A similarity at that center gives a score of 50; below that, the score drops quickly toward 0, above it climbs toward 100. That's what makes the gap between “lukewarm” and “burning hot” visible on screen.
The curve is tuned so that the game feels the same as its French sister, devinelemot.fr, which uses a different model: a word that ranks at the same place among the secret word's neighbours gets about the same score in both languages.
The gauge
Some secret words have plenty of close neighbours, others very few, so the same score doesn't always mean the same thing. That's why each guess also shows its place among the 1,000 words the model rates closest to the secret word: “57th closest” means the same thing every day. Beyond the 1,000 closest, the gauge stays empty.
Why some scores are surprising
The model measures how similar the contexts are, not the definitions. A word and its opposite (“hot” and “cold”) are often very close, because they're used in the same sentences. The model can also bring together words that a particular use, a set phrase or a popular story tends to pair up.
These quirks are part of the game: they make you think like a reader of texts rather than a dictionary. The past words pages show, for each word of the day, the twenty words the model rates closest: a good way to get a feel for its logic.
Picking the word of the day
The secret word is drawn at random from the 10,000 most common English words, so it stays findable. It changes every day at midnight New York time (Eastern Time), and it's the same for every player. Multiplayer draws its own word, different from the word of the day, for each game.