Nuova ricerca

Federica MANDREOLI

Professore Associato
Dipartimento di Scienze Fisiche, Informatiche e Matematiche sede ex-Matematica

Insegnamento: Big Data Analytics

Matematica (D.M. 270/04) (Offerta formativa 2023)

Obiettivi formativi

L’insegnamento approfondisce le principali tecniche di gestione e analisi di grandi quantità di informazioni nel contesto dei Big Data e del Data Science.
Gli obiettivi specifici sono:
-presentare principi di modellazione e manipolazione di dati NOSQL;
-presentare architetture di Big Data;
-presentare il ciclo di vita dei dati nel Data Analytics e le principali tecniche
-presentare tecniche di text analytics;
-presentare tecniche di graph analytics;
-fornire la capacità di individuare gli strumenti adeguati alla risoluzione di un problema di gestione dell’informazione in contesti di Big Data;
-fornire la capacità di utilizzare tecniche esistenti ed ideare tecniche innovative per la soluzione di problemi di data analytics.

Prerequisiti

Fondamenti di gestione di informazioni relazionali e testuali, algoritmi e strutture dati.

Programma del corso

L'insegnamento comprende 63 ore di didattica frontale (9 CFU), per ognuno degli argomenti è prevista sia l'esposizione degli aspetti teorici sia lo svolgimento di diversi use case ed esercitazioni pratiche.

La scansione dei contenuti in termini di ore è da intendere come puramente indicativa. Essa può infatti subire modifiche nel corso dell’insegnamento alla luce dei riscontri e della partecipazione degli studenti.

Introduzione al corso (2 ore)

Big Data (28 ore)
- Introduzione, sorgenti e tipi di dato
- Modelli dati NoSQL: key-value, document-based, column-based, graph-based
- Architetture BigData: CAP theorem, Hadoop, Spark
- MongoDB: schema design, comandi CRUD, indicizzazione, aggregazione, replicazione
- Neo4j: panoramica, linguaggio Cypher, operazioni di selezione, aggregazione, creazione nodi, indicizzazione

Data Analytics (10 ore)
- Data life cycle
- Data preparation
- Exploratory Data analysis
- Il pacchetto PANDAS per la manipolazione di dati in forma tabellare

Text analytics (12 ore)
- Introduzione e casi d'uso
- Text classification: definizione, metodi di classificazione, supervised machine learning, classificatore Naive Bayes (formalizzazione, learning), valutazione della classificazione (accuracy, precision, recall, f-measure)
- Sentiment analysis: definizione, tecniche, task avanzati, sentiment lexicon
- Relation extraction: definizione, tecniche, utilizzo di pattern e named-entity
- Casi d'uso di classificazione, sentiment analysis e relation extraction con librerie NLTK, Spacy

Graph analytics (11 ore)
- Introduzione e casi d'uso
- Dati graph-structured
- Task, strumenti e algoritmi di graph analytics: path analysis, connectivity analysis, centrality analysis, community analysis
- Utilizzo di Neo4j e applicazione a casi di studio

Metodi didattici

Le lezioni del corso, oltre a fornire approfondimenti sulla teoria e sulle tecniche proposte, prevedono una serie di attività pratiche e progettuali per “toccare con mano” le principali soluzioni tecnologiche viste a lezione. Al termine del corso, lo studente avrà così una visione completa su come progettare, strutturare ed implementare al meglio applicazioni data-centric avanzate nei domini applicativi considerati. Infine, verranno forniti alcuni puntatori per approfondire quanto visto a lezione e mantenersi autonomamente aggiornati sulle nuove tecnologie a propria disposizione.

Tutte le attività saranno svolte in presenza in aule e laboratori.
Le domande, gli interventi e la partecipazione degli studenti sono graditi e incoraggiati. La frequenza non è obbligatoria, ma fortemente consigliata. Il corso è erogato in lingua italiana.

Tutte le informazioni tecniche e organizzative sull'insegnamento, nonché il materiale didattico, saranno caricati su piattaforma moodle.unimore.it. Si invita lo studente ad iscriversi ed a consultare tale piattaforma con regolarità.

Testi di riferimento

Dispense in inglese a cura dei docenti disponibili sul sito del corso.
Il materiale del corso includerà anche una lista di libri e articoli scientifici disponibili per ciascuno degli argomenti trattati, consigliati per eventuali approfondimenti individuali.

Verifica dell'apprendimento

Il corso prevede una serie di attività da svolgere individualmente sui vari argomenti svolti nel corso. La natura anche pratica delle attività, nella forma di approfondimento di tecniche viste a lezione e loro applicazione nel contesto di una reale applicazione data-centric, consente di valutare la capacità di rispondere a specifici requisiti di information management con soluzioni efficaci ed efficienti.

Le attività vengono consegnate preliminarmente all'appello, l’esame consiste nella presentazione e discussione orale delle attività svolte (durata approssimativa 20-25 minuti). Il voto finale dipende dalla valutazione delle attività svolte e dalla presentazione delle stesse. Ogni attività concorre con lo stesso peso alla definizione del voto finale. Il voto finale viene comunicato tramite email tipicamente entro una settimana dalla data dell'appello di riferimento.

Risultati attesi

Conoscenza e comprensione: Tramite le lezioni, lo studente avrà solide conoscenze e capacità di comprensione nell'ambito dei big data e del data analytics.

Capacità di applicare conoscenza e comprensione: Tramite attività pratiche, approfondimenti sulle piattaforme e tecnologie esistenti, e lo svolgimento di attività individuali, lo studente sarà in grado di applicare le conoscenze acquisite nella modellazione, progettazione ed implementazione di progetti di data analytics anche nel contesto dei big data.

Autonomia di giudizio: Tramite lo svolgimento di attività di approfondimento proposte, lo studente sarà in grado di valutare, esporre e discutere criticamente le scelte progettuali adottate in un progetto di data analytics reale.

Abilità comunicative: la stesura delle relazioni relative alle attività proposte e la relativa presentazione daranno modo allo studente di organizzare e presentare con chiarezza e sinteticità, oltre che con linguaggio tecnico appropriato, i risultati del proprio lavoro. Inoltre, lo svolgimento pratico di attività consentirà allo studente un approfondimento della terminologia tecnica in lingua inglese.

Capacità di apprendimento: Le attività descritte consentiranno allo studente di acquisire gli strumenti metodologici per potere provvedere autonomamente al proprio aggiornamento, particolarmente cruciale in un ambito come quello informatico di gestione dell'informazione, dove le tecnologie sono spesso in continua evoluzione.