TTML5904: Natural Language Processing | Comprehensive NLP

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

Deep learning methods are achieving state-of-the-art results on challenging machine learning problems, such as describing photos and translating text from one language to another. Introduction to Natural Language Processing (NLP) is a highly-focused, hands-on deep learning course – written by developers, for developers – that cuts through the excess math, research papers and patchwork descriptions about natural language processing to deep dive into the technology in a meaningful, practical way to gain real world skills to leverage on the job right after the training ends.

Working in a hands-on learning environment led by our expert Deep Learning practitioner, using clear explanations and standard Python libraries, students will explore step-by-step what natural language processing is, the promise of deep learning in the field, how to clean and prepare text data for modeling and how to develop deep learning models for your own natural language processing projects.

Audience Profile

This in an intermediate and beyond-level course is geared for experienced developers or others (with prior Python experience) intending to start using learning about and working with Natural Language Processing soon after they attend this course.

At Course Completion

This “skills-centric” course is about 50% hands-on lab and 50% lecture, with extensive practical exercises designed to reinforce fundamental skills, concepts and best practices taught throughout the course. Our engaging instructors and mentors are highly-experienced practitioners who bring years of current, modern "on-the-job" modern deep learning experience into every classroom and hands-on project. In this course Students will explore:

Hands-on Projects

· Neural Text Classification. Develop a deep learning model to classify the sentiment of movie reviews as either positive or negative.

· Neural Language Modeling. Develop a neural language model on the text of Plato in order to generate new tracts of text with the same style and flavor as the original.

· Neural Photo Captioning. Develop a model to automatically generate a concise description of ad hoc photographs.

· Neural Machine Translation. Develop a model to translate sentences of text in German to English.

Outline

1. Foundations

· Natural Language Processing

· Deep Learning

· Promise of Deep Learning for Natural Language

· How to Develop Deep Learning Models With Keras

2. Data Preparation

· How to Clean Text Manually and with NLTK

· How to Prepare Text Data with scikit-learn

· How to Prepare Text Data With Keras

3. Bag-of-Words

· The Bag-of-Words Model

· Prepare Movie Review Data for Sentiment Analysis

· Neural Bag-of-Words Model for Sentiment Analysis

4. Word Embeddings

· The Word Embedding Model

· How to Develop Word Embeddings with Gensim

· How to Learn and Load Word Embeddings in Keras

5. Text Classification

· Neural Models for Document Classification

· Develop an Embedding + CNN Model

· Develop an n-gram CNN Model for Sentiment Analysis

6. Language Modeling

· Neural Language Modeling

· Develop a Character-Based Neural Language Model

· How to Develop a Word-Based Neural Language Model

· Develop a Neural Language Model for Text Generation

7. Image Captioning

· Neural Image Caption Generation

· Neural Network Models for Caption Generation

· Load and Use a Pre-Trained Object Recognition Model

· How to Evaluate Generated Text With the BLEU Score

· How to Prepare a Photo Caption Dataset For Modeling

· Develop a Neural Image Caption Generation Model

8. Neural Machine Translation

· Neural Machine Translation

· Encoder-Decoder Models for NMT

· Configure Encoder-Decoder Models for NMT

· How to Develop a Neural Machine Translation Model

Prerequisites

Attendees should be experienced developers who are comfortable with Python programming. Students should also be able to navigate Linux command line, and who have basic knowledge of Linux editors (such as VI / nano) for editing code.