Computational linguistics is an interdisciplinary field dealing with the statistical and logical modeling of natural language from a computational perspective. This modeling is not limited to any particular field of linguistics. Computational linguistics was formerly usually done by computer scientists who had specialized in the application of computers to the processing of a natural language. Recent research has shown that language is much more complex than previously thought, so computational linguistics work teams are now sometimes interdisciplinary, including linguists (specifically trained in linguistics). Computational linguistics draws upon the involvement of linguists, computer scientists, experts in artificial intelligence, cognitive psychologists and logicians, amongst others.
Computational linguistics as a field predates artificial intelligence, a field under which it is often grouped. Computational linguistics originated with efforts in the United States in the 1950s to have computers automatically translate texts in foreign languages into English, particularly Russian scientific journals. Since computers had proven their ability to do arithmetics much faster and more accurately than humans, it was thought to be only a short matter of time before the technical details could be taken care of that would allow them the same remarkable capacity to process language.
When machine translation (also known as mechanical translation) failed immediately to yield accurate translations, the problem was recognized as far more complex than had originally been assumed. Computational linguistics was born as the name of the new field of study devoted to developing algorithms and software for intelligently processing language data. When artificial intelligence came into existence in the 1960s, the field of computational linguistics became that sub-division of artificial intelligence dealing with human-level comprehension and production of natural languages.
In order to translate one language into another, it was observed that one had to understand the syntax of both languages, and at least at the level of morphology (the syntax of words) and whole sentences. In order to understand syntax, one had to also understand the semantics of the vocabulary, and even to understand something of the pragmatics of how the language was being used. Thus, what started as an effort to translate between languages evolved into an entire discipline devoted to understanding how to represent and process individual natural languages using computers.
Computational linguistics can be divided into major areas depending upon the medium of the language being processed, whether spoken or textual; and upon the task being performed, whether analyzing language (parsing) or creating language (generation).
Speech recognition and speech synthesis deal with how spoken language can be understood or created using computers. Parsing and generation are sub-divisions of computational linguistics dealing respectively with taking language apart and putting it together. Machine translation remains the sub-division of computational linguistics dealing with having computers translate between languages.
Some of the areas of research that are studied by computational linguistics include:
- Computer aided corpus linguistics
- Design of parsers for natural languages
- Design of taggers like POS-taggers (part-of-speech taggers)
- Definition of specialized logics like resource logics for NLP
- Research in the relation between formal and natural languages in general
- Machine Translation, e.g. by a translating computer
- Computational Complexity of Natural Language, largely modeled on Automata Theory, with the application of Context-sensitive grammar and Linearly-Bounded Turing Machines.
The Association for Computational Linguistics defines computational linguistics as:
- …the scientific study of language from a computational perspective. Computational linguists are interested in providing computational models of various kinds of linguistic phenomena.