Skip to content

AI in Cambridge #2: Natural Language Processing Mystery Cache

Hidden : 7/18/2022
Difficulty:
2.5 out of 5
Terrain:
1.5 out of 5

Size: Size:   micro (micro)

Join now to view geocache location details. It's free!

Watch

How Geocaching Works

Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.

Geocache Description:


The cache is not at the listed coordinates, but is a short walk away. This is the second in a series of mystery caches devoted to AI. This cache requires no computer science experience; Google searches are all you need. BYOP. Mail AI.in.Cambridge@gmail.com if you need help.

Note: not all answers are single digits.

To solve this cache, you'll learn about Natural Language Processing (NLP), the branch of AI enabling computers to use language like humans do.

That's hard – so hard that some have argued that any computer able to use language must be considered intelligent.

In 1950, a British computer scientist asked whether a computer might one day be able to ask questions to determine the gender of humans in another room. He called this "the imitation game", which is the title of a movie about his life.

A = The number of letters in his last name.

There have been three stages in the evolution of NLP. The first was the symbolic stage, in which computers used rules to analyze and synthesize language. While at MIT, Joseph Weizenbaum created a program that used pattern matching to simulate a psychologist. Some people mistook the program for a human, which is surprising given the low quality of its discourse:

User: I want to know the coordinates of the cache.

AI program: Why do you want to know the coordinates of the cache?

User: So that I can find it.

AI program: What does that suggest to you?

User: That I like geocaching.

AI program: That is quite interesting.

Weizenbaum never claimed his program was intelligent, and reportedly was irritated by people who did.

What was Weizenbaum's program called?

B = The number of letters in the program's one-word name.

As the symbolic stage of NLP progressed, concerns emerged that simple rules wouldn't be sufficient to encompass the richness of language. One specific claim was that while rules might be enough to deal with the syntax of a language, that alone wouldn't be enough for semantics – to understand the meaning. Linguist Noam Chomsky, before he turned to politics and had a bee named after him, composed a sentence that was clearly well-formed but nonsensical, illustrating that one could have perfect syntax without semantics.

How do colorless green ideas sleep?

C = The number of letters in the answer.

The statistical stage of NLP came next: using probabilities and mammoth datasets of text (called corpora) to reason about likely interpretations of language. (It won't help you find this cache, but the Google Books Ngram Viewer is a fun resource for exploring the occurrences of words and phrases in the millions of books that Google has scanned.)

The statistical approach proved useful for machine translation – getting computers to translate between two languages. Bootstrapping a statistical machine translation system requires "parallel" text corpora, like the Rosetta Stone with the same passage in Ancient Greek, hieroglyphs, and Demotic script. Or, more recently and usefully, documents produced by Canada and the EU written in one language and then professionally translated into others.

The first step in working with a parallel text corpus is alignment – matching individual words (or phrases, or sentences) between the original text and the translated text. For instance, "Thanks for the cache" in English translates to "Merci pour le cache" in French. That aligns perfectly: if we number the English words 1234, the French ordering is also 1234 because "Thanks" is "Merci", "for" is "pour", and so on.

Align "The quick brown fox" in French.

D = The four-digit word ordering of "The quick brown fox" translated into French. It's a permutation of 1234.

We're currently in the third stage of NLP: Neural NLP, in which deep neural nets and representation learning are enabling further gains.

Neural machine translation uses a vector representation of words. Imagine a very large space where every English word is a single point somewhere in that space. The words "king" and "queen" are two points in the space. The words "man" and "woman" are two other points in the space, and so are "boy" and "girl". If you construct your space properly, the distance and direction that you travel – that's the vector – between each of those pairs of words will be the same. This enables computers to make analogies.

What is the term for this vector representation in NLP?

E = the number of letters in the single-word, singular, term.

The cache is at:

N 42 21.D – B2 – E3 + A•B•C

W 71 5.D/2 – A3 – 2A

 

Additional Hints (Decrypt)

Unatvat erq ovfba, nobhg svir srrg bss gur tebhaq, zvqqyr gerr.

Decryption Key

A|B|C|D|E|F|G|H|I|J|K|L|M
-------------------------
N|O|P|Q|R|S|T|U|V|W|X|Y|Z

(letter above equals below, and vice versa)