
Learning and Natural Language Processing
Code: 106585Credits: 6
| Degree programme | Type | Course |
|---|---|---|
| Bachelor in Artificial Intelligence | OP | 3 |
Contact lecturer
- Name :
- Xim Cerdà Company
- Email :
- joaquin.cerda@uab.cat
Teaching staff
- Ernest Valveny Llobet
Group languages
You can consult this information at the end of the document.
Prerequisites
There are no official prerequisites but it is recommended to have completed the subjects of Fundamentals of Programming I and II, Fundamentals of Mathematics I and II, Probability and Statistics, Data Engineering, Fundamentals of Machine Learning, and Fundamentals of Natural Language.
Objectives
This course provides an overview of the Natural Language Processing (NLP) applications, from classical approaches for text processing to advanced methods for person-computer interaction. This course covers both machine learning and deep learning techniques for NLP, considering both text and speech processing.
By the end of this course, students will be able to:
- Understand the fundamental concepts and techniques used in NLP.
- Implement and evaluate various NLP techniques using Python and popular NLP libraries.
- Apply NLP methods to real-world problems and interpret the results.
Learning outcomes
- CM14 (Design solutions to natural language processing projects in any field and application.) Design solutions to natural language processing projects in any field and application.
- CM15 (Evaluate the adequacy of language generation systems to a given application, based on their possible impact on ethical, legal and social aspects such as bias, discrimination, veracity or data privacy and security.) Evaluate the adequacy of language generation systems to a given application, based on their possible impact on ethical, legal and social aspects such as bias, discrimination, veracity or data privacy and security.
- KM32 (Describe the machine learning models, architectures, training procedures, techniques, and methods used in the development of natural language processing systems.) Describe the machine learning models, architectures, training procedures, techniques, and methods used in the development of natural language processing systems.
- SM34 (Use text processing, language modelling, text representation, and sequence analysis techniques and algorithms for the implementation of natural language processing solutions.) Use text processing, language modelling, text representation, and sequence analysis techniques and algorithms for the implementation of natural language processing solutions.
- SM35 (Apply existing text generation and rendering models to different types of language processing problems.) Apply existing text generation and rendering models to different types of language processing problems.
- SM36 (Programme an efficient and optimal use of the infrastructures and resources necessary for the training and application of natural language processing models.) Programme an efficient and optimal use of the infrastructures and resources necessary for the training and application of natural language processing models.
- SM37 (Apply methodologies for evaluating and analysing natural language processing systems that critically consider both performance and potential ethical, legal, and societal biases and implications.) Apply methodologies for evaluating and analysing natural language processing systems that critically consider both performance and potential ethical, legal, and societal biases and implications.
Contents
- Review of Fundamentals of NLP
- Semantic and Pragmatic Analysis
- Transformers for NLP Applications
- Foundations of LLMs
- LLM enhancement techqniques
- Extensions of LLMs
- Foundations models for speech recognition
Learning activities and methodology
| Title | Hours | ECTS | Learning outcomes |
|---|---|---|---|
| Theory classes | 15 | 0.6 | |
| Work on the project | 50 | 2 | |
| Individual studying | 25 | 1 | |
| Project sessions | 6 | 0.24 | |
| Exercise solving | 25 | 1 | |
| Exercise sessions | 25 | 1 |
Sessions will combine three types of teaching activities: theory classes, solving project-based exercises, and a project development. Students will work individually to solve the exercises and in small groups of two or three people for the project.
1. Theory lectures, which will contain the theoretical background needed to solve the exercises and the project will be presented using a presentation. These presentations will contain theoretical concepts, and mathematical formulation, as well as the corresponding algorithmic solutions.
2. Project-based exercises will be developed using Jupyter notebooks to be able to comment, point by point, the coding solutions. These exercises will be submitted regularly through Campus Virtual, explaining the proposed solution and showing the obtained results. Optionally, these exercises could include a report or a presentation for its evaluation. The exercise’s submissions will comprise the portfolio.
3. A project will be carried out during the semester, where students will have to solve a real-world problem. The project will be solved in small groups of two or three students, where each member of the group must contribute a part and put it together with the rest to obtain the final solution. These working groups must be maintained until the end of the semester and must be self-managed in terms of distribution of roles, work planning, assignment of tasks, management of available resources, conflicts, etc. To develop the project, the groups will work autonomously, while the practical sessions will be used (1) for the teacher to present the project theme and discuss possible approaches, (2) for monitoring the status of the project and (3) for the teams to present their final results.
The above activities will be complemented by a system of tutoring and consultations outside class hours.
All the information of the subject and the related documents that the students need will be available at the virtual campus (cv.uab.cat).
Within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.
Note: Fifteen minutes of one class session, within the schedule established by the school/degree programme, will be reserved for students to complete the surveys evaluating both the teaching performance of the instructor and the course/module
Assessment
Continuous assessment activities
| Title | Weight | Hours | ECTS | Learning outcomes |
|---|---|---|---|---|
| Project | 30% | 2 | 0.08 | CM14, CM15, KM32, SM34, SM35, SM36, SM37 |
| Portfolio | 49% | 0 | 0 | CM14, CM15, KM32, SM34, SM35, SM36, SM37 |
| Test | 21% | 2 | 0.08 | CM14, CM15, KM32, SM34, SM35, SM36, SM37 |
To assess the level of student learning, a formula is established that combines knowledge acquisition, the ability to solve problems and the ability to work as a team, as well as the presentation of the results obtained.
Final grade
The final grade is calculated in the following way and according to the different activities that are carried out:
Final grade = 0.7 * Exercises Grade + 0.3 * Project Grade
This formula will be applied as long as the Exercises and Project grades, are higher than 4. If the formula yields >= 5, but the student does not reach the minimum required in any of the evaluation activities, then a final grade of 4.5 will be assigned.
Exercises Grade
The aim of the exercises is to become familiar with the use of the theoretical concepts, and to apply them to a real-world problem. The regular submission of problem solutions will be used as evidence of this work.
In order to obtain a grade for exercises, it is necessary that more than 50% of the exercises are submitted during the semester. In the contrary, the portfolio grade will be 0.
A test about the exercises will be performed individually at the end of the semester. The final problems grade will be the combination of the exercise’s portfolio and this test.
Problems Grade = 0.7 * Portfolio evaluation + 0.3 * Test
The formula will be applied as long as the Test grade is higher than 4.
At the end of the semester, students will have the opportunity to re-submit two different deliveries for retaking, and they will also be able to retake the Test. After the retakes, the maximum grade which can be obtained is 8.
Project Grade
The project carries an essential weight in the overall mark of the subject. Developing the project requires that the students work in groups and design an integral solution to the defined challenge. In addition, the students must demonstrate their teamwork skills and present the results to the class.
The project is evaluated through its report, an oral presentation that students will present in class, and an individual-evaluation process. The participation of students in all three activities (preparing the report, presentation and individual evaluation) is necessary in order to obtain a projects grade. The grade is calculated as follows:
Project Grade = 0.6 * Report + 0.2 * Presentation + 0.2 * Individual evaluation
If performing the above calculation yields >= 5 but the student did not participate in any of the activities (report, presentation, individual evaluation), then a final grade of 4.5 will be given to the corresponding project.
There will be a retake of the project in case the final project grade does not reach the minimum of 4. In case of copy, there will be no recovery and the subject will be considered failed. The maximum project grade that can be obtained in case of retake is 7.
Important notes
Notwithstanding other disciplinary measures deemed appropriate, and in accordance with the academic regulations in force, evaluation activities will be suspended with zero (0) whenever a student commits any academic irregularities that may alter such evaluation (for example, plagiarizing, copying, letting copy, ...). The evaluation activities qualified in this way and by this procedure will not be recoverable. If you need to pass any of these assessment activities to pass the subject, this subject will be failed directly, without opportunity to recover it in the same year.
In this subject, the use of generative Artificial Intelligence technologies is allowed in a controlled manner. The student must clearly identify which parts of his/her work have been carried out with the support of generative AI tools and, in any case, must be able to understand, explain and justify the work carried out. The lack of transparency in the use of generative AI will be considered a lack of academic honesty and may lead to a partial or total penalty in the grade of the activity.
In case the student does not deliver any exercise, and does not attend any project presentation session, the corresponding grade will be a \"non-evaluable\". In another case, the \"no shows\" count as a 0 for the calculation of the weighted average.
In order to pass the course with honours, the final grade obtained must be equal or higher than 9 points. Because the number of students with this distinction cannot exceed 5% of the total number of students enrolled in the course, it is given to whoever has the highest final marks. In case of a tie, the results of the exercises test will be considered.
Bibliography
- D. Jurafsky, J.H. Martin. Speech and Language Processing. Third Edition. 2021 <https://web.stanford.edu/~jurafsky/slp3/>
- R.S.T. Lee. Natural Language Processing. 2024. Springer
- G. Paab. Foundation Models for Natural Language Processing. 2023. Springer
- J. Eisenstein. Natural Language Processing. 2018. MIT Press
- H. Lane, C. Howard, H. M. Hapke. Natural Language Processing in Action. 2019. Manning Publications
- Kenny, Dorothy, ed. Machine translation for everyone. Lanugage Science Press, 2022. < https://langsci-press.org/catalog/book/342>
- Rowe, Bruce M., and Diane P. Levine. A concise introduction to linguistics. Routledge, 2018.
Software
For the problems and projects of the course we will use Python, along with some Python libraries for NLP that will be specified during the course.
Course groups and languages
The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE
| Type of teaching | Group | Language | Semester | Shift |
|---|---|---|---|---|
| (TE) Theory | 71 | English | second semester | afternoon |
| (PAUL) Classroom practices | 711 | English | second semester | afternoon |
| (PLAB) Practical laboratories | 711 | English | second semester | afternoon |