XSL Content

Programming Techniques for NLP

General details of the subject

Face-to-face degree course

Description and contextualization of the subject

El objetivo del curso es que los estudiantes usen con un enfoque totalmente práctico basado en ejercicios, herramientas de software utilizadas en el procesamiento del lenguaje natural (PLN). Durante el curso se verá una breve introducción al lenguaje de programación Python, incluyendo paquetes específicos para el PLN y ejercicios con el estándares para representar información lingüística en textos.

Teaching staff

NameInstitutionCategoryDoctorTeaching profileAreaE-mail
SORALUZE IRURETA, ANDERUniversity of the Basque CountryProfesorado Laboral Interino UniversidadDoctorBilingualComputer Languages and


Ability to manage and design systems based on standard languages for the labelling of linguistic information.25.0 %
Ability to manage, enrich and manage linguistic resources for human language processing.25.0 %
Ability to manage knowledge-based strategies and tools for human language processing.25.0 %
Ability to use and adapt the most relevant symbolic and corpus-based methods (automatic learning) for research into language technologies.25.0 %

Study types

TypeFace-to-face hoursNon face-to-face hoursTotal hours
Applied computer-based groups4060100

Training activities

NameHoursPercentage of classroom teaching
Computer work practice, laboratory, site visits, field trips, external visits100.040 %
Lectures50.040 %

Assessment systems

NameMinimum weightingMaximum weighting
OTROS20.0 % 20.0 %
Practical tasks40.0 % 40.0 %
Presentations20.0 % 20.0 %
Written examination20.0 % 20.0 %

Learning outcomes of the subject

Work with basic problems that require treatment of sequences, lists, plain text ¿

Know the basic elements of structured and modular programming: (a) control structures: sequential, conditional and iterative, (b) subprograms and (c) data structures.

Learn to write code and use relevant Python libraries or other specific language for NLP application development.

Implementation of a specific task of language processing with autonomy using techniques of self-management and self-regulation.

Identify the underlying problem in a situation, gathering the necessary information and selecting the relevant elements for objective understanding.


1. Conceptos básicos de programación

2. Funciones y clases

3. Estructuras de datos básicas

4. Librerías para la construcción y tratamiento de recursos lingüísticos

5. Aplicaciones avanzadas


Basic bibliography

Notebook for learning basic Python

Natural Language Processing in Python (

Analyzing Text with the Natural Language Toolkit. Steven Bird, Ewan Klein, and Edward Loper. O'Reilly Media, 2009

Advanced Topics in Humanities Programming with Python.

Referencias para los formatos KAF y NAF:

Representing linguistic information on text. KAF format. OpeNER project.