Natural Language Processing for Software Engineering
Persone
Docente titolare del corso
Assistente
Descrizione
The course deals with text search and extraction. The course will present techniques and approaches for the representation of natural language text as a numerical embedding, to support search on large corpora. Then, we will consider various algorithms for text analysis at the syntactic and semantic level, including parts of speech tagging, constituency and dependency parsing, semantic role labelling, text summarization, sentiment analysis and language models. We will cover also large language models and prompt engineering. Students will develop a search engine that can query a large Python code repository.
Obiettivi
This course deals with the extraction of knowledge from text, using natural language processing algorithms, and its use to address several software engineering tasks.
Modalità di insegnamento
In presenza
Impostazione pedagogico-didattica
Students will be involved in practical exercises and will experiment with the presented techniques by applying them to the course project.
Modalità d’esame
Optional written mid-term exam; final oral exam; optional homework; mandatory project.
Programma
- Master of Science in Artificial Intelligence, Lezione, A scelta, 1° anno
- Master of Science in Artificial Intelligence, Lezione, A scelta, 2° anno
- Master of Science in Software & Data Engineering, Lezione, 2° anno
- Dottorato in Scienze informatiche, Lezione, A scelta, 1° anno (2.0 ECTS)