CODICE 90541 ANNO ACCADEMICO 2025/2026 CFU 6 cfu anno 2 COMPUTER SCIENCE 10852 (LM-18) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre PRESENTAZIONE L'insegnamento Natural Language Processing fornisce un'introduzione ai problemi più sfidanti nell'elaborazione dei linguaggi naturali, considerando i tre livelli di sintassi, semantica, pragmatica; vengono discussi i Large Language Models e le più recenti applicazioni degli strumenti di elaborazione del linguaggio naturale, compresa la progettazione e lo sviluppo di ontologie e di chatbot. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Learning how to represent natural language, and understanding which are the main challenges and the related technical solutions for a software system able to understand and process natural language. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Al termine del corso, lo studente/la studentessa sarà in grado di utilizzare strumenti esistenti e progettare e implementare nuovi strumenti per risolvere problemi di Elaborazione del Linguaggio Naturale a livello sintattico e semantico. Sarà inoltre in grado di progettare e implementare un chatbot utilizzando uno dei linguaggi più diffusi per chatbot. Verranno analizzate l’applicazione di tecniche di Machine Learning all’Elaborazione del Linguaggio Naturale, così come approcci simbolici e basati sulla conoscenza. Gli studenti interessati (e ritenuti idonei in base ai risultati di un quiz iniziale) a seguire il corso in modalità innovativa e a migliorare le proprie soft skills acquisiranno anche le seguenti competenze trasversali: competenze personali, livello base competenze sociali, livello base design creativo, livello avanzato PREREQUISITI Lo studente/la studentessa deve conoscere Python. MODALITA' DIDATTICHE Lezioni frontali e laboratori. Al termine del corso deve essere sviluppato un progetto individuale. Per gli studenti coinvolti nelle attività didattiche innovative saranno utilizzate le seguenti modalità: world café progetto creativo individuale (la specifica del progetto è ideata dagli studenti e validata dai docenti) PROGRAMMA/CONTENUTO Introduzione e terminologia NLP Espressioni regolari Sintassi a livello di parola: stop words, TF-IDF, stemming, normalizzazione, distanza minima di modifica Sintassi a livello di frase: grammatiche, Part Of Speech (POS) tagging con Definite Clause Grammars, POS tagging con Hidden Markov Models, confronto critico tra DCG e HMM per il POS tagging Semantica: semantica distribuzionale, word2vec, semantica dei frame, semantica modale, semantica lessicale, WordNet, BabelNet, riconoscimento di entità nominate, ontologie e Semantic Web, ontologie e loro applicazioni, apprendimento e allineamento di ontologie Machine learning e il suo ruolo nella risoluzione dei problemi NLP Large Language Models Pragmatica Applicazioni NLP e riepilogo delle funzionalità NLP più comuni (non banali), con esempi di utilizzo Applicazioni: chatbot TESTI/BIBLIOGRAFIA Le slide e il materiale didattico fornito durante il corso sono sufficienti per seguirlo. DOCENTI E COMMISSIONI VIVIANA MASCARDI Ricevimento: Su appuntamento: inviare un'email a viviana.mascardi@unige.it (specificate nel subject il vostro COGNOME e NOME e l'INSEGNAMENTO per il quale chiedete informazioni) LEZIONI INIZIO LEZIONI In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/10852/studenti-orario Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L’esame consisterà in una parte scritta (domande aperte tradizionali, esercizi) più un progetto individuale (che richiede circa 7-10 giorni per essere completato), i cui risultati dovranno essere presentati oralmente. I docenti potranno integrare le suddette prove con un esame orale. Indicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/10852/studenti-disabilita-dsa MODALITA' DI ACCERTAMENTO L’acquisizione delle competenze previste da questo corso sarà valutata tramite l’esame scritto e il progetto, appositamente concepiti per permettere ai docenti di verificare se lo studente sia effettivamente in grado di progettare e implementare uno strumento che risolva un problema (semplificato) di NLP, nonché di comprendere, presentare e discutere in modo critico le questioni più complesse emerse durante il suo sviluppo. ALTRE INFORMAZIONI Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare i docenti. OpenBadge PRO3 - Soft skills - Creazione progettuale avanzato 1 - A PRO3 - Soft skills - Personale base 1 - A PRO3 - Soft skills - Sociale base 1 - A