Syllabus del Corso di Programmazione & NLP
Obiettivi del Corso:
- Imparare le basi della programmazione Python.
- Comprendere i fondamenti del Natural Language Processing.
- Utilizzare librerie come NLTK e Spacy per il pre-processing di testi e l'analisi linguistica.
- Applicare tecniche di NLP per l'estrazione di informazioni, analisi del sentiment, e classificazione del testo.
- Sviluppare progetti pratici che dimostrano l'applicazione del NLP in scenari reali.
Durata del Corso: 30 ore, suddivise in 20 lezioni da 1 ora e 30 minuti ciascuna.
________________________
Lezione 1: Introduzione a Python e all'NLP
- Panoramica del corso.
- Installazione di Python e configurazione dell'ambiente di sviluppo.
- Sintassi di base di Python: variabili, tipi di dati, operazioni.
Lezione 2: Strutture Dati e Controllo del Flusso in Python
- Liste, tuple, dizionari, set.
- Condizioni, cicli for e while.
Lezione 3: Funzioni, Moduli e Gestione delle Eccezioni
- Definizione di funzioni, importazione di moduli.
- Gestione delle eccezioni.
Lezione 4: File I/O e Pre-elaborazione del Testo
- Lettura e scrittura di file.
- Tokenizzazione, rimozione delle stop-words, stemming, lemmatizzazione.
Lezione 5: Analisi del Testo con NLTK
- Analisi di frequenza, tagging POS.
- N-grams, chunking.
Lezione 6: Analisi del Testo con Spacy
- Entity Recognition, Dependency Parsing.
- Caratteristiche avanzate di Spacy per NLP.
Lezione 7: Vettorializzazione del Testo e Introduzione al Machine Learning
- Bag of Words, TF-IDF.
- Panoramica del Machine Learning.
Lezione 8: Sentiment Analysis
- Metodi di Sentiment Analysis.
- Costruzione e valutazione di modelli.
Lezione 9: Topic Modeling e Classificazione del Testo
- Introduzione al Topic Modeling.
- Classificazione del testo con modelli ML.
Lezione 10: Word Embeddings e Modelli di Linguaggio
- Word2Vec, GloVe.
- Introduzione a BERT e modelli trasformativi.
Lezione 11: Framework di Deep Learning per NLP
- Introduzione a TensorFlow e PyTorch.
- Esempi di applicazione nel NLP.
Lezione 12: Estrazione di Informazioni e Summarization
- Tecniche di estrazione di informazioni.
- Summarization automatico di testi.
Lezione 13: Named Entity Recognition Avanzato
- Approfondimento su tecniche di NER.
- Esercizi pratici con NLTK e Spacy.
Lezione 14: Analisi di Reti Sociali con NLP
- Utilizzo di NLP per l'analisi di dati da reti sociali.
- Case study: analisi del sentiment su Twitter.
Lezione 15: Chatbots e Assistenti Virtuali
- Principi di creazione di chatbots.
- NLP per l'interpretazione delle richieste utente.
Lezione 16: Question Answering Systems
- Sviluppo di sistemi di risposta a domande.
- Applicazioni pratiche e casi d'uso.
Lezione 17: Etica e Privacy nel NLP
- Discussione sull'etica nell'uso di NLP.
- Considerazioni sulla privacy e sull'anonimato dei dati.
Lezione 18: Progetti di NLP nel Mondo Reale
- Presentazione di case study e progetti di successo.
- Discussione su sfide e soluzioni innovative.
Lezione 19: Laboratorio e Workshop su Progetti di NLP
- Sviluppo guidato di un progetto di NLP.
- Supporto, Q&A, e sessioni interattive.
Lezione 20: Presentazione del Progetto Finale e Revisione
- Presentazione dei progetti finali degli studenti.
- Feedback collettivo e individuale, discussione dei risultati.
________________________
Metodologia Didattica:
- Lezioni interattive con dimostrazioni pratiche.
- Esercizi pratici per consolidare le conoscenze.
- Utilizzo di quiz e test per la valutazione dell'apprendimento.
- Forum di discussione per il supporto tra pari e il chiarimento dei dubbi.
Materiale Fornito:
- Slide delle lezioni.
- Video tutorial.
- Guide e risorse online selezionate.
Valutazione:
- Docente: Binatomy Team