Inspiration
The majority of people in our group are fond of using cat reaction GIFs while texting one another, and quite a few of us have an interest in NLE and artificial intelligence, so after quite a while of deliberation, we combined both of these interests!
What it does
C(h)atbot is a chat prompt interface that takes user input and, depending on sentiment classification (whether or not the inputted text is happy or sad, energetic or calm), responds with a related cat GIF or image that reflects the sentiment of the user's message. There is also a toggle-able dark mode for visual comfort.
How we built it
We used NLTK and SpaCy in Python in order to calculate sentiment for inputted text, as well as HTML, CSS and JavaScript for the frontend web-hosted interface.
Challenges we ran into
We came across significant challenges regarding getting the Python scripts responsible for sentiment analysis to communicate with the frontend JavaScript file that controls user input and chat message creation, since both of these are in fundamentally different languages and are backend and frontend scripts, respectively. A few of our team members were also unfamiliar with how Git works and had to learn the basics on the fly.
Accomplishments that we're proud of
Stef on our team was able to improve her confidence in JavaScript and CSS through her work on the frontend, while John gained a much deeper understanding of HTTP through their work on setting up communication between their sentiment analysing script and the frontend webpage. Bramble was also able to make use of nginx to host our project on their domain, allowing us to properly share it. Finn was also able to lay out the fundamental HTML and CSS framework upon which Stef used to further develop the project, while also being present for almost all of the work and giving advice and input where possible.
What we learned
Stef learned from scratch how to use Git for version control, as well as using HTTP to manually send and receive requests for data that allow the frontend and backend to effectively communicate, while John was able to learn the same. Ethan was also able to deepen their understanding of natural language engineering and context-free grammars in their work on the backend with NLTK and SpaCy
Log in or sign up for Devpost to join the conversation.