MATEMATICA E INFORMATICAInformaticaAnno accademico 2023/2024
9796702 - NATURAL LANGUAGE PROCESSING
Docente: MISAEL MONGIOVI'
Risultati di apprendimento attesi
Secondo i descrittori di Dublino studenti e studentesse dovranno, alla fine del corso, acquisire:
1) Conoscenza e comprensione:
Lo studente avrà una solida comprensione dei principi di base e degli strumenti per l'elaborazione del linguaggio naturale.
Sarà in grado di comprendere gli avanzamenti più recenti nello stato dell'arte nel campo dell'elaborazione del linguaggio naturale.
2) Capacità di applicare conoscenza e comprensione
Lo studente sarà capace di analizzare un testo per estrarre informazioni sintattiche e semantiche rilevanti.
Utilizzerà in modo efficace gli strumenti specifici per la risoluzione dei principali task di elaborazione del linguaggio naturale.
Sarà in grado di orientarsi nel panorama delle tecniche di elaborazione del linguaggio e di proporre soluzioni innovative per affrontare problemi pratici in questo campo.
3) Autonomia di giudizio:
Lo studente sarà in grado di valutare le tecniche e gli strumenti disponibili nel campo dell'elaborazione del linguaggio naturale e di selezionare quelli più adatti a risolvere problemi specifici.
4) Abilità comunicative:
Lo studente avrà acquisito il lessico tipico del campo dell'elaborazione del linguaggio naturale e sarà in grado di utilizzare i termini in modo corretto e non ambiguo, facilitando la comunicazione con altri esperti del settore e con non specialisti.
5) Abilità di apprendimento:
Lo studente avrà le capacità metodologiche, sia teoriche che pratiche, per affrontare e risolvere nuove problematiche nel campo dell'elaborazione del linguaggio naturale.
Sarà inoltre dotato di una solida autonomia di studio, permettendogli di approfondire tematiche specifiche e di rimanere aggiornato sugli ultimi sviluppi e avanzamenti del settore.
Modalità di svolgimento dell'insegnamento
Il corso alternerà lezioni frontali ad esercitazioni guidate allo scopo di fornire un chiaro collegamento tra i concetti teorici e la loro applicazione pratica.
Prerequisiti richiesti
Il corso richiede la conoscenza della programmazione, delle strutture dati e degli algoritmi elementari, nonché dei concetti di base di probabilità e statistica.
Frequenza lezioni
Frequenza facoltativa ma fortemente raccomandata
Contenuti del corso
Introduzione all'elaborazione del linguaggio naturale. Analisi lessicale e sintattica. Modelli di linguaggio basati su N-grams. Word embeddings. Part-Of-Speech Tagging. Parsing sintattico della frase. Analisi semantica. Word Sense Disambiguation. Database lessicali e network semantici: WordNet, BabelNet. Named Entity Recognition. Entity linking. Semantic Role Labeling. Risoluzione delle co-referenze. Modelli neurali di linguaggio: Trasformer ed embedding contestuale. Classificazione di testi. Similarità semantica tra testi. Estrazione di conoscenza da corpus testuali. Large language models. Applicazioni: question answering e chatbot; traduzione automatica; sentiment analysis e stance detection; verifica automatica dei fatti. Librerie, tool e repository: OpenNLP, NLTK, spaCy, PyTorch, HuggingFace.
Testi di riferimento
D. Jurafsky & J.H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition (third edition), Prentice Hall
Programmazione del corso
| Argomenti | Riferimenti testi |
1 | Introduzione al Natural Language Processing | |
2 | Normalizzazione del testo | |
3 | Modelli di linguaggio basati su N-gram | |
4 | Classificazione di testo attraverso Naive Bayes | |
5 | Classificazione di testo attraverso Regressione Logistica | |
6 | Semantica distribuzionale e word embeddings | |
7 | Risorse lessicali | |
8 | Modelli di linguaggio neurali | |
9 | Transformers | |
10 | BERT | |
11 | POS-tagging e Named Entity Resolution | |
12 | Parser sintattici | |
13 | Parser semantici | |
14 | Architetture GPT (Generative Pretrained Transformer) | |
15 | Utilizzo di Large Language Models (LLMs) | |
16 | Applicazioni di NLP | |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Le conoscenze saranno valutate mediante una prova scritta, seguita da una prova orale che valuterà il progetto e la capacità di applicare le conoscenze acquisite.
Esempi di domande e/o esercizi frequenti
- Descrivere le tecniche di smoothing dei modelli di linguaggio basati su N-grams, evidenziando vantaggi e e limiti dei vari metodi.
- Discutere l'importanza dei word embeddings nella comprensione del linguaggio naturale. Illustra il funzionamento del modello Word2Vec.
- Illustrare la rappresentazione delle parole mediante vettori sparsi basata su tf-idf e cosine similarity. Discuterne brevemente i limiti.
- Descrivere il modello BERT illustrandone la strategia di pre-training.
- Descrivere l’utilizzo di una feed-forward network con un hidden layer per la classificazione di testo.
- Esplora il ruolo dei Trasformer nell'ambito dei modelli neurali di linguaggio. Illustra il funzionamento del self-attention layer in un blocco transformer.
English version