3 ms·
Automatically finding Codenames clues with GloVe vectors
- kbenson 7y agoInteresting, but in the first example I would be worried that Wok would be misheard as "walk", which might entice people to pick the instant fail card of "fall". That's a meta-level of the game (which I've played with friends and family) that you have to be aware of, and sometimes you can use to your advantage. Because of that, using a program that can perfectly disambiguate between the word and associations will probably lead to some non-intuitive results sometimes.
- patricktomas 7y agoYou can spell the word out instead of pronouncing it if you'd like. Your teammates can ask you to spell it out too.
- foota 7y agoI believe making use of two meanings of a word through homonyms like wok and walk or night and Knight is technically against the rules.
- reificator 7y agoIt's not against the rules for players to mishear. There are rules against punning but that's not what the post you're replying to was talking about. Using a homonym is fair game. Intending that homonym to have two meanings when you give the clue is not.
- SolarNet 7y agoThe game specifically does not have this problem. It is in the rules that the word is allowed to be spelled out. And in point of fact, using puns or sound alike words is forbidden.
- chmullig 7y agoThis is a cool article, and I appreciate the actual testing. I also heartily recommend this implementation using conceptnet embeddings. https://github.com/commonsense/codenames https://github.com/commonsense/codenames Grab the latest mini.h5 and go. https://github.com/commonsense/conceptnet-numberbatch/blob/master/README.md https://github.com/commonsense/conceptnet-numberbatch/blob/m...
- bravura 7y agoThis is cool. With a 300-dimensional word representation, there are a lot of degrees of freedom to play with to achieve sharing meaning axes with the good words and diverging along meaning axes with the bad words. 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).
- Gullesnuffs 7y agoI also tried writing an AI for Codenames a couple of years ago, with the help from some friends. Interestingly, we also found out the hard way that the word "round" aren't used in the same contexts as things that actually are round, so our AI also struggled to connect "round" with words like "Jupiter" or even "Sphere". I'm not sure how to fix that, but maybe knowledge graphs could help? 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. https://github.com/Gullesnuffs/Codenames https://github.com/Gullesnuffs/Codenames