Specialization in Computacional Linguistics

Computational Linguistics addresses the study of language and the development of linguistic applications with computational means. This track offers a general introduction to the field, presenting the main theoretical and methodological approaches to Natural Language Processing, as well as an overview of several Computational Linguistic applications. It is based on a hands-on approach in which students develop basic skills for data processing and analysis, as well as the use and evaluation of computational models.

This track will allow you to:

  • understand the main research issues in Natural Language Processing, including Machine Learning methods,
  • acquire basic skills for approaching practical work in Natural Language Processing.

Important: For some subjects of the Computational Linguistics track, programming at a basic level is required (see “Programming skills” section below).

Learning objectives

1

To become acquainted with the current approaches to the main research areas in Computational Linguistics, including computational morphology, syntax, and semantics.

2

To understand the internal workings of some language technology applications, such as Machine Translation or Information Extraction.

3

To apply the working methodology in the field, including programming and Machine Learning techniques, at a basic level.

4

To become acquainted with the main resources used in Computational Linguistics, including resource repositories.


Faculty

The faculty associated with this track are active researchers in the field, and have extensive experience in teaching this subject to students with diverse backgrounds, including the Humanities, where the background training does not usually cover formal and quantitative methods. They belong to different research groups in the Department.

Courses

There are two specific specialization courses for Computational Linguistics, taught each year:

  • Natural Language Processing
  • Computational Semantics

In addition, two of the methodology courses that are taught each year are highly recommended for students on the Computational Linguistics track, as they provide knowledge and skills within the relevant area of knowledge:

  • Corpora and computational tools
  • Experimental and observational techniques

Additionally, a levelling course on basic programming in Python is offered to students that want to improve their programming skills, and the course Natural Language Interaction, from the Master’s in Intelligent Interactive Systems, is also available as an elective course for the students that meet its enrollment requirements. 

Language of instruction

The Computational Linguistics specialization courses are taught in English. Students must have enough language skills in English to be able to follow the lectures and participate in class. Exceptionally, written work can be submitted in other languages if permission is previously granted by the instructors.

Programming skills: Prerequisites

We expect students to acquire basic skills in Python programming before the start of the first term (e.g. during the summer prior to the start of the Master’s). If you don’t already have basic skills, we recommend the free online resource Python for Everybody, lessons 1-12, including the exercises. The course requires around 2 hours per lesson. (You are of course welcome to use other learning resources with equivalent contents, such as this MIT course.) To put these skills into practice, you can explore some natural language processing tasks. Using NLTK can be a good starting point, as it offers many handy functions—like tokenizers for various languages. (To get started, you might explore this Colab notebook). Important note: Even if you work through these materials, unless you are very experienced in programming for natural language processing we will ask that you take the Levelling course mentioned above; please bear in mind that the Levelling course does not substitute the aforementioned training and that you are expected to do both.

There will be a tutoring session at the beginning of September where you can talk to your tutor about how to tailor the programming training to your needs. Note that if you have not acquired basic Python skills by the time the Master’s starts, you will not be able to follow the courses in the specialization.

Career paths after the Masters

Computational linguists are currently in high demand for the development of virtual assistants and chatbots, as they typically have both linguistic skills in more than one language and mastery of natural language processing techniques. Employers seek people able to design dialogue systems and build grammars and other language resources for the analysis and generation of conversations suitable for different types of customer services. Computational linguists are also employed to assist in the development of machine-learning and deep-learning systems used for natural language processing. They are expected to have a solid command of the methodology and tools needed to annotate texts with different types of linguistic and extralinguistic knowledge, as well as to quantitatively and qualitatively evaluate the results of the trained systems. The Master’s specialization offers three courses in this area, which provide a basic introduction to these skills and techniques. Students will need to independently acquire further skills to be employed as a computational linguist; a second Master’s or doctoral study may be of interest.

The following companies have employed our alumni: Nuance Communications, Everis, Telefonica, Expert Systems, Inbenta, StratioBD, ForceManager and Amazon.