https://github.com/serenasensini/striveschool-pytorch-chatbot
https://github.com/serenasensini/striveschool-pytorch-chatbot
Last synced: 12 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/serenasensini/striveschool-pytorch-chatbot
- Owner: serenasensini
- License: mit
- Created: 2021-10-29T14:50:50.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-11-03T09:55:16.000Z (over 4 years ago)
- Last Synced: 2026-07-09T17:35:19.080Z (15 days ago)
- Language: Jupyter Notebook
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Implementation of a Contextual Chatbot in PyTorch.
Simple chatbot implementation with PyTorch.
- The implementation should be easy to follow for beginners and provide a basic understanding of chatbots.
- The implementation is straightforward with a Feed Forward Neural net with 2 hidden layers.
- Customization for your own use case is super easy. Just modify `intents.json` with possible patterns and responses and re-run the training (see below for more info).
## Installation
### Create an environment
Whatever you prefer (e.g. `conda` or `venv`)
```console
mkdir myproject
$ cd myproject
$ python3 -m venv venv
```
### Activate it
Mac / Linux:
```console
. venv/bin/activate
```
Windows:
```console
venv\Scripts\activate
```
### Install PyTorch and dependencies
For Installation of PyTorch see [official website](https://pytorch.org/).
You also need `nltk`:
```console
pip install nltk
```
If you get an error during the first run, you also need to install `nltk.tokenize.punkt`:
Run this once in your terminal:
```console
$ python
>>> import nltk
>>> nltk.download('punkt')
```
## Usage
Run
```console
python train.py
```
This will dump `data.pth` file. And then run
```console
python chat.py
```
## Customize
Have a look at [intents.json](intents.json). You can customize it according to your own use case. Just define a new `tag`, possible `patterns`, and possible `responses` for the chat bot. You have to re-run the training whenever this file is modified.
```console
{
"intents": [
{
"tag": "greeting",
"patterns": [
"Hi",
"Hey",
"How are you",
"Is anyone there?",
"Hello",
"Good day"
],
"responses": [
"Hey :-)",
"Hello, thanks for visiting",
"Hi there, what can I do for you?",
"Hi there, how can I help?"
]
},
...
]
}
```