Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Natural Language Processing (NLP) with NLTK and Scikit-learn
Rating: 3.9 out of 5(26 ratings)
186 students

Natural Language Processing (NLP) with NLTK and Scikit-learn

Learn to build expert NLP applications and machine learning projects using NLTK and Python library- scikit-learn
Last updated 10/2018
English

What you'll learn

  • Build end-to-end natural language processing solutions, ranging from getting data for your model to presenting its results
  • Learn core NLP concepts such as tokenization, stemming, and stop word removal
  • Classify emails as spam or not-spam using basic NLP techniques and simple machine learning models
  • Put documents in their relevant topics using techniques such as TF-IDF, SVMs, and LDAs
  • Explore corpus management using internal and external corpora
  • Write your own POS taggers and grammars so that any syntactic analyses can be performed easily
  • Use the inbuilt chunker and create your own chunker to evaluate trained models
  • Combine various lessons and create applicable solutions that can be easily plugged into any of your real-life application problems

Course content

2 sections56 lectures4h 3m total length
  • The Course Overview6:40

    This video gives an overview of the entire course.

  • Use Python, NLTK, spaCy, and Scikit-learn to Build Your NLP Toolset5:57

    In this video, we will learn how we setup a stack of libraries for natural language processing.

    • Use Python for machine learning

    • Learn how does NLTK and spaCy fit into natural language processing

    • Learn how does scikit-learn fit into natural language processing

  • Reading a Simple Natural Language File into Memory6:25

    In this video, we will learn we will be putting textual data into Python to perform NLP.

    • Use iterators to read large text files

    • Speed up text file input-output with multiprocessing

  • Split the Text into Individual Words with Regular Expression4:00

    In this video, we will be capturing each word in a corpus as a feature.

    • Split lines of text into word tokens with the split function

    • Explore a better tokenizer with regular expressions

  • Converting Words into Lists of Lower Case Tokens6:35

    In this video, we will learn to remove effects of capitalization in our analysis.

    • Combine what we have learned to read a text file and process it

    • Split the corpus into case-insensitive tokens

  • Removing Uncommon Words and Stop Words2:10

    In this video, we will learn to remove noise caused by stop words and uncommon words.

    • Remove uncommon words

    • Learn about stop words

    • Remove uncommon words using the collections module

  • Use an Open Source Dataset, and What Is the Enron Dataset5:07

    In this video, we will be getting started with spam classification using an open sourced dataset.

    • Learn how data anchors natural language processing and machine learning

    • Find and understand Enron spam dataset

    • Download the Enron spam dataset

  • Loading the Enron Dataset into Memory4:36

    In this video, we will import a directory of data into Python.

    • Use the OS module to list all files in a folder

    • Import both positive and negative examples into memory

  • Tokenization, Lemmatization, and Stop Word Removal5:12

    In this video, we will Implement your first natural language preprocessing pipeline.

    • Learn about Tokenization and Lemmatization

    • Learn how do we do these preprocessing steps in Python with NLTK

  • Bag-of-Words Feature Extraction Process with Scikit-learn4:46

    In this video, we will be implementing your first feature extractor.

    • Learn about  bag-of-words (BOW) features

    • Extract BOW features from text data in Python

  • Basic Spam Classification with NLTK's Naive Bayes6:50

    In this video, we will be creating your first ML model with scikit-learn.

    • Split the dataset into training and testing

    • Set up your first machine learning model

    • Evaluate the Naive Bayes model

  • Understanding the Origin and Features of the Movie Review Dataset6:02

    In this video, we will understand the origin and features of the movie review dataset.

    • Learn the importance of understanding the data source

    • Learn how  the movie review dataset was collected

  • Loading and Cleaning the Review Data5:18

    In this video, we will see how to get the movie review data into Python.

    • Learn about scikit-learn's load files function

    • Organize your dataset to work with sklearn

  • Preprocessing the Dataset to Remove Unwanted Words and Characters6:26

    In this video, we will preprocess the dataset to remove unwanted words and characters.

    • Learn what a Vectorizer in Scikit-learn is

    • Use Count Vectorizer to extract features from text

  • Creating TF-IDF Weighted Natural Language Features5:01

    In this video, we will create TF-IDF weighted natural language features.

    • Learn what is TF-IDF and why is it useful

    • Implement TF-IDF in scikit-learn

  • Basic Sentiment Analysis with Logistic Regression Model6:22

    In this video, we will do the basic sentiment analysis with logistic regression.

    • Learn what logistic regression is, and how does it fit into NLP

    • Implement logistic regression on sentiment analysis

  • Deep Dive into Raw Tokens from the Movie Reviews7:20

    In this video, we will learn how to engineer better features by looking at the raw data.

    • Look and analyze the raw data and see how it can help us create better features

    • Whitelist words related to sentiment

  • Advanced Cleaning of Tokens Using Python String Functions and Regex6:49

    In this video, we will see how to clean tokens using Python string functions and regex.

    • Learn how to use word lists to test regex

    • Explore wildcards, endings, optionality and more

  • Creating N-gram Features Using Scikit-learn5:40

    In this video, we will create features based on phrases instead of words.

    • Learn about N-grams

    • Create N-grams with scikit-learn

  • Experimenting with Advanced Scikit-learn Models Using the NLTK Wrapper4:33

    In this video, we will see how to experiment with a collection of advanced scikit-learn models.

    • Explore different models

    • Use the sklearn module name as a proxy to model type

  • Building a Voting Model with Scikit-learn4:04

    In this video, we will be combining the predictions of the models into one ensemble model.

    • Combine models

    • Use VotingClassifier to combine predictions

  • Understanding the Origin and Features of the 20 Newsgroups Dataset4:57

    In this video, we will understand the origin and features of the 20 newsgroups dataset.

    • Learn what is document or topic classification

    • Learn what is the 20 news group dataset

  • Loading the Newsgroup Data and Extracting Features4:45

    In this video, we will be loading the newsgroup data and extracting features.

    • Load the 20 newsgroup dataset with load_files

    • Split up the dataset with train_test_split

  • Building a Document Classification Pipeline4:00

    In this video, we will see how to build a document classification pipeline.

    • Learn about pipelines in scikit-learn

    • Explore the chaining feature extraction and model training using pipelines

  • Creating a Performance Report of the Model on the Test Set5:11

    In this video, we will be creating a performance report of the model on the test set.

    • Store predictions and evaluating accuracy

    • Understand performance with classification report

  • Finding Optimal Hyper-parameters Using Grid Search6:12

    In this video, we will be finding optimal hyper-parameters using grid search.

    • Learn about hyper parameters

    • Implement GridSearch in scikit-learn

  • Building a Text Preprocessing Pipeline with NLTK6:15

    In this video, we will learn about Elegantly queue up text preprocessing steps as a decision tree.

    • Use send() and yield() to pass data around functions

    • Structure your text preprocessing graph using decorators

  • Creating Hashing Based Features from Natural Language6:52

    In this video, we will be creating hashing based features from natural language.

    • Differentiate between HashingVectorizer and CountVectorizer

    • Learn how to use HashingVectorizer

  • Classify Documents into 20 Topics with LSA6:01

    This video shows How to use LSA to reduce the dimensionality of your term-document matrix.

    • Reduce the size of the matrix that came out of HashingVectorizer

    • Leverage the LSA algorithm to perform topic classification

  • Document Classification with TF-IDF and SVMs6:11

    This video shows how to use SVM to power document classification.

    • Learn What are SVMs

    • Implement a model combining TF-IDF and SVMs in scikit-learn

  • Test your Knowledge

