Here's the latest Sunday Puzzle from NPR:
This week's challenge comes from listener Derrick Niederman, of Charleston, S.C. Name a famous person (8,4). The last name is a regular uncapitalized word with a single vowel. Change that vowel to make a new word that is humorously defined by the person's first name. Who is it?
Woah, this looks like a tricky one. Let's break it down a little.
- We need a list of famous people; no details about where the target famous person is from, or even whether he or she is living or dead.
- We can filter this list down to persons with an 8-letter first name and 4-letter last name.
- We expect the last name to appear in an English dictionary ("regular uncapitalized word") and have only one vowel, so we can filter accordingly for these features, too.
- Let's call this resulting list C for "candidates". I suspect this is a fairly short list, and it's probably easiest to simply manually work through C to find the solution.
But what if we want to automate this whole puzzle and get a solution?
- We can iterate through the names in C, generating all the 4-letter strings that result when we swap out the vowel in the last name;
- Keep only those that appear in an English lexicon;
Again, we could stop here and intervene manually. The remaining clue is the trickiest part, after all: "a new word that is humorously defined by the person's first name." I think this means that the first name is also a regular word in English. But how do we implement "x is humorously defined by y" in an NLP approach? I know there is research into modeling humor, but I don't know much about it or how well it works. My best bet here would be to instead rely on something like pointwise mutual information to determine how likely the x (vowel-swapped last name) is to co-occur with y (the first name). That might be worth a shot, but there's no guarantee that the "humorously defined by" clue means x and y are likely to co-occur. I'm still mulling over how to approach this puzzle, but I suspect I'll start with a list of famous people, filter it down the the candidate list C, and work on it manually from there.
Good luck, Puzzlers! I'll be back later this week with my solution.
--Levi
No comments:
Post a Comment