Automatically finding Codenames clues with GloVe vectors
jsomers.net
jsomers.net
But I also thought it was surprising how well it worked most of the time! It wasn't quite as good as a human spymaster, but with the right choice of scoring function we could actually get a model based on word embeddings to play a pretty reasonable game of Codenames.
I also heartily recommend this implementation using conceptnet embeddings.
https://github.com/commonsense/codenames
Grab the latest mini.h5 and go. https://github.com/commonsense/conceptnet-numberbatch/blob/m...
There's an over-indexing problem: words that happen to be very close to one or two of the targets will rank highly even when they're far away from the third. Minimizing the maximum distance from any target helps mitigate but doesn't entirely solve this problem.
This is because they combine the distances using something like more like OR-gate (are any of these very good) and should be using AND (are all of these very good).
Using a homonym is fair game. Intending that homonym to have two meanings when you give the clue is not.
And in point of fact, using puns or sound alike words is forbidden.