The friendly, fun, quirky chatbot
Botster is a self-learning chatbot which aims to be able to hold intellectual conversations on a plethora of subjects. The nature of its responses aim to be useful as well as entertaining by providing factual information in some situations. Because Botster's intelligence is not preprogrammed, but developed autonomously from participating in conversations, it (in theory) is constantly getting smarter. The bot's intelligence is still very primitive, however we continue to explore, experiment, and implement new methods in hope of it becoming successfully competent.
Botster stores all messages it receives in conversation and creates connections between these messages when one is said in response to another. This allows Botster to see what others replied with to a message so it can use the response for itself. When someone else says the same response to a message, the connection between them is strengthened. This informs Botster on which are the more popular responses and further aids in deciding on a suitable reply.
When a response doesn't exist for an input, Botster does a fuzzy search to find a similar utterance which does have a response. For example: a fuzzy search for "So, what is your name?" could find "What's your name?" and it would then go on to respond to that instead. This allows for Botster to provide a relevant response even when it doesn't have an exact match.
Botster has its own custom database of words which it deems as valid English. To avoid learning spam and typos, Botster will only use responses where all of its words exists in this dictionary database.
- Fork and clone the project to your local files.
- Create a new database and import
[mysqld]in your MySQL config file and restart MySQL.
- Duplicate the
- Edit the configuration files in
application/config/to match your environment.
public/.htaccessto match your environment.
application/logs/directories writable to the web server.
composer installto install all PHP package dependencies.
bower installto install all front-end dependencies.
- Compile all SCSS files in