We’ve talked about, speculated and often seen different applications for Artificial Intelligence – But what about one piece of technology that will not only gather relevant information, better customer service and could even differentiate your business from the crowd?
ChatBots are here, and they came change and shape-shift how we’ve been conducting online business. Fortunately technology has advanced enough to make this a valuable tool something accessible that almost anybody can learn how to implement.
If you want to learn one of the most attractive, customizable and cutting edge pieces of technology available, then this course is just for you!
Welcome to the course!
Deep NLP Intuition
Building a ChatBot with Deep NLP
---------- PART 1 - DATA PREPROCESSING ----------
---------- PART 2 - BUILDING THE SEQ2SEQ MODEL ----------
The TensorFlow placeholder function:
https://www.tensorflow.org/api_docs/python/tf/placeholder
Most important tools used:
https://www.tensorflow.org/api_docs/python/tf/fill
https://www.tensorflow.org/api_docs/python/tf/strided_slice
https://www.tensorflow.org/api_docs/python/tf/concat
Most important tools used:
https://www.tensorflow.org/api_docs/python/tf/contrib/rnn/BasicLSTMCell
https://www.tensorflow.org/api_docs/python/tf/contrib/rnn/DropoutWrapper
https://www.tensorflow.org/api_docs/python/tf/contrib/rnn/MultiRNNCell
https://www.tensorflow.org/api_docs/python/tf/nn/bidirectional_dynamic_rnn
Most important tools used:
https://www.tensorflow.org/programmers_guide/embedding
https://www.tensorflow.org/api_docs/python/tf/variable_scope
https://www.tensorflow.org/versions/r1.0/api_docs/python/tf/contrib/seq2seq/prepare_attention
https://www.tensorflow.org/versions/r1.0/api_docs/python/tf/contrib/seq2seq/attention_decoder_fn_train
https://www.tensorflow.org/versions/r1.0/api_docs/python/tf/contrib/seq2seq/dynamic_rnn_decoder
https://www.tensorflow.org/api_docs/python/tf/nn/dropout
Most important tools used:
https://www.tensorflow.org/programmers_guide/embedding
http://web.stanford.edu/class/cs20si/lectures/notes_04.pdf
https://www.tensorflow.org/api_docs/python/tf/variable_scope
https://www.tensorflow.org/versions/r1.0/api_docs/python/tf/contrib/seq2seq/prepare_attention
https://www.tensorflow.org/versions/r1.0/api_docs/python/tf/contrib/seq2seq/attention_decoder_fn_inference
https://www.tensorflow.org/versions/r1.0/api_docs/python/tf/contrib/seq2seq/dynamic_rnn_decoder
https://www.tensorflow.org/api_docs/python/tf/nn/dropout
Most important tools used:
https://www.tensorflow.org/api_docs/python/tf/variable_scope
https://www.tensorflow.org/api_docs/python/tf/contrib/rnn/BasicLSTMCell
https://www.tensorflow.org/api_docs/python/tf/contrib/rnn/DropoutWrapper
https://www.tensorflow.org/api_docs/python/tf/contrib/rnn/MultiRNNCell
https://www.tensorflow.org/api_docs/python/tf/truncated_normal_initializer
https://www.tensorflow.org/api_docs/python/tf/zeros_initializer
https://www.tensorflow.org/api_docs/python/tf/contrib/layers/fully_connected
Most important tools used:
https://www.tensorflow.org/api_docs/python/tf/contrib/layers/embed_sequence
https://www.tensorflow.org/api_docs/python/tf/Variable
https://www.tensorflow.org/api_docs/python/tf/random_uniform
https://www.tensorflow.org/api_docs/python/tf/nn/embedding_lookup
---------- PART 3 - TRAINING THE SEQ2SEQ MODEL ----------
Geoffrey Hinton's paper:
https://www.cs.toronto.edu/~hinton/absps/JMLRdropout.pdf
Most important tools used:
https://www.tensorflow.org/api_docs/python/tf/reset_default_graph
https://www.tensorflow.org/api_docs/python/tf/InteractiveSession
The TensorFlow placeholder_with_default function:
https://www.tensorflow.org/versions/r0.12/api_docs/python/io_ops/placeholders#placeholder_with_default
The TensorFlow shape function:
https://www.tensorflow.org/api_docs/python/tf/shape
The TensorFlow reverse function:
https://www.tensorflow.org/api_docs/python/tf/reverse
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.reshape.html
Most important tools used:
https://www.tensorflow.org/api_docs/python/tf/name_scope
https://www.tensorflow.org/api_docs/python/tf/contrib/seq2seq/sequence_loss
https://www.tensorflow.org/api_docs/python/tf/ones
https://www.tensorflow.org/api_docs/python/tf/train/AdamOptimizer
https://www.tensorflow.org/versions/r0.12/api_docs/python/train/gradient_clipping
https://www.tensorflow.org/api_docs/python/tf/clip_by_value
Difference between return and yield:
http://www.geeksforgeeks.org/use-yield-keyword-instead-return-keyword-python/
Most important tools used:
https://www.tensorflow.org/api_docs/python/tf/global_variables_initializer
https://pyformat.info/
---------- PART 4 - TESTING THE SEQ2SEQ MODEL ----------
Most important tools used:
https://www.tensorflow.org/api_docs/python/tf/InteractiveSession
https://www.tensorflow.org/api_docs/python/tf/global_variables_initializer
https://www.tensorflow.org/api_docs/python/tf/train/Saver
Learn how to run the Chatbot in a Google Colab notebook with GPU training!
---------- PART 5 - IMPROVING & TUNING THE SEQ2SEQ MODEL ----------
Other ChatBot Implementations
Intuition and Code resources for The Best ChatBot:
http://suriyadeepan.github.io/2016-06-28-easy-seq2seq/
http://suriyadeepan.github.io/2016-12-31-practical-seq2seq/
https://github.com/suriyadeepan/practical_seq2seq