Il Natural Language Processing è il cuore di Google Search e GoogleTranslate 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 comefile 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 NaturalLanguage 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:
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 NLTKe Spacy, evidenziando:
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 LatentDirichlet 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 LatentDirichlet Allocation usando scikit-learn.
Eseguiremo il Topic Modelling usando un dataset di un milione di titoli di giornale dell'ABC, usando sempre l'algoritmo LatentDirichlet Allocation ma questa volta con Gensim, una libreria Python specifica per il TopicModelling.
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:
Come esercizio pratico utilizzeremo l'architettura LSTMper 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.