Natural Language Processing con Python: il Corso Completo

Impara il Natural Language Processing (NLP) e sviluppa i tuoi Chatbot utilizzando il Machine Learning, NLTK e Spacy

Ratings: 4.73 / 5.00




Description

Il Natural Language Processing è il cuore di Google Search e Google Translate ed è la tecnologia che da la voce a Siri, Alexa, Google Assistant e tutti gli altri assistenti virtuali

In questo corso apprenderemo i segreti Natural Language Processing e impareremo ad utilizzarlo su problemi reali come:

  • Eseguire l'analisi del sentiment su recensioni di film usando scikit-learn

  • Raggruppare automaticamente articoli di giornale in base all'argomento usando Gensim

  • Creare un Chatbot per la customer care usando Keras e Tensorflow

  • Generare del nuovo testo in stile Dante Alighieri usando le Reti Neurali Ricorrenti con Keras e Tensorflow.

Nella prima sezione del corso vedremo come estrarre il testo da diverse tipologie di file come file TXT, CSV, PDF e file Word, in seguito impareremo come eseguire lo scraping di una pagina web usando BeautifulSoup.

Vedremo in sintesi il funzionamento delle espressioni regolari e come possiamo sfruttarle nel Natural Language Processing.

La terza sezione è interamente dedicata alle tecniche di preprocessing del corso: estrazione dei tokens, rimozione dello stopwords e stemming e lemmatizzazione, che ci permettono di ottenere la radice di una parola in modo da ridurre la dimensione del nostro dizionario, in questa sezione useremo le due più popolari librerie Python per il Natural Language Processing:

  • NLTK (Natural Language Toolkit): storica libreria Python con moltissime funzioni.

  • Spacy: una libreria più recente sviluppata per essere utilizzata a livello industriale.

Continueremo il corso con i due principali modelli per l'encoding di documenti di testo, il modello Bag of Words e il TF*IDF, impareremo ad implementarli da zero, usando soltanto Numpy, una libreria Python per il calcolo scientifico.

Nella quinta sezione osserveremo come eseguire l'analisi del testo di un documento di testo usando sempre NLTK e Spacy, evidenziando:

  • La parte del discorso (Part of Speech Tagging)

  • Il tipo di entità (Named Entity Recognition)

Nella quinta sezione introdurremmo la sentiment analysis e parleremo di machine learning, il campo dell'intelligenza artificiale che ha rivoluzionato l'intero settore. Vedremo come estrarre il sentiment da un elenco di recensioni reali di una skill Alexa usando il modello VADER ed impareremo a preprocessare da zero l'IMDB Movie Reviews Dataset per poi eseguire la sentiment analysis creando un modello di regressione logistica con scikit-learn, la più popolare libreria python per il machine learning, e un modello bayesiano usando NLTK.

La sesta sezione è dedicata al Topic Modelling, dopo aver introdotto l'argomento insieme all'algoritmo Latent Dirichlet Allocation svolgeremo due esericizi:

  • Sfrutteremo un dataset con circa 9000 articoli del New York Times per estrarre i topic e raggruppare insieme articoli che trattano di un'argomento comune, a questo scopo implementeremo l'algoritmo  Latent Dirichlet Allocation usando scikit-learn.

  • Eseguiremo il Topic Modelling usando un dataset di un milione di titoli di giornale dell'ABC, usando sempre l'algoritmo  Latent Dirichlet Allocation ma questa volta con Gensim, una libreria Python specifica per il Topic Modelling.

Nella sezione che segue ci butteremo su Deep Learning e Reti Neurali Artificiali, studiando come queste funzionano e come possono essere applicate per la creazione di un Chatbot per l'assistenza clienti di un fantomatico operatore telefonico chiamato Miao Mobile, usando i due più popolari framework Python per il deep learning: Keras e Tensorflow.

Nell'ultima sezione parleremo di Reti Neurali Ricorrenti e di come vengono applicate a problemi di NLP, vedremo insieme le principali architetture: 

  • Vanilla RNN

  • Long short-term memory (LSTM)

  • Gated Recurrent Unit (GRU)

Come esercizio pratico utilizzeremo l'architettura LSTM per generare nuove testo con lo stile di scrittura di Dante Alighieri, usando come corpus di testo l'intera Divina Commedia.

Concluderemo il corso con una serie di consigli, letture ed esercizi per poter continuare la nostra avventura nel Natural Language Processing.

What You Will Learn!

  • Estrarre testo da file TXT, CSV, PDF e DOC
  • Estrarre testo da pagine web con BeautifulSoup
  • Usare NLTK e Spacy per preprocessare documenti di testo
  • Eseguire lo stemming e la lemmatizzazione su un documento di testo
  • Codificare il testo con il Bag of Words e il TF*IDF
  • Classificare documenti di testo usando Scikit-Learn
  • Eseguire l'Analisi del Sentiment con NLTK
  • Eseguire il Topic Modelling usando Scikit-learn e Gensim
  • Creare Chatbot usando Keras e Tensorflow
  • Funzionamento delle Reti Neurali Ricorrenti
  • Creare architetture LSTM con Keras e Tensorflow

Who Should Attend!

  • Studenti e lavoratori che vogliono comprendere ed utilizzare il Natural Language Processing
  • Professionisti interessati a Chatbot ed interfacce conversazionali