Requirements

  • Basic knowledge of NLP and some prior programming experience in Python is assumed. Familiarity with machine learning will be helpful.

Description

Natural Language Processing (NLP) is the most interesting subfield of data science. It offers powerful ways to interpret and act on spoken and written language. It’s used to help deal with customer support enquiries, analyse how customers feel about a product, and provide intuitive user interfaces. If you wish to build high performing day-to-day apps by leveraging NLP, then go for this Learning Path.

This comprehensive 2-in-1 course  teaches you to write applications using one of the popular data science concept, NLP.  You will begin with building 3 NLP applications which are a spam filter, a topic classifier, and a sentiment analyzer. You will then learn how to use open source libraries such as NLTK, scikit-learn, and spaCy to perform routine NLP tasks backed by machine learning and NLP processing models with ease. You will be taken on a journey starting from the very basics such as using a corpus and regular expressions to learning advanced NLP concepts while simultaneously solving common NLP problems faced in your day-to-day tasks. You will learn all of these through practical demonstrations, clear explanations, and interesting real-world examples. This learning path will give you a versatile range of NLP skills, which you will put to work in your own applications.

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Hands-on NLP with NLTK and Scikit-learn, puts you right on the spot, starting off with building a spam classifier in our first video. You will then build three NLP applications: a spam filter, a topic classifier, and a sentiment analyzer.  You will also be able to build actual solutions backed by machine learning and NLP processing models with ease.

