Why your word game’s dictionary is lying to you
Our Scrabble helper once told a player that REQUIZ was their best move. Here is why every open word list will do that to you, and the cheap fix.
If you are building anything that suggests words to a person — a Scrabble helper, an unscrambler, a hint system, a bot opponent — you will reach for a word list early. There are good free ones. You will wire it in, it will work, and then it will embarrass you.
Ours embarrassed us like this. We built a Scrabble word finder, fed it a rack, and it confidently announced the highest-scoring play: REQUIZ.
REQUIZ is in the list. It is not a word anybody has ever played.
Open word lists answer a different question
We used the public-domain dwyl/english-words list, filtered to three to eight letters, which left 104,562 words. Lists like it are built by union: take several sources, merge them, deduplicate. That is the right way to build a list that answers is this string a word? — and the wrong way to build one that answers would a person recognise this?
What comes along for the ride is obsolete spellings, dialect forms, abbreviations that lost their full stops, proper nouns that leaked through lowercasing, and inflections of words nobody inflects. None of that is a bug in the list. The list is doing its job. The bug is ours, for asking it the wrong question.
A word game needs two dictionaries, not one. Most of them ship with one, and that is the whole problem.
Accepting and suggesting are not the same job
There are two moments where a word game consults a dictionary, and they want opposite things.
- Validation — the player has found something and you decide whether it counts. Here you want to be permissive. A player who finds a real word and is told it isn't one will put your game down, and they will be right to.
- Suggestion — you are proposing a word to the player, as a hint, a best play, or a solver result. Here you want to be conservative. A suggestion the player has never heard of doesn't read as erudition. It reads as the software being broken.
Use one list for both and you have to pick a side. Pick permissive and your helper recommends REQUIZ. Pick conservative and you reject words your player legitimately knows. Neither is acceptable, and the whole argument disappears the moment you stop treating it as one list.
What we actually did
We kept the permissive list for validation, and built a second, smaller set for suggestion — not by hand-curating 104,562 words, but by borrowing a signal we already had.
Wordmere ships definitions for the words it teaches, sourced from WordNet. A word having a real dictionary definition in our game data turns out to be a decent proxy for a person would recognise this. So we marked every word with a definition, plus plain inflections of those words, as common. That came to 29,355 of 104,562 — about 28%.
There was an argument about this, and the objection is a fair one: a definitions file is not a frequency list, and using the presence of a gloss as a stand-in for "ordinary people know this word" is only roughly true. It went in anyway, because the alternative on the table was curating a hundred thousand words by hand, and the alternative we actually wanted was a licence we don't have.
In the shipped tools, common words sort first and rare ones are still shown, greyed and labelled. The Scrabble finder's recommended best play is drawn only from the common set. REQUIZ is still in there if you go looking for it. It is just no longer what we tell you to do.
Where the proxy fails
NASTIER and QUIRES land in the rare bucket. They are perfectly good words. The proxy has false negatives, and we shipped it anyway, because the two failure modes are not equally bad:
- A real word shown in grey, slightly lower down the page. The player shrugs.
- A confident recommendation of a word that does not exist in any usable sense. The player stops believing anything the tool says.
The honest fix is a tournament word list — TWL or Collins — which is maintained precisely to answer "is this playable". Those are licensed, which is why a free tool on the open web generally isn't using one, including ours. If you are building something commercial, licensing one is the move. If you are not, a definitions source is a surprisingly good stand-in.
Pick your failure mode on purpose
None of this is really about word lists. It is about choosing your failure mode deliberately, rather than inheriting whichever one your data source happened to come with.
Any time you ship a list — of words, of suggestions, of autocompletions, of anything a person will read as your recommendation — ask which direction you would rather be wrong in, and then go and check whether your source was built with that same preference. Usually it wasn't. Usually nobody checked.
Everything above is live. The tools run in your browser, there's nothing to sign up for, and the rare words are the ones in grey.
Try the word toolsWe build Wordmere, a cosy word game where the words you find assemble a small world around you. These posts are the things that went wrong on the way.