ADVANCED DATA MINING AND LANGUAGE TECHNOLOGY Canale unico

Docente coordinatore e verbalizzante: LUCA BECCHETTI

Obiettivi formativi

The course will present fundamental technologies for advanced data mining
applications. The course will start with presenting the methodologies for storing
and retrieving information on the Web, mining application logs, mining social
media, collaborative filtering and personalization. The course will also present
the basic technologies for classification and learning, with emphasis on textual data sources.
Applications will include mining of consumer preferences, online marketplaces, digital marketing
and Natural Language Processing applications such as sentiment analysis. As part of the course students will carry on a
field study on a relevant use case for a selected application.

Risultati di apprendimento attesi

Obiettivi generali:
Conoscenza dei principali scenari applicativi di interesse nell'analisi di
collezioni di dati, specialmente testuali
Conoscenza e comprensione dei principali problemi metodologici e di analisi.
Conoscenza delle principali tecniche di soluzione e dei principali strumenti
a disposizione per implementarle.
Comprensione degli aspetti teorici e fondazionali delle principali tecniche per
l'analisi di dati, soprattutto testuali
Capacità di tradurre le nozioni acquisite in programmi per la soluzione di problemi
specifici.
Conoscenza delle principali tecniche di valutazione e loro applicazione a scenari specifici.


Obiettivi specifici:
Capacità di:
- individuare le tecniche più adatte a un problema di analisi dei dati;
- implementare la soluzione proposta, individuando gli strumenti più adatti a
raggiungere lo scopo tra quelli disponibili;
- progettare e realizzari scenari sperimentali per valutare le soluzioni proposte
in condizioni realistiche;

Conoscenza e comprensione:
- conoscenza dei principali scenari applicativi;
- conoscenza delle principali tecniche di analisi;
- comprensione dei presupposti teorici e metodologici alla base delle tecniche principali
- conoscenza e comprensione delle principali tecniche e indici di valutazione
delle prestazioni


Applicare conoscenza e comprensione:
- essere in grado di tradurre esigenze applicative in problemi concreti di analisi
dei dati;
- essere in grado di individuare le tecniche e gli strumenti più adatti alla soluzione dei
problemi concreti di cui sopra;
- essere in grado di stimare a priori, almeno qualitativamente, la scalabilità delle
soluzioni proposte;


Capacità critiche e di giudizio:
Essere in grado di valutare, anche sperimentalmente, l'efficacia, l'efficienza e la scalabilità
delle soluzioni proposte


Capacità comunicative:
Essere in grado di descrivere in modo efficace le specifiche di un
problema e di comunicare ad altri le scelte adottate e le motivazioni sottostanti a
tali scelte.

Capacità di apprendimento:
Il corso consentirà lo sviluppo di capacità di approfondimento autonomo
su argomenti del corso o ad essi correlati. Metterà lo studente nelle condizioni
di individuare e consultare in modo critico manuali avanzati o letteratura scientifica
per affrontare scenari nuovi oppure per applicare tecniche alternative a scenari noti.

Prerequisiti

- Nozioni di algebra lineare
- Conoscenze di Analisi Matematica e studio delle funzioni, conoscenze di base di calcolo delle probabilità e statistica
- Programmazione, algoritmi e strutture dati fondamentali
-

Programma dell’insegnamento

Parte 1 - Ricerca e ranking di documenti

Query booleane ranking di documenti e loro modello vettoriale
Tecniche di ranking
Locality - Sensitive Hashing e individuazione di duplicati e quasi-duplicati in collezioni di documenti

Parte 2 - Sistemi di raccomandazione

Sistemi di raccomandazione Content-based
Collaborative Filtering
Sistemi basati sulla fattorizzazione di matrici
Tecniche basate sulla riduzione della dimensionalità dei dati
Decomposizione a valori singolari - Analisi di componenti principali - LSI

Parte 3 – Classificazione e apprendimento

Classificazione di dati testuali con e senza supervisione
Classificatori di tipo kNN, Naive Bayes, SVM, Alberi di decisione, Random forests.
Introduzione all'analisi del linguaggio naturale e Deep Learning
Applicazioni: Fact checking e disinformazione

Testi di riferimento

- Christopher D. Manning, Prabhakar Raghavan, Henrich Schueze Introduction to Information Retrieval, Cambridge University Press, 2008
- J. Leskovec, A. Rajaraman, and J. Ullman, Mining of Massive Datasets, Cambridge University Press.
- Dan Jurafsky and James H. Martin. Speech and Language Processing
(3rd ed. draft).
- Note e lavori scientifici sugli argomenti trattati suggeriti dal docente

Modalità di svolgimento

La modalità di svolgimento è in presenza. Parte dell'attività consisterà in lezioni di tipo teorico accompagnate da altri di tipo pratico, nel corso delle quali gli studenti metteranno in pratica, insieme al docente, i concetti appresi

Frequenza

Nessuna frequenza obbligatoria

Modalità di esame

Gli studenti sono valutati sulla base di:
- Valutazione di progetti assegnati in itinere e da consegnare durante lo svolgimento del corso, validi per l'anno accademico
- Prova scritta su tutto il programma del corso o su quelle parti che corrispondono a progetti non consegnati
- Prova orale
E' sempre possibile, su richiesta dello studente, essere valutato attraverso un esame scritto e una prova orale sull'intero programma del corso

Esempi di domande

Cos'e' un sistema di machine learning?
Cos'e' un word embedding?
Cos'e' un transformer?
Cos'e' RAG?

Programmazione delle attività didattiche

  • Text Mining

  • Natural Language Processing

Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030

  • Goal5
  • Goal9
  • Goal10
  • Anno accademico2024/2025
  • Corso di studio a cui afferisce l’insegnamentoData Science
  • Codice insegnamento10606654
  • Anno e semestre1º anno - 2º semestre
  • TipologiaAttività formative caratterizzanti
  • AmbitoFormazione informatica e dell'informazione
  • SSDING-INF/05
  • Presenza obbligatoriaNo
  • Linguaeng
  • CFU6 CFU
  • Durata complessiva60 ore
  • Distribuzione delle ore36 classroom hours, 24 training hours