Dipartimento di Ingegneria e architettura Ingegneria dell’intelligenza artificiale e della sicurezza informatica Linguistica computazionale e Elaborazione del parlato GLOT-01/A 09/IINF-05/A (9 CFU) – (Ingegneria dell’Intelligenza Artificiale e della Sicurezza Informatica) PdS 2024-2025 – II anno

Home Didattica Corsi di Laurea triennali e Magistrali Ingegneria dell’intelligenza artificiale e della sicurezza informatica (Ingegneria dell’Intelligenza artificiale e della Sicurezza informatica) Frequentare il corso (Ingegneria dell’Intelligenza Artificiale e della Sicurezza Informatica) PdS 2024-2025 Linguistica computazionale e Elaborazione del parlato GLOT-01/A 09/IINF-05/A (9 CFU) – (Ingegneria dell’Intelligenza Artificiale e della Sicurezza Informatica) PdS 2024-2025 – II anno
Insegnamento Linguistica Computazionale e Elaborazione del parlato
CFU 9
Settore Scientifico Disciplinare GLOT-01/A 09/IINF-05/A
Metodologia didattica

Lezioni Frontali

Nr. ore di aula 54
Nr. ore di studio autonomo 171
Mutuazione Nessuna
Annualità II
Periodo di svolgimento Secondo Semestre
Docente Ruolo SSD docente
La Quatra Moreno RTD-A 09/IINF-05/A
Villata Sandra RTD-B GLOT-01/A
* PO (professore ordinario), PA (professore associato), RTD (ricercatore a tempo determinato), RU (Ricercatore a tempo indeterminato), DC (Docente a contratto).
Propedeuticità Machine Learning
Prerequisiti Nessuno
Sede delle lezioni Dipartimento di Ingegneria ed Architettura – Polo Scientifico e Tecnologico in Contrada Santa Panasia
N Nome del modulo Docente Durata in ore
1 Elaborazione del Parlato Moreno La Quatra 36 (6 cfu)
2 Linguistica Computazionale Sandra Villata 18 (3 cfu)
Orario delle lezioni

L’orario delle lezioni sarà pubblicato sulla pagina web del sito Unikore:

https://gestioneaule.unikore.it/agendaweb_unikore/index.php?view=easycourse&_lang=it

 

Obiettivi formativi

L’insegnamento ha lo scopo di fornire una solida introduzione alle branche fondamentali dell’intelligenza artificiale: la linguistica computazionale, l’elaborazione del parlato e del linguaggio naturale. Lo scopo di questo insegnamento è quello di fornire una descrizione teorica valida e tecnicamente accurata dei moderni sistemi di elaborazione del parlato e del linguaggio naturale con tecniche statistiche e di machine learning.

Nel modulo di linguistica computazionale, verranno introdotti i concetti base della disciplina riguardanti lo studio dei suoni linguistici (fonetica, fonologia), delle unità minime di significato (morfologia) e della struttura della frase (sintassi). Si studierà il processo di produzione del parlato, la rappresentazione del parlato nei domini del tempo e della frequenza, i principali suoni e caratteristiche (features) del parlato (vocali, consonanti) ed i sistemi di trascrizione fonetica (International Phonetic Alphabet – IPA). Si studierà la rappresentazione dei suoni linguistici attraverso spettrogrammi e verranno introdotti cenni all’uso di Praat per l’analisi degli stessi. Si studieranno le principali applicazioni computazionali della morfologia (text normalization) e verranno introdotti cenni all’uso di RStudio. Verranno trattate le espressioni regolari (regex), cenni sulle grammatiche formali e cenni sui modelli n-gram.

