Giter Club home page Giter Club logo

ce7455-nlp's Introduction

CE7455: Deep Learning for Natural Language Processing: From Theory to Practice

Course Objectives

Natural Language Processing (NLP) is one of the the most important fields in Artificial Intelligence (AI). It has become very crucial in the information age because most of the information is in the form of unstructured text. NLP technologies are applied everywhere as people communicate mostly in language: language translation, web search, customer support, emails, forums, advertisement, radiology reports, to name a few.

There are a number of core NLP tasks and machine learning models behind NLP applications. Deep learning, a sub-field of machine learning, has recently brought a paradigm shift from traditional task-soecific feature engineering to end-to-end systems and has obtained high performance across many different NLP tasks and downstream applications. Tech companies like Google, Baidu, Alibaba, Apple Amazon, Facebook, Tencent, and Microsoft are now actively working on deep learning methods to improve their products. For example, Google recently replaced its traditional statistical machine translation and speech-recognition systems with systems based on deep learning methods.

Optional Textbooks

  • Deep Learning by Goodfellow, Bengio, and Courville free online
  • Machine Learning - A Probabilistic Perspective by Kevin Murphy online
  • Natural Language Processing by Jacob Eisenstien free online
  • Speech and Language Processing by Dan Jurafsky and James H. Martin (3rd ed. draft)
  • Natural Language Processing with PyTorch purchase here

Intended Learning Outcome

In this course, students will learn state-of-the-art deep learning methods for NLP. Through lectures and practical assignments, students will learn the necessary tricks for making their models work on practical problems. They will learn to implement, and possibly to invent their own deep learning models using available deep learning libraries like Pytorch.

Our Approach

  • Thorough and Detailed: How to write from scratch, debug and train deep neural models
  • State of the art: Most lecture materials are new from research world in the past 1-5 years.
  • Practical: Focus on practical techniques for training the models, and on GPUs.
  • Fun: Cover exciting new advancements in NLP (e.g., Transformer, BERT).

Assessment Approach

Weekly Workload

  • Every two-hour lecture will be accompanied by practice problems implemented in PyTorch.
  • There will be a 30-min office per week to discuss assignments and project.
  • There will be 5% marks for class participation.

Assignments (individually graded)

  • There will be three (3) assignments contributing to 3 * 15% = 45% of the total assessment.
  • Late day policy
    • 2 free late days; afterwards, 10% off per day late
    • Not accepted after 3 late days
  • Students will be graded individually on the assignments. They will be allowed to discuss with each other on the homework assignments, but they are required to submit individual write-ups and coding exercises.

Final Project (Group work but individually graded)

  • There will be a final project contributing to the remaining 50% of the total course-work assessment.
    • 1-3 people per group
    • Project proposal: 5%, updated: 5%, presentation: 10%, report: 30%
  • The project will be a group or individual work depending on the student's preference. Students will be graded individually. The final project presentation will ensure the student's understanding of the project

Course Prerequisites

  • Proficieny in Python (using numpy and PyTorch). There is a lecture for those who are not familiar with Python.
  • College Calculus, Linear Algebra
  • Basic Probability and Statistics
  • Machine Learning basics

Teaching

Instructor:

  • Shafiq Rayhan Joty

Teaching Assistants:

  • Tasnim Mohuiddin
  • Nguyen Thanh Tung
  • Xuan Phi Nguyen
  • Hancheol Moon
  • Lin Xiang

Schedule & Course Content

Week 1: Introduction

[Lecture Slides]

Lecture Content

  • What is Natural Language Processing?
  • Why is language understanding difficult?
  • What is Deep Learning?
  • Deep learning vs. other machine learning methods?
  • Why deep learning for NLP?
  • Applications of deep learning to NLP
  • Knowing the target group (background, field of study, programming experience)
  • Expectation from the course

Python & PyTorch Basic

Week 2: Machine Learning Basic

[Lecture Slides]

Lecture Content

  • What is Machine Learning?
  • Supervised vs. unsupervised learning
  • Linear regression
  • Logistic regression
  • Multi-class classification
  • Parameter estimation (MLE & MAP)
  • Gradient-based optimization & SGD

Practical exercise with Pytorch

Week 3: Neural Network & Optimization Basics

[Lecture Slides]

Lecture Content

  • Why Deep Learning for NLP?
  • From Logistic Regression to Feed-forward NN
    • Activation functions
  • SGD with Backpropagation
  • Adaptive SGD (Adagrad, adam, RMSProp)
  • Regularization (Weight Decay, Dropout, Batch normalization, Gradient clipping)
  • Introduction to Word Vectors

Assignment 1 out

Practical exercise with Pytorch Numpy notebook Pytorch notebook

  • Backpropagation
  • Dropout
  • Batch normalization
  • Initialization
  • Gradient clipping

Suggessted Readings

Week 4: Word Vectors

[Lecture Slides]

Lecture Content

  • Word meaning
  • Denotational semantics
  • Distributed representation of words
  • Word2Vec models (Skip-gram, CBOW)
  • Negative sampling
  • Glove
  • FastText
  • Evaluating word vectors
    • Intrinsic evaluation
    • Extrinsic evaluation
  • Cross-lingual word vectors

Practical exercise with Pytorch

Suggested Readings

Week 5: Cross-lingual Word Vectors & CNNs

[Lecture Slides] [Slides with recording] [Slides with video]

Lecture Content

  • Cross-lingual word embeddings
  • Classification tasks in NLP
  • Window-based Approach for language modelling
  • Window-based Approach for NER, POS tagging, and Chunking
  • Convolutional Neural Net for NLP
  • Max-margin Training
  • Scaling Softmax (Adaptive input & output)

Assignment 1 in

Invited talk on cross-lingual word vectors

Practical exercise with Pytorch

Suggested Readings

Week 6: Recurrent Neural Nets

[Lecture Slides]

Lecture Content

  • Basic RNN structures
  • Language modeling with RNNs
  • Backpropagation through time
  • Text generation with RNN LM
  • Issues with Vanilla RNNs
  • Exploding gradient
  • Gated Recurrent Units (GRUs) and LSTMs
  • Bidirectional RNNs
  • Multi-layer RNNs
  • Sequence labeling with RNNs
  • Sequence classification with RNNs

Assignment 2 out

Practical exercise with Pytorch

  • Opinion analysis
  • Part-of-speech (POS) tagging
  • Named Entity Recognition (NER)
  • Sentiment classification
  • Text generation

Suggested Readings

ce7455-nlp's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.