The second course, Developing NLP Applications Using NLTK in Python, course is designed with advanced solutions that will take you from newbie to pro in performing natural language processing with NLTK. You will come across various concepts covering natural language understanding, natural language processing, and syntactic analysis. It consists of everything you need to efficiently use NLTK to implement text classification, identify parts of speech, tag words, and more. You will also learn how to analyze sentence structures and master syntactic and semantic analysis.

By the end of this Learning Path, you will be able to create new applications with Python and NLP. You will also be able to build actual solutions backed by machine learning and NLP processing models with ease.  

Meet Your Expert(s):

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

  • Colibri Ltd is a technology consultancy company founded in 2015 by James Cross and Ingrid Funie. The company works to help its clients navigate the rapidly changing and complex world of emerging technologies, with deep expertise in areas such as big data, data science, machine learning, and cloud computing. Over the past few years, they have worked with some of the world's largest and most prestigious companies, including a tier 1 investment bank, a leading management consultancy group, and one of the World's most popular soft drinks companies, helping each of them to make better sense of its data, and process it in more intelligent ways. The company lives by its motto: Data -> Intelligence -> Action.

    Rudy Lai is the founder of QuantCopy, a sales acceleration startup using AI to write sales emails to prospects. By taking in leads from your pipelines, QuantCopy researches them online and generates sales emails from that data. It also has a suite of email automation tools to schedule, send, and track email performance—key analytics that all feedback into how our AI generated content. Prior to founding QuantCopy, Rudy ran HighDimension.IO, a machine learning consultancy, where he experienced first-hand the frustrations of outbound sales and prospecting. As a founding partner, he helped startups and enterprises with High Dimension. IO's Machine-Learning-as-a-Service, allowing them to scale up data expertise in the blink of an eye. In the first part of his career, Rudy spent 5+ years in quantitative trading at leading investment banks such as Morgan Stanley. This valuable experience allowed him to witness the power of data, but also the pitfalls of automation using data science and machine learning. Quantitative trading was also a great platform from which to learn deeply about reinforcement learning and supervised learning topics in a commercial setting.

  • Krishna Bhavsar has spent around 10 years working on natural language processing, social media analytics, and text mining in various industry domains such as hospitality, banking, healthcare, and more. He has worked on many different NLP libraries such as Stanford CoreNLP, IBM's SystemText and BigInsights, GATE, and NLTK to solve industry problems related to textual analysis. He has also worked on analyzing social media responses for popular television shows and popular retail brands and products. He has also published a paper on sentiment analysis augmentation techniques in 2010 NAACL. he recently created an NLP pipeline/toolset and open sourced it for public use. Apart from academics and technology, Krishna has a passion for motorcycles and football. In his free time, he likes to travel and explore. He has gone on pan-India road trips on his motorcycle and backpacking trips across most of the countries in South East Asia and Europe.

  • Naresh Kumar has more than a decade of professional experience in designing, implementing, and running very-large-scale Internet applications in Fortune Top 500 companies. He is a full-stack architect with hands-on experience in domains such as ecommerce, web hosting, healthcare, big data and analytics, data streaming, advertising, and databases. He believes in open source and contributes to it actively. Naresh keeps himself up-to-date with emerging technologies, from Linux systems internals to frontend technologies. He studied in BITS-Pilani, Rajasthan with dual degree in computer science and economics.

  •  Pratap Dangeti develops machine learning and deep learning solutions for structured, image, and text data at TCS, in its research and innovation lab in Bangalore. He has acquired a lot of experience in both analytics and data science. He received his master's degree from IIT Bombay in its industrial engineering and operations research program. Pratap is an artificial intelligence enthusiast. When not working, he likes to read about nextgen technologies and innovative methodologies. He is also the author of the book Statistics for Machine Learning by Packt.

Who this course is for:

  • This learning path is for data science professionals who would like to expand their knowledge from traditional NLP techniques to state-of-the-art techniques in the application of NLP.