42032 - Natural Language Processing for Human-Machine Communication (PLAN-CPM) [UPC]

Type: S3 Course
Semester: Fall
Teaching Points: 15
Offer: Annual
Responsible Unit: CS-UPC
Responsible: Horacio Rodríguez
Language: English


The main goal of this course is to provide students with an in depth knowledge of the techniques, methods and tools, both symbolic and empirical, of Natural Language Processing. The course focuses on systems dealing with human machine communication. Generally these systems manage linguistic knowledge explicitly.

The linguistic knowledge involved can be built from scratch for a specific application or taken from either domain-restricted or general purpose linguistic repositories.

This course is closely coupled with the course on the processing of massive amounts of textual data (Natural Language Processing for massive textual data management). Together they provide students with a broad knowledge of the two basic paradigms in NLP in the context of the two most frequent scenarios.

Finally, the course will introduce students to the most active research areas related to the different course topics.


The content of the course is organised into four blocks:

  • The most interesting applications within human-machine communication.
  • The basic tasks involved in these applications (among others) that have not introduced in previous courses.
  • A general presentation of the theoric foundations of Computational Linguistics
  • A presentation of linguistic resources and tools useful for building interfaces that support human machine communication.

Specifically the course deals with the following topics:

1. Theoric Foundations of Computational Linguistics
  • Review of the basic mechanisms of linguistic representation (phrase structure and unification grammars, logical forms, semantic representation, etc.)
  • Syntactic Calculus, Logical Semantics and Type Logic Grammar
2. Linguistic Resources, acquisition and use.
  • Grammars
  • Lexical Resources, both structured (lexicons, dictionaries, gazetteers) and unstructured (corpora).
  • Lexical and Conceptual Ontologies (e.g., SUMO).
  • The use of Linguistic Resources for NLP.
3. Basic Tasks
  • Reference resolution: Direct and Anaphoric Reference and Co-reference.
  • Named Entity Recognition and Classification.
  • Inference in NLP.
4. Advanced Topics in NLP.
  • Advanced Parsing: Statistical Parsing and Dependence Parsing.
  • Advanced forms of semantic representation and interpretation.
  • Pragmatics and Discourse.
  • Dialog.
5. Applications
  • Machine Translation
  • Question Answering Systems
  • Dialog systems