Skip to content

Programming assignments from all courses in the Coursera Natural Language Processing Specialization offered by deeplearning.ai.

License

Notifications You must be signed in to change notification settings

amanchadha/coursera-natural-language-processing-specialization

Repository files navigation

Natural Language Processing Specialization on Coursera (offered by deeplearning.ai)

Programming assignments from all courses in the Coursera Natural Language Processing Specialization offered by deeplearning.ai.

Credits

This repo contains my work for this specialization. The code base, quiz questions and diagrams are taken from the Natural Language Processing Specialization, unless specified otherwise.

Courses

The Natural Language Processing Specialization on Coursera contains four courses:

Specialization Info

  • Natural Language Processing (NLP) uses algorithms to understand and manipulate human language. This technology is one of the most broadly applied areas of machine learning. As AI continues to expand, so will the demand for professionals skilled at building models that analyze speech and language, uncover contextual patterns, and produce insights from text and audio.

  • By the end of this specialization, you will be ready to design NLP applications that perform question-answering and sentiment analysis, create tools to translate languages and summarize text, and even build chatbots. These and other NLP applications are going to be at the forefront of the coming transformation to an AI-powered future.

  • This Specialization is designed and taught by two experts in NLP, machine learning, and deep learning. Younes Bensouda Mourri is an Instructor of AI at Stanford University who also helped build the Deep Learning Specialization. Łukasz Kaiser is a Staff Research Scientist at Google Brain and the co-author of Tensorflow, the Tensor2Tensor and Trax libraries, and the Transformer paper.

Topics Covered

This Specialization will equip you with the state-of-the-art deep learning techniques needed to build cutting-edge NLP systems:

  • Use logistic regression, naïve Bayes, and word vectors to implement sentiment analysis, complete analogies, and translate words, and use locality sensitive hashing for approximate nearest neighbors.

  • Use dynamic programming, hidden Markov models, and word embeddings to autocorrect misspelled words, autocomplete partial sentences, and identify part-of-speech tags for words.

  • Use dense and recurrent neural networks, LSTMs, GRUs, and Siamese networks in TensorFlow and Trax to perform advanced sentiment analysis, text generation, named entity recognition, and to identify duplicate questions.

  • Use encoder-decoder, causal, and self-attention to perform advanced machine translation of complete sentences, text summarization, question-answering and to build chatbots. Models covered include T5, BERT, transformer, reformer, and more! Enjoy!

Programming Assignments

Course 1: Natural Language Processing with Classification and Vector Spaces

Course 2: Natural Language Processing with Probabilistic Models

Course 3: Natural Language Processing with Sequence Models

Course 4: Natural Language Processing with Attention Models

Disclaimer

I recognize the hard time people spend on building intuition, understanding new concepts and debugging assignments. The solutions uploaded here are only for reference. They are meant to unblock you if you get stuck somewhere. Please do not copy any part of the code as-is (the programming assignments are fairly easy if you read the instructions carefully). Similarly, try out the quizzes yourself before you refer to the quiz solutions.