- Docente: Matteo Golfarelli
- Crediti formativi: 6
- SSD: ING-INF/05
- Lingua di insegnamento: Inglese
- Moduli: Matteo Golfarelli (Modulo 1) Gianluca Moro (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Cesena
-
Corso:
Laurea Magistrale in
Ingegneria e scienze informatiche (cod. 8614)
Valido anche per Laurea Magistrale in Digital Transformation Management (cod. 5815)
Laurea Magistrale in Ingegneria e scienze informatiche (cod. 8614)
-
Orario delle lezioni (Modulo 1)
dal 23/09/2024 al 16/12/2024
-
Orario delle lezioni (Modulo 2)
dal 19/09/2024 al 12/12/2024
Conoscenze e abilità da conseguire
Al termine del corso lo studente: -conosce le principali tecniche di data mining e text mining - conosce le metodologie di gestione e sviluppo di progetto - sviluppa competenze pratiche nella generazione, nell'analisi e interpretazione dei risultati mediante esercitazioni pratiche svolte con tool commerciali e/o open source.
Contenuti
Il corso è organizzato in due moduli di cui il primo è comune sia per gli studenti del CdS in Ingegneria e Scienze Informatiche (ISI), sia per gli studenti del CdD in Digital Transformation Management (DTM). Il secondo modulo è diverso per i due CdS.
------------ Modulo I: Data Mining (ISI + DTM)
1. Introduzione al Data Mining: i possibili ambiti applicativi
2. Il processo di scoperta della conoscenza
- Progettare un processo di data mining
- La metodologia CRISP-DM
3. Comprendere e preparare i dati
- Caratteristiche dei diversi tipi di dato
- Esplorazione statistica dei dati
- Qualità dei dati
- Preprocessing: selezione e creazione degli attributi
- Misurare la Similarità e dissimilarità tra i dati
4. Le tecniche di data mining
- Classificazione con alberi di decisione e reti bayesiane
- Regole associative e sequeze
- Clustering
- Individuazione di anomalie (Outlier)
5. Interpretazione e validazione dei risultati
6. Il software Weka [http://www.cs.waikato.ac.nz/ml/weka/]
7. Analisi di casi di studio
------------ Modulo II ISI: Text Mining (Prof. Gianluca Moro)1. Text Representation, Retrieval, Classificazione ed Opinion Mining
2. Language Models, Transformers, Meccanismi di Attention Efficienti, Retrieval-augmented Generation con VectorDB
3. Vision-Language Models, Graph Machine Learning e Metodi Neuro-simbolici per Trustworthy AI
4. Large Language Model Generativi, Prompt Engineering, Metodi di Valutazione, Compressione e Quantizzazione, Parameter-Efficient Fine-Tuning (e.g. QLoRA, Prompt Tuning) e Large Action Models
5. Laboratori su casi di studio reali - Text Summarization, Information Extraction, Chatbot e Function Call Generation etc. - con Python e strumenti open source: Hugging Face framework, LangChain, LlamaIndex, Milvus etc.
------------ Modulo II DTM: Machine Learning (Prof. Matteo Francia)
1. Introduzione a reti neurali e Deep Learning
- Acquisizione e comprensione dei dati
- Preprocessing ed estrazione di feature
- Modellazione
- Valutazione e comprensione dei risultati
Testi/Bibliografia
------------ Modulo I: Data Mining (ISI + DTM)
Pang-Ning Tan, Michael Steinbach, Vipin Kumar Introduction to Data Mining. Pearson International, 2006.
------------ Modulo II ISI: Text Mining (Prof. Gianluca Moro)
Il materiale didattico è fornito dal docente nel portale “virtuale“ del corso essendo l’area del Natural Language Processing in forte evoluzione. I riferimenti bibliografici seguenti sono ad accesso libero/gratuito e valgono come materiale suggerito per alcuni capitoli trattati a lezione:
Gerhard Paaß , Sven Giesselbach. Foundation Models for Natural Language Processing Pre-trained Language Models Integrating Media Book Open Access © 2023 (disponibile gratuitamente)
Dan Jurafsky and James H. Martin. Speech and Language Processing (3rd ed. draft, 2024)
GitHub repository con codice, dataset modelli e riferimenti allo stato dell’arte
Christopher Manning, Hinrich Schutze, Prabhakar Raghavan. Introduction to Information Retrieval. Cambridge University Press, 2008
Metodi didattici
Lezioni in aula ed esercitazioni in laboratorio
Modalità di verifica e valutazione dell'apprendimento
Interrogazione orale e discussione di un elaborato. L'elaborato da concordarsi con uno dei due docenti, consiste nell'implementazione di un algoritmo di data mining tra quelli disponibili in letteratura oppure nell'analisi di una banca dati con le tecniche studiate a lezione.
L'obiettivo della verifica è quello di capire se le tecniche studiate sono state comprese e se lo studente ha sviluppato capacità pratiche di operare sui dati, di comprenderne il contenuto e di scoprire informazioni nascoste.
I voti vengono assegnati in base a una valutazione complessiva delle conoscenze, competenze, capacità di presentazione e discussione delle tematiche trattate. I range di voti corrispondono possono essere descritti come segue:
18-23: preparazione e capacità di analisi sufficienti ma relative ad un numero limitato di argomenti affrontati nel corso, utilizzo di un linguaggio complessivamente corretto;
24-27: preparazione tecnicamente adeguata ma con alcuni limiti rispetto agli argomenti trattati, capacità di analisi buone, anche se non particolarmente articolate, espresse in un linguaggio corretto;
28-30: ottima conoscenza di un ampio numero di temi affrontati nel corso, buone capacità di analisi e di critica, padronanza della terminologia specifica;
30L: conoscenza eccellente e molto approfondita ed esaustiva dei temi affrontati nel corso, capacità di analisi critica e di collegamento, padronanza della terminologia specifica.
Strumenti a supporto della didattica
Le esercitazioni in laboratorio saranno svolte principalmente utilizzando i software R, Weka e Python (Colab)
Link ad altre eventuali informazioni
http://bias.csr.unibo.it/golfarelli/
Orario di ricevimento
Consulta il sito web di Matteo Golfarelli
Consulta il sito web di Gianluca Moro