Hello everyone, just wanted to talk to you about the chatbot i’m currently building (or trying to) for my final project. I really appreciate any comment, tip, or criticism cast on it, and if you think there’s an easy way to improve the project, feel free to say it ^.^
So far i’ve got a working “Hello world” bot built in NodeJS, and i’m working on the program’s logic. The chatbot is supposed to work the following way, with an strong focus on self-learning. This is, thus, a “learning” phase without any real marketing feature (i don’t intend to sell it, and the contents are readily available, just pm me if you want the files i’m working on, all made by me):
1.User types
2.Chatbot looks for an answer on its database for that particular phrase
3.1: If it has a recorded answer, tries it
3.2: If it doesn’t, it looks for a similar text (i need to look into some sort of word-difference algorithm) and returns an answer for that similar text.
3.3: If it doesn’t have anything similar, it prompts the user to teach her what’d be a good answer.
4: It asks the user if the answer is accurate. It then stores the phrase, the answer and a punctuation (+1, -1) into the database. In the 3.1 case, it adds the value to the answer. In 3.2 and 3.3 cases, an “insert” query puts a new row into the database.
5: The bot then talks to the user, using one of the phrases she has learned (Say, if you got 100 rows, she’ll pick one at random and throw it at the user).
6: After the user types something in return, since that’s a very human response (It’s a REAL HUMAN! response), it’ll store it in the database with a good score.
7: Repeat.
___
This is obviously very basic. There’s little “AI” involved, and i’d like the bot to have some knowledge of any previous interaction with the user, but my knowledge is pretty limited.
The entirety of the project is to be coded in Node and the database to be used will be MySQL.
Due to the deadline being quite soon (1 month and a half), and my availability is very limited (i’m horribly busy) i firstly have to focus on it being slightly different than a HelloWorldParrot.
What do you guys think about this? Any ideas?
Thank You for your time, I’ll be watching over this thread everyday for your answers ^^