Knowledge extraction and information retrieval
A.A. 2022/2023
Obiettivi formativi
The course provides a general introduction to information retrieval research concerning both the state of the art and the main research trends in the field. In particular, the course addresses the issues of document retrieval, document classification, topic discovery and language modeling. Besides an updated review of the literature, the course is then focused on the evaluation of information retrieval systems, the use of machine learning techniques on textual data collections, and on latent and probabilistic semantic indexing. Finally, the course provides also an introduction to the use of NoSql databases for the implementation of information retrieval systems.
Risultati apprendimento attesi
Students will acquire the following skills: 1) knowing and understanding the main topics as well as the research issues and the future trends in the field of information retrieval; 2) learn how to apply natural language processing, indexing, clustering and classification techniques to a corpus of texts for a specific information need; 3) being able to judge the quality of different design and implementation choices; 4) being able to design, implement, and evaluate a specific project focused on document search or document classification; 5) understand the notion of language model and being able to detect language specificities and topics in a corpus of text documents; 6) being able to use the Python stack of libraries and tools required to develop a text analysis project.
Periodo: Secondo trimestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Secondo trimestre
Programma
Il corso fornisce un'introduzione approfondita ai principali temi di ricerca nell'ambito del Deep Learning applicato al Natural Language Processing, in particolare per gli obiettivi di Information Retrieval. Oltre alle lezioni frontali, il corso prevede un progetto finale attraverso il quale gli studenti acquisiranno le competenze necessarie per progettare, implementare e comprendere i principali modelli di reti neurali per il linguaggio naturale, utilizzando Python e Pytorch.
INTRODUZIONE AL RECUPERO DELLE INFORMAZIONI
Introduzione al corso, modalità e calendario degli esami. Introduzione al recupero delle informazioni. Tokenizzazione e indicizzazione basata sulla frequenza.
VECTOR SPACE MODEL, VALUTAZIONE E FEEDBACK
Scoring, ponderazione dei termini e modello dello spazio vettoriale. Preelaborazione del testo. Valutazione di un sistema di information retrieval. Feedback sulla pertinenza e query expansion. Miglioramento delle prestazioni tramite feedback.
CLASSIFICAZIONE DEL TESTO E TOPIC MODELING
Modelli supervisionati e non supervisionati per la classificazione del testo. Scomposizioni matriciali e topic models. Implementazione e utilizzo di LDA. Apprendimento zero-shot. Introduzione ai modelli di classificazione del deep learning.
INTRODUZIONE AL DEEP LEARNING PER NLP
Backpropagation e reti neurali feedforward. Vettori di parole e documenti. Word2Vec.
LANGUAGE MODELS
Reti neurali ricorrenti e language models. Vanishing gradients, apprendimento Seq2Seq. Modelli LSTM e GRU. Architetture Encoder-Decoder per l'apprendimento di sequenze. Autoencoders.
ATTENZIONE E TRASFORMATORI
Meccanismo di attenzione nell'architettura encoder-decoder. Alcuni modelli di trasformatori: BERT. GPL2.
APPLICAZIONI
Generazione del linguaggio naturale. Integrazione delle basi di conoscenza nei modelli linguistici.
INTRODUZIONE AL RECUPERO DELLE INFORMAZIONI
Introduzione al corso, modalità e calendario degli esami. Introduzione al recupero delle informazioni. Tokenizzazione e indicizzazione basata sulla frequenza.
VECTOR SPACE MODEL, VALUTAZIONE E FEEDBACK
Scoring, ponderazione dei termini e modello dello spazio vettoriale. Preelaborazione del testo. Valutazione di un sistema di information retrieval. Feedback sulla pertinenza e query expansion. Miglioramento delle prestazioni tramite feedback.
CLASSIFICAZIONE DEL TESTO E TOPIC MODELING
Modelli supervisionati e non supervisionati per la classificazione del testo. Scomposizioni matriciali e topic models. Implementazione e utilizzo di LDA. Apprendimento zero-shot. Introduzione ai modelli di classificazione del deep learning.
INTRODUZIONE AL DEEP LEARNING PER NLP
Backpropagation e reti neurali feedforward. Vettori di parole e documenti. Word2Vec.
LANGUAGE MODELS
Reti neurali ricorrenti e language models. Vanishing gradients, apprendimento Seq2Seq. Modelli LSTM e GRU. Architetture Encoder-Decoder per l'apprendimento di sequenze. Autoencoders.
ATTENZIONE E TRASFORMATORI
Meccanismo di attenzione nell'architettura encoder-decoder. Alcuni modelli di trasformatori: BERT. GPL2.
APPLICAZIONI
Generazione del linguaggio naturale. Integrazione delle basi di conoscenza nei modelli linguistici.
Prerequisiti
Conoscenza intermedia di Python. Conoscenza di base delle derivate e comprensione della notazione e delle operazioni matriciali/vettoriali. Cenni di probabilità e distribuzioni gaussiane.
Metodi didattici
L'insegnamento è erogato in forma di lezioni frontali con ampio ricorso a esempi e materiali di supporto in forma di notebook Python. E' previsto l'uso di slide e materiali didattici che saranno progressivamente resi disponibili sul sito web dell'insegnamento in piattaforma Ariel (https://aferrarair.ariel.ctu.unimi.it).
La frequenza, per quanto non obbligatoria, è fortemente consigliata.
La frequenza, per quanto non obbligatoria, è fortemente consigliata.
Materiale di riferimento
- Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to information retrieval (Vol. 1, p. 496). Cambridge: Cambridge university press. (http://nlp.stanford.edu/IR-book/)
- Appunti, notebook e materiali forniti dal docente e pubblicati sul sito web dell'insegnamento (https://aferrarair.ariel.ctu.unimi.it)
- Appunti, notebook e materiali forniti dal docente e pubblicati sul sito web dell'insegnamento (https://aferrarair.ariel.ctu.unimi.it)
Modalità di verifica dell’apprendimento e criteri di valutazione
Sviluppo di un progetto. L'argomento del progetto deve essere discusso in precedenza con il docente. Il progetto dovrebbe dimostrare la comprensione degli argomenti delle lezioni e la capacità di proporre e motivare soluzioni innovative a specifici problemi di ricerca.
Il progetto sarà valutato attraverso una discussione con il docente sui risultati del progetto e sugli argomenti correlati del corso. La valutazione terrà conto sia del progetto sia del colloquio.
L'uso del servizio SIFA per partecipare all'esame è obbligatorio. Dopo la registrazione a un esame su SIFA, gli studenti sono invitati a contattare il docente per programmare la discussione.
Il progetto sarà valutato attraverso una discussione con il docente sui risultati del progetto e sugli argomenti correlati del corso. La valutazione terrà conto sia del progetto sia del colloquio.
L'uso del servizio SIFA per partecipare all'esame è obbligatorio. Dopo la registrazione a un esame su SIFA, gli studenti sono invitati a contattare il docente per programmare la discussione.
Siti didattici
Docente/i
Ricevimento:
Su appuntamento. Il colloquio si svolgerà online dopo aver contattato il docente per posta elettronica.
Online. In caso di appuntamento di persona, Dipartimento di Informatica, via Celoria 18 Milano, Stanza 7012 (7 piano)