Language is more than sounds ordered according to hidden rules linguists try to detect. Language is used for communication; utterances carry meaningful content from the speaker to the listener. Think about the difference between listening to speech in your mother tongue and in a language you don’t understand.
Most language technology applications relate to this meaningful content. Translation tries to transform the content from one form into another. The ultimate goal of search is to get meaningful answers to your questions—not to find occurrences of specific character strings. A dialogue system has to understand parts of the content and relate to it, and so on.
Semantics is the linguistic study of the meaningful content of natural language utterances. Computational semantics tries to turn this into formal form suitable for applications. Some tasks central to computational semantics are:
- Determine representations suitable for the applications in question and the operations one wants to perform on them. This task share goals with the field of knowledge representation and what is called ontologies in parts of computer science.
- Compute the relationship between specific utterances and their content---analysis from utterance to content and generation from content to utterance.
- Compute the semantic relationships between utterances, in particular the entailment relation. If ‘Rosa is a cow’ then ‘she is an animal’. This lexical entailment may be calculated by the aid of resources like a dictionary, a thesaurus or an ontology, which again may be constructed from large amounts of texts by machine learning. Structural entailment, like from ‘Rosa is a cow or a horse’ and ‘she is not a horse’ to ‘she is a cow’ uses methods derived from logic.