Subject
Programming Techniques for NLP
General details of the subject
- Mode
- Face-to-face degree course
- Language
- English
Description and contextualization of the subject
The objective of the course is to learn the basics and to learn how to use programming techniques useful for Natural Language Processing (NLP), with a fully hands-on, exercise-based approach. The course will provide a brief introduction to the Python programming language, including exercises using NLP-specific libraries and standards for representing linguistic information in texts.Teaching staff
Name | Institution | Category | Doctor | Teaching profile | Area | |
---|---|---|---|---|---|---|
PEREZ DE VIÑASPRE GARRALDA, OLATZ | University of the Basque Country | Profesorado Agregado | Doctor | Bilingual | Computer Architecture and Technology | olatz.perezdevinaspre@ehu.eus |
Competencies
Name | Weight |
---|---|
Capacidad para gestionar y diseñar sistemas basados en lenguajes estándares para el etiquetado de información lingüística. | 25.0 % |
Habilidad para gestionar, enriquecer y manejar recursos lingüísticos para el procesamiento del lenguaje humano. | 25.0 % |
Habilidad para manejar las estrategias y herramientas basadas en conocimiento para el procesamiento del lenguaje humano. | 25.0 % |
Habilidad para el manejo y la adaptación de los métodos simbólicos y basados en corpus (aprendizaje automático) más relevantes para la investigación en las tecnologías de la lengua. | 25.0 % |
Study types
Type | Face-to-face hours | Non face-to-face hours | Total hours |
---|---|---|---|
Lecture-based | 20 | 30 | 50 |
Applied computer-based groups | 40 | 60 | 100 |
Learning outcomes of the subject
- Work with basic problems that require processing of sequences, lists, plain text, etc.- Know the basic elements of structured and modular programming: (a) control structures: sequential, conditional and iterative, (b) subprograms and (c) data structures.
- Learning to write and use libraries relevant to PLN application development.
- Implement a specific language processing task with autonomy using self-management and self-regulation techniques. Identify the underlying problem in a situation by gathering the necessary information and selecting the relevant elements for objective understanding.
Ordinary call: orientations and renunciation
Continuous Evaluation SystemGrading tools and percentages:
Practical assessments (exercises, cases or problems): 70%.
Final work: 30%.
Final Evaluation System
Rating tools and percentages:
Written test: 70%
Final work: 30%
Extraordinary call: orientations and renunciation
Final Evaluation SystemRating tools and percentages:
Written test: 70%
Final work: 30%
Temary
1 Introduction2 Programming fundamentals
3 Advanced applications
Bibliography
Basic bibliography
- Notebook for learning basic Python: http://nbviewer.ipython.org/github/ehmatthes/intro_programming/blob/master/notebooks/syllabus.ipynb- Natural Language Processing in Python (http://www.nltk.org/book)
- 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. https://github.com/sonofmun/ESU-2014
(In Basque) Python programazio-lengoaia http://www.unibertsitatea.net/blogak/python/
- Think Python: How to Think Like a Computer Scientist (http://greenteapress.com/thinkpython2/html/index.html) Downey, Allen,Second edition, updated for Python3. ISBN 9781491939420 PMC 932322857
- SPARQL + Wikidata tutorial: https://www.wikidata.org/wiki/Wikidata:SPARQL_tutorial
- Programming Historian: https://programminghistorian.org/en/lessons/?topic=python