BearBot

BearBot is a web application that allows a user to interact with a bot, providing information and identifying different types of bears.

Technologies used: HTML, CSS, Python, RASA, Gatsby, Amazon AWS cloud, Tensor flow, Keras and Convolutional Neural Networks

The site is here: http://bearopedia.xyz/

The GitHub is here: https://github.com/Xxyumi-hub/BearBot

Inspiration

Looking at the name of the hackathon, gave way to the idea of BearBot. There are lots of animals that are infamous for being people's favourite: foxes, wolves, etc. Bears are usually though, not one of these animals, and we wanted to change that!

What it does

BearBot is a chat bot that interacts with users and can identify different types of bears based on the picture uploaded to it Using Convolutional Neural Net, The chat bot itself is based on NLP model.

How we built it

We used HTML, CSS, RASA, Gatsby, Amazon AWS cloud, and Convolutional Neural Networks in order to bring this application to life.

  • Front-end is build with gatsbyjs.
  • Back-end for the project uses Sanic Server that is a part of Rasa itself
  • The system is based on REST
  • The model was trained on google colab with Keras Tensorflow - nightly build, was saved as ('.h5') and is being used in the Rasa's sanic server to make predictions
  • Image from the chatbot are saved to AWS S3 bucket whose url is sent to bot, bot downloads the image in memory resizes to (159x159) pixels and feeds to the model to make predictions.
  • The result is sent back to chat bot using REST

Challenges we ran into

  • Setting up AWS S3 was a big milestone to go through all the settings
  • We we're planning to go with AWS SageMaker but in vain lost a lot of time in it
  • Finding Training Set for Bears was very difficult had to create our own scraper for that due to less training data model was under-fitting
  • We, unfortunately, lost half our team, due to them not being current or recent graduates, though we're glad to have met everyone!

Accomplishments that we're proud of

  • The CNN had a validation accuracy of about 80-83% the training accuracy was about 80-84% with the help of data augmentation
  • Though half our team was gone, we were able to put together the idea of BearBot!

What we learned

  • We went through Frontend development to backend to Machine Learning all in 1 project.
  • We learned to double check the requirements for projects! This would have saved some time for the project, but this lesson just taught us to verify all details with teammates.

What's next for Bearopedia

We'd love to build out the functionality of BearBot so that it can properly identify different types of bears as well as include more chat options for the bot.

Built With

Share this project:

Updates