Hacker News new | ask | show | jobs
by sweezyjeezy 1724 days ago
I think it's pretty unlikely you'll be able to learn the UK rules to a human level using brute force ML - take a fairly easy clue like ‘Drunken men are more despicable' - you need to split this as (wordplay = drunken (anagram of) "men are") / (meaning = "more despicable") = "MEANER"

This is really hard for supervised learning - the reward is quite sparse (e.g. did you get it right / how many characters did you get right) but the task is reasonably complex (e.g. it would have to learn how to spot/execute arbitrary length anagrams on its own, already something that is nontrivial for ML). Sparse + complex usually means gradient descent will fail or converge to a more trivial minima e.g. only look for synonyms in the clue.

I reckon you would have to codify the different types of cryptic clues manually for this work well.

2 comments

https://www.crosswordgenius.com/ not sure how this is done but it looks pretty good.

https://unlikely.ai/cryptic-crossword-genius-unlikely-ai-art... has a little more detail.

https://crosswordgenius.com/clue/who-may-get-drunk-with-real... example solution with anagram.

Very cool - the fact that it explains the solution makes me almost certain they have codified the rules here.
Actually, one of the interesting things about cryptic crosswords is that, in some ways, the rules are far more codified.

The specifics definitely depend on the paper, of course, but basics like the fact that the majority of the clues are actually two halves, clueing the word two different ways, and that anagrams are always explicitly clues using words such as "scrambled," "drunken," "off" or whatever could actually make it easier for the human to guide the ML.

well yes, but the beautiful thing about UK cryptics at least is that they regularly intentionally misdirect the user, so you spend some time going down a rabbit hole and realise that you're on a hiding to nothing. I think that kind of game play is what makes a rules-based approach more challenging. I'll have to check out Crossword Genius though.
That might make it easier, not harder, for computers.

Adding in multiple distractor possibilities is a good way to make things harder for humans, with our limited working memory & difficulty chasing a lot of possibilities in parallel, but for a computer that's borderline trivial while it's evaluating each candidate accurately that's hard for a computer to get right. (Think of chess or Go where a computer can descend the game tree down millions of paths easily, but it's accurately evaluating a single board position which is extremely difficult; human players, on the other hand, can evaluate a board at a glance, but can only think through a few lines of play at a time.)

If the rules are simple but there's multiple candidate, the AI will just split at each possible candidate and pursue them until the AI can check whether it fits in the crossword grid or not.

Crossword Genius is from one of the Amazon Alexa founders.
You might not need to codify the rules; you could create a tagged training set which includes additional information, like a ‘parts of speech’ breakdown of how a clue relates to an answer (anagramSignifier - anagramMaterial - association, etc.)

An unsupervised learner could probably do reasonably well at picking up on those patterns, even to the point of considering that a word it hasn’t seen used as an anagram signifier before might be doing that job in a particular clue.

On the other hand, machine translation learning has moved away from using tagged parts of speech as far as I’m aware, and it has nonetheless managed to develop sufficient internal modeling that it is as if it has learned parts-of-speech tagging; it’s possible that an ML on a cryptic clue corpus could develop those same hidden models.

That's still codifying the rules - doing it through the data rather than in preprocessing