Nel modulo di rappresentazione ed elaborazione del testo, il corso tratterà le tecniche di rappresentazione delle parole e delle sequenze. Verranno introdotte e approfondite le architetture neurali basate su transformers e il meccanismo di attention, inclusi gli encoder, i decoder e i modelli encoder-decoder. Per quanto riguarda la rappresentazione e l’analisi del parlato in forma audio, il corso coprirà le rappresentazioni di base (e.g., forme d’onda, short time fourier transform (STFT)), le operazioni di pre-processing e gli strumenti di modellazione nell’elaborazione del parlato, con particolare enfasi sui modelli allo stato dell’arte basati su architetture neurali. Si introdurranno anche metodi e tecniche specifiche per la valutazione dei modelli trattati.

L’obiettivo del corso è fornire agli studenti solide basi teoriche che consentano loro di selezionare, applicare e valutare diversi metodi per applicazioni dell’elaborazione del linguaggio naturale e del parlato nel mondo reale, ad esempio nel campo medico o della sicurezza informatica. Gli studenti acquisiranno anche le competenze richieste per ideare nuovi approcci basati sui framework che verranno presentati durante le lezioni. Il corso prevede esercitazioni che consentiranno agli studenti di esercitare le nozioni teoriche sui dati reali utilizzando moderni framework di programmazione ampiamente utilizzati sia dalle comunità di ricerca che dalle aziende.

Contenuti del Programma
1 Introduzione alla linguistica computazionale Frontale 2h
2 Fonetica acustica e articolatoria Frontale 2h
3 Spettrogrammi e cenni di Praat Frontale 2h
4 Percezione del parlato e fonologia Frontale 2h
5 Morfologia Frontale 2h
4 Grammatiche formali ed Espressioni regolari Frontale 4h
5 N-Gram Frontale 4h
6 Word Embeddings e Rappresentazione delle Parole Frontale 2h
7 Tecniche di Vettorializzazione delle Parole Frontale 2h
8 Word2Vec: Skip-gram e CBOW Frontale 2h
9 Modelli Basati su Contesto: GloVe e FastText Frontale 2h
10 LSTM per l’elaborazione del linguaggio naturale Frontale 2h
11 Introduzione ai Transformers Frontale 2h
12 Meccanismo di Attention Frontale 4h
13 Encoder, Decoder e Modelli Encoder-Decoder Frontale 4h
14 Applicazioni dei Transformers in NLP Frontale 2h
15 Introduzione all’Elaborazione del Parlato Frontale 2h
16 Rappresentazione Audio Frontale 4h
17 Modelli di Deep Learning per l’elaborazione del parlato Frontale 2h
Risultati di apprendimento (descrittori di Dublino)

Alla fine del corso, gli studenti dovranno aver conseguito le seguenti abilità, conoscenze e competenze:

Conoscenza e capacità di comprensione: L’insegnamento si propone di completare la formazione di base necessaria per la progettazione sistematica e strutturata di un sistema di elaborazione del linguaggio naturale e del parlato. Lo studente saprà comprendere le motivazioni teoriche alla base dei diversi approcci di rappresentazione delle parole e delle sequenze, nonché delle tecniche avanzate di elaborazione del parlato. Conoscerà le principali proprietà, il dominio di applicazione e i limiti dei metodi trattati, valutandone criticamente l’efficacia e analizzando quali strategie sono più adatte alle diverse applicazioni.

Conoscenza e capacità di comprensione applicate: Lo studente alla fine del corso acquisirà una buona conoscenza dei principali principi di base dell’apprendimento automatico statistico applicato al riconoscimento e alla classificazione di pattern. Acquisirà conoscenze sulle principali tecniche di rappresentazione delle parole e sequenze, inclusi i word embeddings e le reti neurali ricorrenti. Sarà introdotto ai modelli basati su architettura transformers, comprendendo i loro componenti fondamentali e il meccanismo di attention (self-attention e cross-attention). Sarà in grado di implementare i diversi algoritmi utilizzando framework di programmazione diffusi (Python e PyTorch) e saprà applicare metodi diversi a compiti reali, valutarne criticamente l’efficacia e analizzare quali strategie sono più adatte alle diverse applicazioni. Infine saprà trasferire le conoscenze e le capacità acquisite per risolvere nuovi problemi di rappresentazione delle parole, sequenze e audio, sviluppando nuovi metodi basati sui framework che verranno discussi durante l’insegnamento.

