DEEP LEARNING FOR NATURAL LANGUAGE PROCESSING

Anno accademico
2025/2026 Programmi anni precedenti
Titolo corso in inglese
DEEP LEARNING FOR NATURAL LANGUAGE PROCESSING
Codice insegnamento
CM0624 (AF:608140 AR:293127)
Lingua di insegnamento
Inglese
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea magistrale (DM270)
Settore scientifico disciplinare
INF/01
Periodo
I Semestre
Anno corso
2
Sede
VENEZIA
Spazio Moodle
Link allo spazio del corso
Il corso si inquadra all’interno del percorso di studi in Computer Science and Information Technology e si concentra sulle più recenti tecniche di analisi automatica del linguaggio naturale. Lo sviluppo del corso è graduale e segue i vari livelli di analisi del linguaggio che vanno dalla morfologia e la sintassi fino ad arrivare alla semantica e alla pragmatica. Ognuno di questi livelli, infatti, serve per risolvere specifici problemi nel campo del Natural Language Processing (NLP) come il syntactic parsing, word embedding, semantic parsing, question answering e l’uso di modelli generativi del linguaggio per sviluppare chatbot come ChatGPT.

Gli approcci presentati sono basati su architetture neurali ma verrà lasciato spazio anche a importanti approcci alternativi per contestualizzare lo stato dell’arte nel campo della disciplina.

L’obiettivo formativo è fornire una conoscenza ampia delle moderne tecniche dell’analisi del linguaggio naturale e indicare i campi in cui essa viene applicata.
Al termine del corso lo studente sarà in grado di:
- Utilizzare e conoscere gli algoritmi fondamentali per l’analisi del linguaggio naturale
- Implementare e addestrare modelli per l’analisi automatica di testo
- Scegliere i modelli più adatti per specifiche applicazioni
Conoscenza di base di algebra lineare e statistica sono consigliate. Si richiede inoltre una conoscenza di Python per le attività pratiche. Le librerie Pytorch e Transformers sono un plus.
Introduction
- The NLP pipeline
- Morphology
- Syntax
- Semantics
- Pragmatics
- Tokenization
- Lemmatization and stemming 
- Word-based analysis
- Sentence-based analysis

NLP Tasks
NLP Benchmarks

Embedding Models
- Word Embedding
- Sentence embedding
- Sense embedding
- Entity embedding

Deep Learning for Sequences
- Recurrent networks and language models
- Backprop through time
- LSTM
- GRU

Attention Mechanisms
- Self-Attention
- Transformers

(Large) Language Models:
- Encoder models
- Decoder Models
- Encoder-Decoder models
- Masked Language Modeling
- Autoregressive Models

NLP Tasks
NLP Benchmarks

Applications
- Text classification (sentiment analysis, language classification, intent classification)
- Named Entity Recognition
- Machine Translation: seq2seq
- Question Answering
- Text Summarization
- Topic Modeling
Tutti i materiali di studio saranno forniti attraverso Moodle.
La verifica dell'apprendimento prevede lo sviluppo da parte dello studente di un progetto individuale in Python volto a mettere in pratica le conoscenze acquisite durante il corso e ad affrontare un problema specifico di NLP. La valutazione si baserà su tre aspetti principali:

1. Capacità di progettazione: Il progetto dovrà riflettere una chiara comprensione dei concetti teorici e delle metodologie apprese. Sarà importante dimostrare una pianificazione strutturata e un approccio critico nella realizzazione del lavoro.
2. Organizzazione del lavoro: Verrà valutata l'abilità nel gestire le varie fasi del progetto, dall'ideazione alla sua implementazione. Questo include la gestione del tempo, la suddivisione delle attività e la collaborazione (se applicabile).
3. Padronanza degli strumenti: Durante la presentazione, lo studente dovrà dimostrare di avere piena padronanza degli strumenti e delle tecnologie usate e piena conoscenza dei concetti introdotti durante il corso.
orale

Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.

A. punteggi nella fascia 18-22 verranno attribuiti in presenza di:
- sufficiente conoscenza e capacità di strutturare il progetto;
- limitata capacità di motivare le scelte implementative;
- sufficienti abilità comunicative, specie in relazione all'utilizzo del linguaggio specifico che attiene ai temi del corso;

B. punteggi nella fascia 23-26 verranno attribuiti in presenza di:
- discreta conoscenza e capacità di strutturare il progetto;
- discreta capacità di raccogliere e/o interpretare i dati, proponendo soluzioni implementative efficaci;
- discrete abilità comunicative, specie in relazione all'utilizzo del linguaggio specifico che attiene ai temi del corso;

C. punteggi nella fascia 27-30 verranno attribuiti in presenza di:
- buona o ottima conoscenza e capacità di strutturare il progetto;
- buona o ottima capacità di raccogliere e/o interpretare i dati, proponendo soluzioni implementative innovative;
- abilità comunicative pienamente appropriate, specie in relazione all'utilizzo del linguaggio specifico che attiene ai temi del corso.

D. la lode verrà attribuita in presenza di conoscenza e capacità di comprensione applicata in riferimento al programma, capacità di giudizio e abilità comunicative, eccellenti.
Il corso si compone di lezioni frontali e attività pratiche in aula utili a consolidare i concetti appresi. Come materiale di studio saranno fornite slide e articoli scientifici.
Programma definitivo.
Data ultima modifica programma: 23/05/2025