The Two Tribes of Language Researchers

TL;DR not-a-rant rant

When I talk to friends who work on human language (#nlproc), I notice two tribes of people. These are folks who do Natural Language Processing and folks who do Computational Linguistics. This distinction is not mine and is blurry, but I think it explains some of the differences in values different researchers place when they see new work.

Natural Language Processing develops methods for solving practical problems involving language, such as information extraction, automatic speech recognition, machine translation, sentiment analysis, question answering, summarization, and so on.

Computational Linguistics studies the computational processes underlying human language. How do we understand language? How do we produce language? How do we learn language? What relationships to languages have with each other? and so on.

In literature, it is common to see a crossover of methods and researchers, from computational linguistics to natural language processing and vice-versa. Lessons from computational linguistics about language can be used to inform priors in natural language processing, and statistical/machine learning methods from NLP can be applied to answer questions Computational Linguistics seeks to answer. In fact, some of these questions have ballooned into disciplines of their own, like Phonology, Morphology, Syntax, Semantics, and Pragmatics.

It helps to know where you stand. Most language folks in the industry (particularly, those focused on products) fall into camp 1: Natural Language Processing. These folks will use “whatever works.” For them, language is a dataset to be plied until they solve a core product problem using any possible tool/method.

Then there are linguists and cognitive scientists who fall into camp 2: Computational Linguistics. While these folks can talk all day about different grammar formalisms, human experiments, social factors, and so on, make no mistake, the folks who study computational linguistics can be pretty computational about it too. For example, see works by Paul Smolensky. For them, the computation is a means to an end. They are more interested in explaining the various language phenomena.

Then, there are folks who like to be in both camps. These are usually (ex-)academics with one foot in the CS department and another in CogSci department. Most good language researchers seem to fall in this part of the continuum.

When you talk to a colleague about your problem, you might feel they “don’t get you,” but in reality, they just stand at a different part of this distribution, and if you communicate well, they will be willing to see your point of view*. There’s a lot to learn from each camp. Learn from all of them. One small insight from a computational linguist can save you teraflops of compute time. And likewise, a tiny idea/approach from an NLPer can save you from a ton of manual work as a linguist.

(*Then there’s a third tribe that likes to work on a particular ML or stats method and wants to advance that agenda. Like the NLP folks, they just view language as data. They have a hammer and pretend to see everything as a nail, whether it is or not. But unlike the NLP folks, they will not care for other methods, other than their narrow agenda. They will go out of their way to justify that their hammer is the only thing in the world you should be using. They’re usually not so interesting to talk to, unless you happen to be using their hammer.)

PS: I’m intentionally not using words like “intelligence”, “thought” etc but leaving it to the PR people.

© 2016 Delip Rao. All Rights Reserved.