⛵ Learning Meaning in Natural Language Processing — The Semantics Mega-Thread
In which Twitter talked about meaning, semantics, language models, learning Thai and Java, entailment, co-reference — all in one fascinating thread.
Last week a tweet by Jacob Andreas triggered a huge discussion on Twitter that many people have called the meaning/semantics mega-thread.
Twitter is a great medium for having such a discussion, replying to any comment allows to revive the debate from the most promising point when it’s stuck in a dead-end.
Unfortunately Twitter also makes the discussion very hard to read afterwards so I made three entry points to explore this fascinating mega-thread:
- a summary of the discussion that you will find below,
- an interactive view to explore the trees of tweets, and
- a commented map to get an overview of the main points discussed:

These map and summary are obviously selective/biased by my personal interests and familiarity with the topics discussed, so if you notice anything wrong or mis-represented please (i) go back to the actual tweets and (ii) send me a message 📨
🏎 A crash course on Lexical Meaning & Semantics
If you already know what we mean by “Meaning/Semantics” in NLP, you can skip this part and go straight to the debate 🔥
For the CS/ML folks out there here are a few words of introduction.
First, it’s important to state that Meaning in Natural Language is a multi-facetted concept with semantic, pragmatic, cognitive and social aspects. The discussion that happened on Twitter was mainly about lexical semantics and compositionality so I will focus on this sub-field for brevity. You will find additional links to broaden this view at the end of this section.
Meaning is the information that a sender intends to convey, or does convey, to a receiver.
Now, we know that strings are already a representation of meaning, so why should we go any further than just raw text?
Well there are several reasons we may want to distinguish meaning from raw text.
One reason is that the field of NLP/NLU aims at building systems that understand what you say to them, trigger actions based on that and convey back meaningful information. Let’s take a simple example:

Given some knowledge of math, we want our NLU system to produce an appropriate answer.
It’s difficult to (i) link raw text to a knowledge base of mathematical facts in our system and (ii) combine pieces of knowledge together to infer an answer. One solution is to define an intermediate meaning representation (sometimes called a Logical Form) that is more easy to manipulate.
For example in our case:
Meaning representation: 𝑚𝑎𝑥(𝚙𝚛𝚒𝚖𝚎𝚜 ∩(−∞; 𝟣𝟢))
We can then execute this expression with respect to a model of the world, like our database of knowledge, to get an answer. This way, we have also factored out the understanding of language (called semantic parsing) from the world knowledge (the problem of grounding meaning of in the real word).
Advantageously, our representation of the meaning of a sentence can thus:
- provide a way to link language to external knowledge base, observations, and actions;
- support computational inference, so that concepts can be combined to derive additional knowledge as human do during a conversation.
Two other nice requirements for this representation:
- unambiguous: one meaning per statement (unlike natural language);
- expressive enough to cover the full range of things that people talk about.
Natural language as raw text doesn’t fulfill most of these criteria!
Arelated line of research is Formal Semantics which seek to understand linguistic meaning by constructing models of the principles that speakers use to convey meaning.
The tools of formal semantics are similar to NLU/NLP tools but the aim is to understand how people construct meaning more than any specific application.
Now there is a lot more to meaning than just logic forms and grounding. A few examples: “But I didn’t mean it literally!!” (speaker meaning ≠ literal meaning), “Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo.” (yes, this is a real sentence with a meaning but you need to find the right sense for each buffalo!) and so on…
A few pointers: Our simple example came from this nice article by Percy Liang. As a quick overview of the field, I would recommend chapters 12 and 13 of J. Eisenstein’s book “Natural Language Processing”. They will take you through the main ideas, tools up to recent research on Meaning in NLP. Emily M. Bender’s ACL 2018 tutorial is a nice way to see how Meaning can be a multi-headed monster 🐍 to say the least!
Now back to our mega-thread!
🔥 Triggering a debate on Meaning
As often, the discussion was sparked by a mention of sentence embeddings




