Introduction to NLP and Chatbots
Vishal Gupta (~vishal11) |
Introduction to NLP
Natural Language Processing is a prominent field in Artificial Intelligence that deals with parsing and understand Natural language, (an ordinary language such as English is any language that has evolved naturally in humans through use). NLP lies at the core of Google Duplex and other smart assistants that respond to questions in English and natural languages.
I will be explaining the following :
- Corpus and Datasets
- Processing and tokenizing Text
- Tagging, Stemming and Lemmatizing Words
- Introduction to libraries
- Sentiment Analysis
- Word Embedding using BOW and word2vec
With rising need for customer support, Chatbot are one of the most common applications of NLP. These are applications that are trained conversation with a human by answering some preset list of questions.
I will be developing a chatbot on three platforms :
- Messenger (Facebook)
These will be deployed locally using Django with ngrok for tunneling. Additionally, due to the immense popularity of Messenger, I'll be also explaining the different message templates and other features that Messenger has.
If you'd like to see me cover another platform such as Discord, Skype, Google Assistant or Alexa, feel free to drop a comment
Basic knowledge of Python, English Grammar and HTTP Requests.
- Slides on Introduction to NLP : https://github.com/py-ranoid/IntroNLP/blob/master/Introduction%20to%20NLP%20%26%20Spacy.pdf
- Jupyter Notebook : https://github.com/py-ranoid/IntroNLP/blob/master/Introduction.ipynb
Note : The above slides are not complete and are suited for a quick introduction to NLP in 20 mins
I will be introducing the following Libraries (and use them to create chatbots)
- NLTK : https://www.nltk.org/
- SpaCy : https://spacy.io/
I will be developing a bot on the following Chat Platforms with emphasis on Messenger:
- Messenger : https://developers.facebook.com/docs/messenger-platform/
- Slack : https://api.slack.com/
- Telegram : https://core.telegram.org/bots
Hello world. I’m Vishal Gupta, a 3rd yr CSE undergrad at SSN, Chennai, India. While most people generally pick up a topic, or a concept (like say Computer Vision, Big Data, or just Algorithms), understand it and aspire to excel at it… I fell in love with a language, Python. As someone who has started out by learning C++ in school, learning Python was as easy as surprising. The speed at which I could translate ideas to code was amazing, and oh boy, all I wanted to do was make things, write simple scripts to automate everyday tasks. And hence I continued to explore Python, the countless modules and possibilities with Python. I went to Hackathons, won some but more importantly made something that others could use.
Chatbots and me
UI/UX has never been my strong suit but Chatbots made it simple to use serve any application in a conversational manner. Over the last 2 years, I have developed over a dozen chatbot for a variety of purposes, from fetching torrent links to code education to keeping track of events.
One of my best messenger chatbots is still functional with nearly ~500 subscriptions. PyGeon, scrapes a number of sites everyday for developer events such as meetups, hackathons and contests in 7 indian cities. Newly added events are sent to users every day.
- Chatbot intern at GoBumpr, Chennai
- CV intern at XR Labs, Chennai
- NLP intern at BicycleAI
- Google Summer of Code participant with Debian