Inspiration
We were always interested in chatbots, and we got into using machine learning to generate responses. However, while searching for the web, a lot of packages already existed to accomplish this. We thought it would be cool to create our own chatbot model and algorithm completely from scratch.
What it does
Our project is a package that we distributed to pypi. The package can be used to train and create your own mood adaptive chatbots without data scraping methods and trainers to help you get started. You can train your own model or download already parsed data from the website to get started.
How we built it
We wrote the package into 3 parts, the main chatbot algorithm which parses raw message data into conversations which had one input and one output, a mood analyzer which analyzes the given mood of a sentences, and the data parsing classes which formats messages from Discord and Google Chat into data that you can feed into the chatbot.
Challenges we ran into
We had many issues trying to find and match output statements to input statements. Since our algorithm worked by finding the best matched input statement with a trained input statement, we had problems with the quality of data since Discord conversations were not optimal for training with. We also had runtime problems where our chatbot would take up to 40 seconds to generate a response after being trained on only 80,000 messages. We eventually shortened this down to less than 15 seconds by being more effective with our loops.
Accomplishments that we're proud of
We're proud that we completed this project without relying heavily on packages. We were also proud at the quality of the results that the model generated even if though the dataset wasn't large.
What we learned
We learned how to write packages effectively and how to write more efficient code. We also learned how to create more appeasing front-end code.
What's next for MoodBot
We plan to continue pushing some updates onto the MoodBot so that it could parse data off other websites such as Youtube and Twitter to get more data of good quality.
Log in or sign up for Devpost to join the conversation.