Objective

The objective of this project was to create a chatbot based on my personality.

Tech Stack

  • Tensorflow
  • PythonAnywhere
  • Flask
  • Chatterbox

Technique

The bot was a chatterbox library model, first trained on the provided english language corpus, and then further trained on a set of phrases / facts about myself to personalize the bot. It was then wrapped in a Flask app and deployed using PythonAnywhere, where it was accessible online. The bot has since been taken down to avoid upkeep costs.

Challenges

The biggest challenge I ran into during this project was the time-constraint of the semester I completed it during. The TensorFlow model worked, but not well, and with time getting tight I pivoted to a simpler model.

Lessons Learned

This project provided valuable experience on the interworkings of neural nets for language processing, and the usage of new libraries. I also learned about Flask, and deploying models / applications where they can be accessible from (literally) anywhere. Throughout this project I also gave several presentations on my progress, improving my public speaking and ML presentation skills.

Further

Given more time, within the constraints of the chatterbox library, I would have obtained a corpus of my own language, through text logs or emails, and train the model on that rather than the default corpus. The final model was prone to nonsense.


<
Blog Archive
Archive of all previous blog posts
>
Next Post
JohnFantasy - A Linear Model for Projection Prediction