Programma dei Moduli del Corso:

Linguistica Computazionale Lm A | Docente:
Claudia Roberta Combei

OBIETTIVI FORMATIVI:  Il corso si propone di offrire una panoramica introduttiva sugli strumenti per l'analisi dei corpora e sui modelli di base per il trattamento automatico delle lingue e del linguaggio.  

CONOSCENZA E CAPACITÀ DI COMPRENSIONE:  Comprendere i concetti fondamentali della linguistica computazionale, comprese le tecniche di base dell'elaborazione del linguaggio naturale.  

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE:  Usare i corpora e gli strumenti di base per l'elaborazione e l'analisi computazionale dei dati e dei fenomeni linguistici.  

AUTONOMIA DI GIUDIZIO:  Valutare criticamente le applicazioni di base del trattamento automatico del linguaggio e i loro limiti.  

ABILITÀ COMUNICATIVE:  Descrivere e spiegare i concetti di base della linguistica computazionale e il funzionamento dei principali metodi del trattamento automatico del linguaggio.  

CAPACITÀ DI APPRENDIMENTO:  Acquisire gli strumenti necessari per approfondire in autonomia aspetti teorici e pratici della linguistica computazionale e per applicarli a nuovi contesti di ricerca.

PREREQUISITI:

È richiesta una comprensione dei concetti di base della linguistica generale. Non sono richieste conoscenze pregresse di programmazione in Python o di sviluppo di modelli e applicazioni NLP. Durante il corso verranno fornite alcune basi di programmazione, utili per affrontare le attività previste dal syllabus.

PROGRAMMA

Il corso si propone di fornire un'introduzione teorica e pratica alla linguistica computazionale e al trattamento automatico del linguaggio. Nella prima parte del corso si illustreranno le metodologie per la raccolta, la compilazione e la gestione dei corpora. Verranno approfondite le tecniche di (pre-)elaborazione del testo (ad es., tokenizzazione, stemming, lemmatizzazione, rimozione stopword, ecc.) e di annotazione linguistica (ad es., POS-tagging, annotazione semantica, ecc.). L'analisi dei dati e dei fenomeni linguistici sarà affrontata attraverso lo studio delle co-occorrenze, delle analisi frequentiste e dell'estrazione dei pattern dai corpora. Saranno, inoltre, introdotti i modelli di base per la rappresentazione del testo, come il Bag-of-Words e il TF-IDF. Saranno inoltre introdotti alcuni modelli di base per la classificazione supervisionata, come il Naive Bayes e la regressione, in relazione ad alcuni task di NLP. Infine, il corso offrirà un'introduzione pratica all'uso di Python per il trattamento automatico del linguaggio, con particolare attenzione alle librerie NLTK e spaCy. Durante le attività pratiche, gli studenti e le studentesse avranno la possibilità di usare le conoscenze acquisite, lavorando da soli/e o in piccoli gruppi su task di raccolta, annotazione e analisi di corpora attraverso strumenti e tecniche della linguistica computazionale. 

MODALITA' DI VALUTAZIONE:  L'esame si compone di due parti: un progetto scritto, concordato con la docente e incentrato su uno degli argomenti del corso, e una prova orale. Il progetto scritto va consegnato almeno una settimana prima della data dell'appello a cui si è iscritti/e. Chi non consegna il progetto scritto non può sostenere la prova orale.   

CRITERI DI VERIFICA DI APPRENDIMENTO:  Durante la prova orale, gli studenti e le studentesse discuteranno il progetto scritto e risponderanno a domande sul programma d'esame. L'esame coprirà sia i temi trattati a lezione sia quelli lasciati allo studio individuale. Saranno oggetto di esame anche i testi di riferimento indicati nel presente syllabus. Le domande saranno di tipo teorico e/o argomentativo. Il voto terrà conto del progetto e dell'accuratezza e delle completezza delle risposte date alla prova orale, oltre che della correttezza terminologica e adeguatezza espositiva. La valutazione dell'esame viene espressa attraverso un voto in trentesimi.  

TESTI ADOTTATI

Nissim, Malvina E Pannitto, Ludovica. (2022). Che cos'è la linguistica computazionale. Roma: Carocci. [tutto]  

Lenci, Alessandro, Montemagni, Simonetta, E Pirrelli, Vito (2016). Testo e computer: Elementi di linguistica computazionale. Roma: Carocci. [capitoli: 1, 2, 4, 7, 8, 9]  

FREQUENZA

La frequenza è facoltativa e il programma è identico per frequentanti e non-frequentanti. Gli studenti e le studentesse non-frequentanti dovranno contattare la docente con congruo anticipo per ottenere le istruzioni necessarie alla realizzazione del progetto scritto.




