Monday, April 01, 2024

Waiter and Waitress, etc.

Welcome back, Natural Language Puzzlers! Here is this week's Sunday Puzzle from NPR:

This week's challenge: In honor of women's history month, all our challenge contributors in March have been women. To close out the month, I have this related challenge. 

The English language developed in a patriarchal society, so many words in our language were traditionally assumed to be male, and turned into female versions by adding a prefix or suffix. Waiter and waitress, comedian and comedienne — those are just two examples of the many stereotypically "male" words that become new "female words" by adding a suffix.

There is a common English word that works the opposite way. What is the common English word that is generally used to refer exclusively to women, but which becomes male when a two-letter suffix is added?

This one is more like a trivia question than a puzzle, unfortunately, and if you speak English and spend more than three seconds thinking about this you're probably going to get it. The solution came to mind readily; it seems this week the challenge will be constructing an NLP approach that can produce the same solution.

In fact, any of the big chatbots available to us might have a good chance at solving this one, given that it's relatively straightforward and a question of knowledge rather than any kind of complicated puzzle processing. Let's try it.

Chatbot Showdown!

Microsoft Copilot:


Screenshot of Copilot getting the correct solution

I've redacted the solution for now, but Copilot got this correct. It also added some nonsense about transforming "spinster" into "bachelor", but we'll just ignore that part.


Google Bard Gemini (or whatever they're calling it this week):

What is it about chatbots and "spinsters"?


In keeping with recent trends, a total failure here by Google Gemini.

Score: Microsoft Copilot 1, Google Gemini 0.


But let's imagine an approach to get the answer without a chatbot...

I think we could back off to a less sophisticated but still very powerful language model, like a huggingface BERT model or even the smaller GPT-2. In this case, I think we could get pairs of these "male" and "female" words by creating some sentence templates and asking the model to fill them in. For example:

  • In this industry, a male worker is referred to as a ______ and a female worker is referred to as a ______.
  • I don't think society should treat a male ______ any differently than a female ______.
  • Sometimes there are different versions of a word, like ______ refers to a man and ______ refers to a woman.
For each sentence, we take the k most probable word pairs according to the model. The puzzle tells us we add a two-letter suffix to the female word to get the male word, so we can simply iterate through our list of word pairs and see if they meet our conditions:

for pair in word_pairs:
    if pair[0] == pair[1][:-2] and len(pair[1]) == len(pair[0]) - 2:
        print("SOLUTION: ", pair)

Let's hope for a "real" puzzle next week! In the meantime, I'll be back to share my solution after the Thursday deadline.

April 6, 2024 Update

The Thursday deadline has passed, so here's my solution: 


See you next week!

No comments:

Post a Comment

Director, anagram, film award

Welcome back to Natural Language Puzzling, the blog where we use natural language processing and linguistics to solve the Sunday Puzzle from...