• This repository has been archived on 30/Apr/2023
  • Stars
    star
    571
  • Rank 78,127 (Top 2 %)
  • Language
    Jupyter Notebook
  • Created about 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Building a Simple Chatbot from Scratch in Python (using NLTK)

Building a Simple Chatbot from Scratch in Python (using NLTK)

Alt text

History of chatbots dates back to 1966 when a computer program called ELIZA was invented by Weizenbaum. It imitated the language of a psychotherapist from only 200 lines of code. You can still converse with it here: Eliza.

On similar lines let's create a very basic chatbot utlising the Python's NLTK library.It's a very simple bot with hardly any cognitive skills,but still a good way to get into NLP and get to know about chatbots.

Outline

Motivation

The idea of this project was not to create some SOTA chatbot with exceptional cognitive skills but just to utilise and test my Python skills.This was one of my very first projects, created when I just stepped into the world of NLP and I thought of creating a simple chatbot just to make use of my newly acquired knowledge.

BlogPost

For detailed overview, here is the accompanying blog titled:Building a Simple Chatbot in Python (using NLTK)

Pre-requisites

NLTK(Natural Language Toolkit)

Natural Language Processing with Python provides a practical introduction to programming for language processing.

For platform-specific instructions, read here

Installation of NLTK

pip install nltk

Installing required packages

After NLTK has been downloaded, install required packages

import nltk
from nltk.stem import WordNetLemmatizer
nltk.download('popular', quiet=True) # for downloading popular packages
nltk.download('punkt') 
nltk.download('wordnet') 

How to run

  • Jupyter Notebook Binder

You can run the chatbot.ipynb which also includes step by step instructions.

  • Through Terminal
python chatbot.py

More Repositories

1

Face-Detection-in-Python-using-OpenCV

Face Detection with Python using OpenCV
Jupyter Notebook
157
star
2

Data-Science-Articles

A collection of my blogs on Data Science and Machine learning.
Jupyter Notebook
84
star
3

Data-Visualisation-libraries

A Repository consisting of various visualisation libraries and tools
HTML
73
star
4

Building-a-Conversational-Chatbot-for-Slack-using-Rasa-and-Python

A guide to creating a chatbot with Rasa stack and Python and deploying it on Slack
Jupyter Notebook
68
star
5

10-Simple-hacks-to-speed-up-your-Data-Analysis-in-Python

Some useful Tips and Tricks to speed up the data analysis process in Python.
60
star
6

Satellite-Imagery-Analysis-with-Python

Getting acquainted with the concept of satellite imagery data and how it can be analyzed to investigate real-world environmental and humanitarian challenges.
Jupyter Notebook
49
star
7

Animations-with-Matplotlib

Using the matplotlib library to create some interesting animations.
Jupyter Notebook
44
star
8

What-I-learnt-by-interviewing-numerous-Kaggle-Grandmasters

37
star
9

An-Overview-of-Python-Datatable-package

Python library for efficient multi-threaded data processing, with the support for out-of-memory datasets.
Jupyter Notebook
27
star
10

A-guide-to-Machine-Learning-in-R

A series of articles to get started into the field of Machine Learning with R language
R
25
star
11

Image-Processing-in-Python

This repository contains the links to the article that I wrote on Medium pertaining to Image processing.
Jupyter Notebook
23
star
12

Visualising-Geospatial-data-with-Python

An overview of the Folium library to visualize Geospatial data
HTML
19
star
13

Explainable-AI-Workshop

Jupyter Notebook
17
star
14

Data-Visualisation-with-R

An article on visualisation Data with R: from basic plots to advanced.
HTML
15
star
15

Elements-of-Functional-Programming-in-Python

Learn how to how to use the lambda, map, filter and reduce functions in Python to transform data structures.
Jupyter Notebook
15
star
16

Analysing-Machine-Learning-Models-with-Yellowbrick

Yellowbrick is an open source, Python project that extends the scikit-learn API with visual analysis and diagnostic tools
Jupyter Notebook
13
star
17

Kaggle-Starter-Codes

A repository containing link to some my Kaggle starter Notebooks
11
star
18

Machine-learning-with-H2O-in-Python

Jupyter Notebook
9
star
19

Predicting-the-Future-with-Facebook-s-Prophet

Forecasting Medium's statistics using Facebook's Prophet Library
Jupyter Notebook
8
star
20

Audiofy-2

Python
7
star
21

H2O.ai-Meetup-Repository

Slides and code examples for H2O tutorials at various events
Jupyter Notebook
5
star
22

Useful-String-Methods-in-Python

Learn about some of Python's built-in methods that can be used on strings
Jupyter Notebook
5
star
23

Recreating-Gapminder-in-Tableau

4
star
24

Meetups

Jupyter Notebook
4
star
25

blog

HTML
2
star
26

parulnith

1
star