Posts

Showing posts with the label ML

Machine Learning and NLP Chatbot

Image
Machine Learning and NLP Chatbot Introduction         Chatbots are able to translate and interpret human natural language input through a combination of NLP (Natural Language Processing) and Machine Learning. In this post I will show you how this can be done. This post is the second part of the tutorial on chatbots. To learn a few basic concepts and how to build a simple chatbot using NLTK, please refer to my first part tutorial: NLTK Chatbot Tutorial . I have named the chatbot as SmartBot. The SmartBot presented in this post, works in 3 basic modes: Chat Mode(return learned responses from previous exchanges) Statement Mode(accept a statement or fact and store it in the database) Question Mode (accept a question and try to answer it based on previously stored statements) Requirements to Run the Application Anaconda. Java. MySQL Database Intellij IDE with Python Community Edition Plugin.  Anaconda bundles up Python installation and the mo...

Long Short-Term Memory Network for Time Series Forecasting

Image
Long Short-Term Memory Network for Time Series Forecasting Introduction         To understand the terms frequently used in the context of Machine Learning in a simple way, read my post: Machine Learning Basics .         In practice, basic Recurrent Neural Networks (RNNs) do not seem to be able to learn long-term dependencies. Long Short Term Memory(LSTM) networks are a special kind of RNN, capable of learning long-term dependencies. They were introduced by Hochreiter & Schmidhuber in 1997. LSTMs are explicitly designed to avoid the long-term dependency problem. Remembering information for long periods of time is their default behavior. So LSTM networks are ideal for time series forecasting.         There are many tutorials online that give a theoretical overview of LSTM and its usage. However in this post I will focus on the programmatic implementation of LSTM using Python libraries. What is Time Series ...

Machine Learning Basics

Machine Learning Basics Introduction         Machine learning is a field of computer science that gives computers the ability to learn without being explicitly programmed. The term "Machine Learning" was coined by Arthur Samuel, an American pioneer in the field of computer gaming and artificial intelligence in 1959 while at IBM.  Machine learning can be broadly classified into the following: Supervised Machine Learning: Here the program or model is trained on a set of training examples or historical data which will help it to give accurate results when new data is given.  Unsupervised Machine Learning: This is purely data driven. The program is given huge amount of data and it should then evaluate patterns and relationships from it. Reinforcement Machine Learning: Here the program learns from the environment that it is in through past experiences and then continuously improves itself. Supervised Machine Learning is classified broadly in...