Giter VIP home page Giter VIP logo

ibrahimjelliti / deeplearning.ai-natural-language-processing-specialization Goto Github PK

View Code? Open in Web Editor NEW
702.0 30.0 493.0 237.56 MB

This repository contains my full work and notes on Coursera's NLP Specialization (Natural Language Processing) taught by the instructor Younes Bensouda Mourri and Łukasz Kaiser offered by deeplearning.ai

Home Page: https://www.coursera.org/specializations/natural-language-processing

License: GNU General Public License v3.0

Jupyter Notebook 98.04% Python 1.46% TeX 0.01% Roff 0.50%
machine-learning deep-learning nlp coursera deeplearning-ai specialization neural neural-networks logistic-regression naive-bayes

deeplearning.ai-natural-language-processing-specialization's Introduction

My GAN Specialization repository

Click on the image

DeepLearning.ai NLP Specialization Courses Notes

This repository contains my personal notes on DeepLearning.ai NLP specialization courses.

DeepLearning.ai contains four courses which can be taken on Coursera. The four courses are:

  1. Natural Language Processing with Classification and Vector Spaces
  2. Natural Language Processing with Probabilistic Models
  3. Natural Language Processing with Sequence Models
  4. Natural Language Processing with Attention Models

About This Specialization (From the official NLP Specialization page)

  • 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.

Applied Learning Project

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!

Usage

I share the assignment notebooks with my prefilled and from the contributors code structred as in the course Course/Week The assignment notebooks are subject to changes through time.

Connect with your mentors and fellow learners on Slack!

Once you enrolled to the course, you are invited to join a slack workspace for this specialization: Please join the Slack workspace by going to the following link deeplearningai-nlp.slack.com This Slack workspace includes all courses of this specialization.

Contact Information

Stargazers over Time

Stargazers over time

Ibrahim Jelliti © 2020

deeplearning.ai-natural-language-processing-specialization's People

Contributors

farhan-najeeb avatar ibrahimjelliti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deeplearning.ai-natural-language-processing-specialization's Issues

Improvisation in Course 2/Lab/Week4/Assignment - Backprop function

The gradient for biases defined does not work
grad_b1 = np.sum((1/batch_size)*np.dot(l1,x.T),axis=1,keepdims=True)
grad_b2 = np.sum((1/batch_size)*np.dot(yhat-y,h.T),axis=1,keepdims=True)

My suggestion to correct it:
grad_b1 = np.dot(l1,np.ones((batch_size,1)))/batch_size
grad_b2 = np.dot(yhat-y,np.ones((batch_size,1)))/batch_size

It is a similar thing to do but it gives a better understanding as well as, works for me!

Do you know the reason?

In course 3 week 2 assignment,
data_generator = data_generator(batch_size, v_sentences, v_labels, vocab[''], True)
but in course 3 week 3 assignment,
data_generator = trax.supervised.inputs.add_loss_weights(
data_generator(batch_size, v_sentences, v_labels, vocab[''], True),
id_to_mask=vocab[''])
Why the data_generator didn't mask padding in the loss weights of data? @ijelliti

Can you upload NLP_C3_W1_lecture_notebook_introduction_to_trax.ipynb and NLP_C3_W2_lecture_notebook_Hidden_State_Activation.ipynb

Can you upload the lecture notebook?
NLP_C3_W1_lecture_notebook_introduction_to_trax.ipynb
NLP_C3_W2_lecture_notebook_Hidden_State_Activation.ipynb
NLP_C3_W2_lecture_notebook_Working_with_Jax_Numpy_and_Calculating_Perplexity.ipynb
NLP_C3_W2_lecture_notebook_Creating_a_GRU_model_Using_Trax.ipynb
NLP_C3_W3_lecture_notebook_Vanishing_Gradient.ipynb
NLP_C3_W4_lecture_notebook_Modified_Triplet_Loss.ipynb
NLP_C3_W4_lecture_notebook_Create_a_Siamese_Model_using_Trax.ipynb
NLP_C3_W4_lecture_notebook_Evaluate_a_Siamese_Model.ipynb

C2_W2_Assignment: Part of Speech Tagging, accurancy is not match

In ,the Accuracy of the Viterbi algorithm is 0.9528 while the expected is 0.9531
despite the difference is small 0.0003, the autograder consider it wrong accuracy.

image

output from the autograder:

Code Cell UNQ_C8: Function 'compute_accuracy' is incorrect. Check implementation.

Chatbot using Reformer network in different language.

Is it possible to use this code tot rain and chatbot in a different language?
Or are you using a pre-trained model that is pre-trained in English?

What changes are required to make it work in the German language?

utils.py not included

Hi First, thank you very much for sharing your solutions.

I noticed in some notebooks we need to call functions defined in the module/script called utils. I am wondering if we can find that script anywhere in the repo? It seems it can not be found if we run the notebook on a local machine.

Thanks again!

add course notes of week 2 from Course 1

following week 1 course notes, we continue to add the same to the next weeks of courses.
this issue is to continue share notes on naive Bayes from Week 2 Course1.

add 'logistic_features.csv'

In 1 - Natural Language Processing with Classification and Vector Spaces - Labs - Week1 - NLP_C1_W1_lecture_nb_03.ipynb.

There is no 'logistic_features.csv'.

utlis.py error

In C1_W2_Assignment , the utlis.py doesn't have the function lookup.

Course 2 week 4 ~ Wrong back propagation function ~ UNQ_C4

On the 2nd course of the specialization on the assignment of the week 4 there is a mistake on the back-propagation calculation on the section 'UNQ_C4'

You calculate the gradient of biases wrong. You should change it as follows:

grad_b1 = (1/batch_size)*np.dot(l1,ones_array.T).reshape(-1,1)

grad_b2 = (1/batch_size)*np.dot(yhat-y,ones_array.T).reshape(-1,1)

where

ones_array = np.ones(batch_size)

With that way it is the same as the slides in the course. You can check your own notes too on this github repository of how gradient of bias should be calculated.

Missing .py file

Describe the bug
In NLP_C1_W4_lecture_nb_01 there is no utils_nb.py

Expected behavior
add the utils_nb.py

confidence_ellipse is missing

Shouldn't be there a function confidence_ellipse in the utils.py in the lab for Course1, week2?

The line "from utils import confidence_ellipse" would return an error otherwise

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.