Il corso si propone di approfondire le varie metodologie e tecniche dell’elaborazione automatica del linguaggio naturale (Natural Language Processing, NLP). Le studentesse e gli studenti conosceranno in maniera dettagliata diversi algoritmi del NLP e li sapranno applicare tramite il linguaggio di programmazione Python. Impareranno a valutare i risultati ottenuti, in maniera quantitativa e qualitativa.
Prerequisiti
È necessario aver seguito il corso di Linguistica Computazionale di base. Non sono richieste conoscenze pregresse di programmazione o di statistica.
Metodi didattici
Il corso si articolerà in lezioni frontali e in laboratori, in cui le studentesse e gli studenti lavoreranno su esercitazioni pratiche. Tra queste rientreranno compiti di trattamento automatico del linguaggio svolti mediante il linguaggio di programmazione Python.
Verifica Apprendimento
L'esame consiste in due parti: un colloquio orale sul programma d'esame, atto a valutare le capacità critiche e le conoscenze dello studente, e un elaborato riguardante un breve progetto su un task di linguistica computazionale, scelto tra quelli discussi a lezione.
Testi
D. Jurafsky e J.H. Martin (in press). Speech and Language Processing, Prentice Hall. (3rd Edition DRAFT). Jezek, E., e Sprugnoli, R. (2023). Linguistica Computazionale. Introduzione all'analisi automatica dei testi. Il mulino. Articoli discussi a lezione
Contenuti
La prima parte del corso fornisce un approfondimento sui task principali della pipeline tradizionale del NLP. Saranno affrontati i diversi algoritmi utilizzati per i task di tokenizzazione, lemmatizzazione, pos tagging e parsing sintattico. Nella seconda parte, ci si focalizzerà sulla semantica e pragmatica computazionale. Particolare attenzione sarà data alla discussione e alla creazione dei diversi tipi di Word Embeddings, alle risorse lessicali, e alla loro applicazione in diversi task semantici e pragmatici (Word Sense Disambiguation, Sentiment Analysis, Topic Modeling, identificazione dell’ironia, delle metafore, di contenuti impliciti e di discorsi d’odio). Nella terza parte, si approfondiranno i Large Language Models (LLM), gli algoritmi e i dati usati per la loro creazione, la prompt engineering e il loro uso, gli studi riguardo alla verifica delle loro abilità. Infine, si discuteranno alcune considerazioni etiche sullo sviluppo e sull’utilizzo delle tecnologie del linguaggio.
Lingua Insegnamento
ITALIANO
Altre informazioni
Tutto il materiale didattico sarà disponibile sul portale della didattica KIRO (accesso con credenziali di Ateneo).