Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
SpectrixDev committed Mar 4, 2022
1 parent d8adbae commit 2c61470
Showing 1 changed file with 12 additions and 10 deletions.
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
# DIY-Chatbot
# 🗣 DIY-Chatbot
> A lightweight chatbot that knows nothing and has to learn from scratch. Using sqlite and python. Also comes with a Discord intergration and custom Pre-Made Models.
## Introduction

### What is this?
### What is this?

This is a collection of parts from a small chatbot that learns from scratch (knowing nothing at the beginning). There's different pre-made integrations that come with this, such as a Discord Intergration and a Cleverbot Intergration (learns from another bot called cleverbot for extra training).

If you're just interested in training it in a console, there's that too (and it's really small and lightweight). It's written in Python and uses sqlite.

### How does it work?
### 💡 How does it work?

It used SQL and Python to store a table of word associations for responses to a previous sentence and uses this to match future responses. It's inspired by Cleverbot's method of learning.
It used SQL and Python to store a table of word associations for responses to a previous sentence and uses this to match future responses. It's inspired by [Cleverbot](https://www.cleverbot.com/)'s method of learning.

It learns from the previous conversation with the user. It maintains a database of previous replies to the same questions and responds based on queries from the database.

It does not extract the meaning of sentences written by the user. When the user types a message, *it is understood as an answer to previous statement made by the chatbot.* The sentence typed by the user will then be associated with the words present in the previous message. The human message is decomposed in words. The program will try to identify which sentences correspond best to those words, according to the answers that the user gave it.

Who knows if that made any sense, but maybe the following will paint a better picture:

**Here's an example:** Let's say this bot knows nothing at the beginning, and just says "Hello" once, without knowing what that means.

```
Expand Down Expand Up @@ -49,11 +51,11 @@ Bot: I'm good.

As you can see, it's learnt only from user input.

## Setting up
## Setting up

Setup is very easy and fast. However there's extra steps depending on what you want to do.

### Basic Setup.
### Basic Setup.

1. Firstly, *clone the repo or download the zip* (obviously).

Expand All @@ -70,7 +72,7 @@ If you want to start from scratch (without the bot knowing anything), simply run
If you want to start with one of my pretrained models, add it to the Basic Bot folder and name it "botBrain.sqlite". See the README in the models folder or the Basic Bot folder for more info.


### Discord Intergration
### 👥 Discord Intergration

**The Discord Intergration allows you to let your bot chat to users in your server in a specific channel.**

Expand All @@ -82,12 +84,12 @@ Not sure how to fill it in? I've provided more detail in [this README](https://g

![](https://cdn.discordapp.com/attachments/478201257417244675/516637578167058448/unknown.png)

### Pre-Made Models
### 🧠 Pre-Made Models

**I've created my own premade models for everyone**, so if you *don't feel like compeltely training yourself, it can have a small headstart.* You can find them in the **Pre-Made Models** folder. ~~These are essentially a variety of different brains ;)~~ You don't have to use these, and I'll be adding more/training them more. These are created by letting my bot chat to other chatbots, as well as humans. It uses mostly correct grammar and is pretty good.

If you'd like to use them, put them in the same directory as the bot's main file, and name it **botBrain.sqlite**. The bot will still learn from users after starting off with this file.

## Contributing
## 🤝 Contributing

I really appriciate contributions, as I'm not perfect and quite lazy. I know there's many flaws in my program, but we can make it better together. Open up a pull request, or even an issue. I'll check it out!
I really appriciate contributions, as I'm not perfect and quite lazy. I know there's many flaws in my program, but we can make it better together. Open up a pull request, or even an issue. I'll check it out! Or, just give the repo a star, I appriciate it!

0 comments on commit 2c61470

Please sign in to comment.