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 From First Principles
Rating: 4.6 out of 5(25 ratings)
321 students

Natural Language Processing From First Principles

A Beginner Friendly Introduction to Deep Learning and Artificial Intelligence with Python: Word Embedding from Scratch
Created byPhil Tabor
Last updated 6/2021
English

What you'll learn

  • How to code word embeddings from scratch
  • How to perform stochastic gradient descent
  • How to augment data for natural language processing
  • How to perform negative sampling
  • How to perform sub-sampling

Course content

4 sections25 lectures3h 13m total length
  • What You Will Learn in this Course3:15
  • Required Background, Software, and Hardware2:50
  • How to Succeed in this Course2:35

Requirements

  • Precalculus
  • Algebra
  • Python

Description

In this course motivated beginners will learn the fundamentals of natural language processing and deep learning. Students will code their own word embedding vectors from scratch, using just Numpy and a little bit of calculus. For students who don't have the required background, a crash course in the required mathematics is included. We'll cover the fundamentals of differential calculus and linear algebra in a succinct overview, so students can easily follow all mathematical derivations.

Rather than simply be presented with results, each step of the mathematical derivations is included. This is to help students foster a deeper understanding of natural language processing and artificial intelligence in general.

Far from being a course where students are simply spoon fed the instructors' interpretation, students will learn to gather information directly from the source. I will show you a repeatable and easy to remember framework to read, understand, and implement deep learning research papers. You will get insight into how the verbiage in research papers maps to real world code. This is an essential skill set for all practitioners of artificial intelligence and data science, and will help you stand out from the crowd.

Throughout the course, good coding practices will be stressed. Students will learn the fundamentals of writing pythonic and extensible code from the very beginning, so that they can easily transition into writing more complex code for production.

By the end of the course, students will be able to answer the following questions:

  • What is the difference between the skip-gram and continuous bag of words models?

  • What is distributional semantics?

  • How can we use vectors to teach computers about language?

  • How do we derive the word2vec gradients?

  • Why is the softmax function so slow in natural language processing?

  • How can we deal with small datasets for natural language processing?

  • How can we improve word embedding using negative sampling?

  • What is the best way to to deal with proper nouns in natural language processing?

  • What were some of the historical approaches to natural language processing?

  • What can word plots teach us about how computers understand language?

There is zero fluff in this course. It is taught at a brisk pace, and is intended for motivated beginners who want deeper insights into natural language processing. Those that complete this course will learn how to implement research papers on there own; you'll never have to rely on Medium blog posts again.

Who this course is for:

  • Python developers curious about natural language processing