skip to primary navigationskip to content

Department of Computer Science and Technology



Course pages 2021–22

Introduction to Computational Semantics

Principal lecturers: Dr Weiwei Sun, Prof Simone Teufel
Taken by: MPhil ACS, Part III
Code: L98
Term: Lent
Hours: 16 (16 x 1 hour lectures)


This is a lecture-style course that introduces students to various aspects of the semantics of Natural Languages (mainly English):

  • Lexical Semantics, with an emphasis on theory and phenomenology (4 sessions)
  • Compositional Semantics (9 sessions)
  • Discourse and pragmatics-related aspects of semantics (3 sessions)

Learning outcomes

  • Give an operational definition of what is meant by “meaning” (for instance, above and beyond syntax);
  • Name the types of phenomena in language that require semantic consideration, in terms of lexical, compositional and discourse/pragmatic aspects, in other words, argue why semantics is important;
  • Demonstrate an understanding of the basics of various semantic representations, including logic-based and graph-based semantic representations, their properties, how they are used and why they are important, and how they are different from syntactic representations;
  • Know how such semantic representations are derived during or after parsing, and how they can be analysed and mapped to surface strings;
  • Understand applications of semantic representations e.g. reasoning, validation, and methods how these are approached.
  • When designing NL tasks that clearly require semantic processing (e.g. knowledge-based QA), to be aware of and reuse semantic representations and algorithms when designing the task, rather than reinventing the wheel.

Practical advantages of this course for NLP students

  • Knowledge of underlying semantic effects helps improve NLP evaluation, for instance by providing more meaningful error analysis. You will be able to link particular errors to design decisions inside your system.
  • You will learn methods for better benchmarking of your system, whatever the task may be. Supervised ML systems (in particular black-box systems such as Deep Learning) are only as clever as the datasets they are based on. In this course, you will learn to design datasets so that they are harder to trick without real understanding, or critique existing datasets.
  • You will be able to design tests for ML systems that better pinpoint which aspects of language an end-to-end system has “understood”.
  • You will learn to detect ambiguity and ill-formed semantics in human-human communication. This can serve to write more clearly and logically.
  • You will learn about decomposing complex semantics-reliant tasks sensibly so that you can reuse the techniques underlying semantic analyzers in a modular way. In this way, rather than being forced to treat complex tasks in an end-to-end manner, you will be able to profit from partial explanations and a better error analysis already built into the system.


  1. Word senses
  2. WSD algorithms
  3. Semantic roles
  4. Semantics of modifiers (adjectives, noun-noun relations, sentiment)
  5. Truth conditions and types
  6. Syntax--semantics transparency and categorial grammar
  7. Graph-based meaning representations
  8. Meaning representations in natural language generation
  9. Scope-related issues
  10. Compositional distributional models
  11. Discourse processing
  12. Topic structure and Focus structure
  13. Reasoning
  14. Semantics of comparatives
  15. Presuppositions and Gricean Maxims
  16. Figurative language


  • Two short tasks / exercises (10% each)
  • Take-home test (80%)

Further Information

Due to COVID-19, the method of teaching for this module will be adjusted to cater for physical distancing and students who are working remotely. We will confirm precisely how the module will be taught closer to the start of term.