Computational Linguistics (CL) is a discipline between linguistics and computer science, which is concerned with the computational aspects of the human language faculty. It belongs to the cognitive sciences and overlaps with the field of Artificial Intelligence (AI), a branch of computer science aiming at computational models of human cognition. Computational linguistics has applied and theoretical components.
Theoretical CL takes up issues in theoretical linguistics and cognitive science. It deals with formal theories about the linguistic knowledge that a human needs for generating and understanding language. Today these theories have reached a degree of complexity that can only be managed by employing computers. Computational linguists develop formal models simulating aspects of the human language faculty and implement them as computer programs. These programs constitute the basis for the evaluation and further development of the theories.
Applied CL focuses on the practical outcome of modelling human language use. The methods, techniques, tools and applications in this area are often subsumed under the term Language Engineering or (Human/Natural) Language Technology. Although existing CL systems are far from achieving human ability, they have numerous possible applications. The goal is to create software products that have some knowledge of human language. Such products are urgently needed for improving human-machine interaction since the main obstacle in the interaction beween human and computer is a communication problem. Computers do not understand natural language, while computer languages do not correspond to the structure of human thought. Even if the language the machine understands and its domain of discourse are very restricted, the use of human language can increase the acceptance of software and the productivity of its users.
Even the way in which people produce and comprehend language remains unclear, the understanding of the intricate mechanisms that underly human language processing keeps growing. Modelling such mechanisms on a computer helps to discover and formally describe hidden properties of human language that are relevant for any kind of language processing application.
For many students and practitioners of Computational Linguistics the special attraction of the discipline is the combination of expertise from the humanities, natural and behavioural sciences, and engineering. Scientific approaches and practical techniques come from linguistics, computer science, psychology, and mathematics. At some universities the subject is taught in computer science, at others it belongs to linguistics or cognitive science, while there is a small but growing number of programs and departments dedicated solely to Computational Linguistics.