DEEP LEARNING FOR NATURAL LANGUAGE PROCESSING

Anno accademico
2024/2025 Programmi anni precedenti
Titolo corso in inglese
DEEP LEARNING FOR NATURAL LANGUAGE PROCESSING
Codice insegnamento
CM0624 (AF:451273 AR:286742)
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 o di gruppo, a discrezione dello studente) 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.

I criteri per la valutazione sono i seguenti:

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.
Inglese
orale

Questo insegnamento tratta argomenti connessi alla macroarea "Cambiamento climatico e energia" e concorre alla realizzazione dei relativi obiettivi ONU dell'Agenda 2030 per lo Sviluppo Sostenibile

Programma definitivo.
Data ultima modifica programma: 11/10/2024