Linguistica Computazionale Lm B | Docente:
Claudia Roberta Combei

OBIETTIVI FORMATIVI:  Il corso di propone di approfondire alcuni dei temi più rilevanti della linguistica computazionale e del trattamento automatico del linguaggio (NLP). Particolare attenzione sarà dedicata ai modelli neurali, ai Large Language Models (LLMs), all'elaborazione del parlato e alle implicazioni etiche connesse allo sviluppo e all'uso delle tecnologie del linguaggio.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE:  Comprendere gli aspetti teorici, pratici ed etici della linguistica computazionale.  

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE:  Progettare, implementare e valutare sistemi e task NLP avanzati che rispondono a diverse domande di ricerca. 

AUTONOMIA DI GIUDIZIO:  Valutare criticamente le potenzialità e i limiti dei modelli avanzati di NLP (compresi i LLMs). 

ABILITÀ COMUNICATIVE:  Descrivere e spiegare in modo chiaro e preciso i concetti teorici della linguistica computazionale e le applicazioni pratiche delle tecnologie avanzate per il NLP, anche in ottica interdisciplinare.

CAPACITÀ DI APPRENDIMENTO:  Acquisire gli strumenti necessari per approfondire in autonomia aspetti teorici e pratici complessi della linguistica computazionale e applicarli a nuovi contesti di ricerca.  

PREREQUISITI:

Per sostenere l'esame del modulo Linguistica Computazionale B è obbligatorio aver frequentato con profitto il modulo Linguistica Computazionale A. Si richiede familiarità con la programmazione di base in Python e con i concetti fondamentali della linguistica computazionale e del NLP.

PROGRAMMA

Il corso si articola in lezioni teoriche e pratiche. I principali argomenti trattati saranno il riconoscimento automatico del parlato (ASR) e la sintesi vocale vocale (TTS), i modelli avanzati di rappresentazione del significato, gli algoritmi e i modelli di apprendimento automatico, comprese le architetture deep learning e i transformers. Verranno progettati e sviluppati task avanzati di NLP, quali l'analisi del sentiment, delle emozioni e della soggettività; l'identificazione delle fake news e dello SPAM; i sistemi conversazionali (chatbot e dialogue systems); i sistemi di ASR e TTS. Infine, il corso prevede un modulo dedicato agli aspetti etici nel NLP che tratterà i concetti di bias, harm e dual use, la sottorappresentazione linguistica e l'impatto sociale e culturale dei LLMs. Durante le attività pratiche, gli studenti e le studentesse svilupperanno progetti su task di NLP in Python, usando le librerie transformers, speechbrain, pyttsx3, scikit-learn, spaCy, NLTK. 

MODALITA' DI VALUTAZIONE (frequentanti e non frequentanti):  L'esame si compone di due parti: un progetto scritto, concordato con la docente e incentrato su uno degli argomenti del corso, e una prova orale. Il progetto scritto va consegnato almeno una settimana prima della data dell'appello a cui si è iscritti/e. Chi non consegna il progetto scritto non può sostenere la prova orale. 

CRITERI DI VERIFICA DI APPRENDIMENTO (frequentanti e non frequentanti):  Durante la prova orale, gli studenti e le studentesse discuteranno il progetto scritto e risponderanno a domande sul programma d'esame. L'esame coprirà sia i temi trattati a lezione sia quelli lasciati allo studio individuale. Saranno oggetto di esame anche i testi di riferimento indicati nel presente syllabus. Le domande saranno di tipo teorico e/o argomentativo. Il voto terrà conto del progetto e dell'accuratezza e delle completezza delle risposte date alla prova orale, oltre che della correttezza terminologica e adeguatezza espositiva. La valutazione dell'esame viene espressa attraverso un voto in trentesimi.  

TESTI ADOTTATI

Daniel Jurafsky E James H. Martin (2025, online in open-access). Speech and Language Processing. (capitoli 9 Transformers, 10 Large Language Models, 15 Chatbots and Dialogue Systems, 16 Automatic Speech Recognition and Text-to-Speech). Link per scaricare il libro gratuitamente: https://web.stanford.edu/~jurafsky/slp3/ 

Fabio Tamburini (2022). Neural Models for the Automatic Processing of Italian. Bologna: Pàtron Editore. [tutto]

I due manuali indicati sotto la voce "Testi adottati", le slides ed eventuale altro materiale fornito dalla docente durante il corso.

FREQUENZA

La frequenza è facoltativa e il programma è identico per frequentanti e non-frequentanti. Gli studenti e le studentesse non-frequentanti dovranno contattare la docente con congruo anticipo per ottenere le istruzioni necessarie alla realizzazione del progetto scritto.