Autonomia di giudizio: Lo studente sarà in grado di valutare la qualità di una soluzione in termini di semplicità, leggibilità, efficienza e possibilità di riutilizzo. L’autonomia di giudizio sarà valutata esaminando le soluzioni proposte dagli studenti a problemi di media complessità.

Abilità comunicative: Lo studente acquisirà la capacità di comunicare ed esprimere problematiche inerenti all’oggetto dell’attività formativa utilizzando una terminologia appropriata e corretta.

Capacità di apprendere: Lo studente acquisirà la capacità per apprendere i processi di analisi dei requisiti di una proposta progettuale. Inoltre avrà gli strumenti per approfondire autonomamente le conoscenze di base impartite durante il corso.

Testi per lo studio della disciplina

Testi principali:

  1. Jurafsky and J. H. Martin, Speech and Language Processing – An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. Prentice Hall PTR, Upper Saddle River, NJ, United States. (capitoli 2, 3, 6, 9, 10)

Materiale didattico a disposizione degli studenti:

  • Le diapositive presentate durante il corso (caricate settimanalmente online)
  • Esercizi svolti in classe

Testi di approfondimento:

  • Chris Manning and Hinrich Schütze (1999). Foundations of Statistical Natural Language Processing. MIT Press. Cambridge, MA. (capitoli 1, 3 ed eventuali altri estratti che verranno indicati)
  • Tom Bäckström, Okko Räsänen, Abraham Zewoudie, Pablo Pérez Zarazaga, Liisa Koivusalo, Sneha Das, Esteban Gómez Mellado, Mariem Bouafif Mansali, Daniel Ramos, Sudarsana Kadiri and Paavo Alku. “Introduction to Speech Processing”, 2nd Edition, 2022. URL: https://speechprocessingbook.aalto.fi, DOI: 10.5281/zenodo.6821775.
Metodi e strumenti per la didattica

I metodi didattici prevedono solamente lezioni frontali. Tutti gli strumenti utili al corso verranno forniti in aula e messi a disposizione dello studente.

La frequenza dell’insegnamento è fortemente consigliata ma non obbligatoria.

Modalità di accertamento delle competenze

L’esame consisterà in una prova scritta che verte sui contenuti dell’insegnamento. La prova si compone di domande a risposta chiusa, domande che richiedono sintetiche risposte aperte sui contenuti trattati durante l’insegnamento, le letture assegnate, ed i testi di riferimento, ed esercizi che richiedono di applicare le conoscenze acquisite durante l’insegnamento. I punti associati ad ogni domanda saranno chiaramente indicati nella prova d’esame accanto ad ogni domanda. La somma dei punti delle domande dei due moduli (linguistica computazionale ed elaborazione del parlato) sarà uguale a 32 per ogni modulo, per un totale di 64 punti. Il voto finale sarà calcolato attraverso una media ponderata tra i due moduli che rifletterà i diversi CFU di ognuno. L’esame si considera superato con una votazione minima di 18. La tabella di conversione dei punti in 30esimi è la seguente:

Punti 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49
Voto 30 e lode 30 e lode 30 e lode 30 e lode 30 30 29 29 28 28 27 27 26 26 25 25
Punti 48 47 46 45 44 43 42 41 40 39 38 37 36 35 <35            
Voto 24 24 23 23 22 22 21 21 20 20 19 19 18 18 esame non superato
Date di esame

Le date di esami saranno pubblicate nell’agenda web del sito Unikore:

https://gestioneaule.unikore.it/agendaweb_unikore/index.php?view=easytest&_lang=it

Indietro