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:

  • Compiti pratici per ogni modulo.
  • Partecipazione ai forum di discussione.
  • Progetto finale per valutare il raggiungimento degli obiettivi di apprendimento.