Principali libri di testo:
A. Rajaraman, J. D. Ullman, Mining of Massive Datasets, Cambridge University Press , 2011
D. Jurafsky, J. H. Martin, Speech and Language Processing, 2020
D. Sarkar, Text Analytics with Python, Apress, 2019
Ulteriori letture:
Ian Witten, Text Mining - 2004
C.D. Manning, P. Raghavan, P. Raghavan, Introduction to Information Retrieval, Cambridge University Press – 2008
Dettagli sulla disponibilità dei libri on-line o in biblioteca sono forniti nella pagina moodle del corso
Obiettivi Formativi
Obiettivo del corso è quello di fornire le conoscenze e capacità necessarie a progettare e sviluppare sistemi che permettano di estrarre conoscenza da grandi quantità di dati con particolar riferimento ad applicazioni nell'ambito di sistemi di analisi di documenti.
- Conoscenza delle tecniche di base del Data Mining che consentono di modellare grandi
quantità di dati ed estrarne informazione utile.
- Conoscenza delle problematiche relative all'estrazione di informazione da documenti sia testuali che non testuali.
- Conoscenza dei principali modelli e algoritmi in Information Retrieval e Natural Language Processing
Prerequisiti
Sono essenziali le conoscenze apprese nel corso di Algoritmi e Strutture Dati. La conoscenza delle basi di Apprendimento Automatico può risultare utile.
Metodi Didattici
Lezioni frontali, esercitazioni in classe.
Altre Informazioni
Gli esami orali vengono svolti dopo aver concluso
la relazione.
Modalità di verifica apprendimento
Durante il corso è prevista l'analisi di un articolo scientifico e la sua presentazione ai colleghi durante le lezioni.
La verifica finale consta di una relazione in cui si approfondisce quanto presentato a lezione e di una prova orale.
Nel complesso la verifica deve permettere allo studente di mostrare le capacità di:
- Saper analizzare un problema pratico e progettare una sua soluzione
- Saper applicare le principali tecniche descritte durante il corso tramite implementazione di un modulo software o tramite analisi teorica
- Saper interagire con colleghi per portare avanti lo svolgimento del progetto
- Saper descrivere in modo accurato in forma scritta la ricerca svolta
- Saper descrivere metodi ed algoritmi degli argomenti trattati nel corso
Programma del corso
Data Mining
Datawarehouse. Hardware. Disk Organization. Access times
Distributed file systems. Map Reduce, Word count, Matrix-Vector and Matrix Multiplication with Map Reduce
The market-basket model. Association rules. Algorithms for computing frequent item-sets and Association Rules. Hash-based filtering. PCY algorithm, Random sampling, SON algorithm, Apriori with MapReduce. Bloom filters.
Finding similar items. Document similarity, shingling, min-hashing
Locality sensitive hashing (LSH)
Families of hash functions. LSH for cosine distance. LSH for Euclidean distance.
Curse of dimensionality. Distance measures.
Clustering, Hierarchical clustering, k-means clustering. SOM clustering
BFR algorithm, CURE algorithm. Dimensionality reduction. Principal Component Analysis (PCA). Singular Value Decomposition (SVD)
Text Mining. Information Retrieval. Boolean and Vector Space Model
Linguistic pre-processing: tagging, stop-word removal, lemmatization, stemming. Wildcard queries. N-grams, Edit-distance Vectorial Model. TF-IDF. Inverted Index.
Spelling correction. Performance evaluation in Information Retrieval (Precision, Recall).
Probabilistic language models. Text classification. Word meaning, vector semantics. Dense embeddings. POS tagging. NE recognition