Regarding Semantle, I found that Pimantle (https://semantle.pimanrul.es/) is a much more satisfying implementation to actually play. It provides a 2D visualization of guesses, which lets you see the clusters and lines of similarity more clearly.
I like this article a lot, but if I can put forward one mild criticism, it seems to depend entirely on having exactly the same measure of semantic distance for word pairs as the original generator. In that case, as the post shows, you only need several guesses to eliminate all possibilities other than the correct one, just like you only need a few GPS satellite locks to pin down your location.
It would be interesting to see a solver that works more like a human player, where it requires the "warmer" "colder" information from different guesses to hone in, rather than being able to simply look up which words have the exact semantic distance (+/- some fudge factor) from the guess.
This is super interesting, thanks for sharing! I did a similar thing a few years ago which I'd been meaning to properly finish and share, and your post was the inspiration needed to make mine public (albeit still in a state much too messy for my liking, hopefully having it public will force me to improve it).
We took fairly different approaches, but I really enjoy the visual explanation element of yours! Well done.
My investigation stemmed from wondering if the seemingly useless 1st, 10th, and 1000th nearest word similarity scores were enough to uniquely ID the word. Turns out—yes, pretty much! It's effectively just a kind of reverse engineering, similar to how you also made your own version of the game. Can definitely improve on a lot.
Tried today's puzzle and got it in two (first was 999/1000).
This has Peter Norvig sudoku energy, in that it describes a game that is tricky enough for humans to solve that it's become a whole pastime, but is a trivial solver away from reliably defeating, and with a tiny amount of code. Once you see what they're doing with this, you're like, oh of course. Very cool.
There was a solver years ago that used a similar technique, where you get similarity scores from three fixed words ("giant enemy crab") and it finds the target word instantly:
I think the way the similarity is done is based on word co-occurrence and the dataset used is news articles. So you can imagine that not a lot of news articles mention castle in that context.
jml7c5|11 days ago
AgentCIPHR|10 days ago
bscphil|8 days ago
It would be interesting to see a solver that works more like a human player, where it requires the "warmer" "colder" information from different guesses to hone in, rather than being able to simply look up which words have the exact semantic distance (+/- some fudge factor) from the guess.
OisinMoran|10 days ago
We took fairly different approaches, but I really enjoy the visual explanation element of yours! Well done.
My investigation stemmed from wondering if the seemingly useless 1st, 10th, and 1000th nearest word similarity scores were enough to uniquely ID the word. Turns out—yes, pretty much! It's effectively just a kind of reverse engineering, similar to how you also made your own version of the game. Can definitely improve on a lot.
Tried today's puzzle and got it in two (first was 999/1000).
Here's my code & write up: https://github.com/OisinMoran/Solving-Semantle/blob/main/Sol...
tptacek|11 days ago
a_shovel|11 days ago
pokpokpok|10 days ago
omoikane|10 days ago
https://github.com/manimino/semantle-crab
The solver website seems down, but the archived version still works:
https://web.archive.org/web/20220421184123/https://crab.mani...
tantalor|10 days ago
OisinMoran|10 days ago
keetal|10 days ago
pvillano|7 days ago