The goal of this course is to provide the fundamentals of Natural Language Processing (NLP) to the student. Concretely, the course is an introduction to the most relevant drawbacks involved in NLP, the most relevant techniques and resources used to tackle with them, and the theories they are based on. In addition, brief descriptions of the most relevant NLP applications are included. The course will focus on knowledge-based and empirical-based approaches to NLP (both statistical and machine learning).
IHLT provides the basic NLP knowledge in order to course AHLT and HLE. While AHLT goes in depth in the NLP statistical techniques, HLE reviews the state of the art on real applications in which NLP technology is involved.
Person in charge
Jordi Turmo Borrás (
Gerard Escudero Bakx (
Generic Technical Competences
CG1 - Capability to plan, design and implement products, processes, services and facilities in all areas of Artificial Intelligence.
CG3 - Capacity for modeling, calculation, simulation, development and implementation in technology and company engineering centers, particularly in research, development and innovation in all areas related to Artificial Intelligence.
Technical Competences of each Specialization
CEA5 - Capability to understand the basic operation principles of Natural Language Processing main techniques, and to know how to use in the environment of an intelligent system or service.
CEP4 - Capability to design, write and report about computer science projects in the specific area of ??Artificial Intelligence.
CEP6 - Capability to assimilate and integrate the changing economic, social and technological environment to the objectives and procedures of informatic work in intelligent systems.
CEP7 - Capability to respect the legal rules and deontology in professional practice.
CT3 - Ability to work as a member of an interdisciplinary team, as a normal member or performing direction tasks, in order to develop projects with pragmatism and sense of responsibility, making commitments taking into account the available resources.
CT4 - Capacity for managing the acquisition, the structuring, analysis and visualization of data and information in the field of specialisation, and for critically assessing the results of this management.
CT6 - Capability to evaluate and analyze on a reasoned and critical way about situations, projects, proposals, reports and scientific-technical surveys. Capability to argue the reasons that explain or justify such situations, proposals, etc..
Understand the fundamental concepts of Natural Language Processing, most well-known techniques and theories as well as most relevant existing resources.
Understand most relevant applications of NLP and the theories, tecniques and resources they use.
Design and development of programs to solve specific problems in the NLP context, involving the selection of most appropiate techniques and resources as well as the use of existing resources. There would be one larger programs to be developed in groups of two students.
Reason (ocassionally, in group) about several problems in the NLP context that imply considering different techniques and resources.
Document Structure and Language
Text selection, Tokenization, Sentence splitting, Language Identifiers
Morphology, Finite States Automata, Finite States Transducers.
PoS tagging, Hidden Markov Models.
Lexical semantics, Semantic resources.
Word Sense Diambiguation.
Recognition and classification of word sequences with meaning.
BIO discriminative models. Conditional Random Fields (CRF).
Named Entity Recognition and Classification (NERC).
Syntactic grammars, typology. Context free grammars. Probabilistic context free grammars. Chomsky normal form grammars.
Syntactic parsers, properties and strategies. CKY and probabilistic CKY parsers.
Coreference resolution. Mention detection. Types of techniques for the generation of coreferents chains. Mention-pair model. Entity-mention model. Rankers model.
There are two types of sessions: theory/exercise and laboratory.
In each theory/exercise session we will introduce new concepts together with the challenges they present and the approaches to face them. In addition, we will solve some exercises to fix those concepts, techniques and algorithms introduced in the session.
In the laboratory sessions small practices will be developed using the appropriate NLP tools to practice and reinforce the knowledge learned in the theory classes.
There will be a unique exam at the end of the course, one project adn a deliverrable for each lab session. The exam will include all the course contents.
The mark of the project and deliverables will be computed by considering the documents presented by the students.
The final mark of the course will be calculated as follows:
Course mark = final exam mark* 0.5 + project mark * 0.4 + deliverables of lab sessions * 0.1
Speech and Language Processing: An Introduction to Natural Language Processing, Speech Recognition and Computational Linguistics -
Jurafsky, Daniel & Martin, James H.,
Prentice-Hall, Inc., 2009.