Inspiration/What it does
This project was inspired by our own experience of mental health disorders.
We would like to introduce a program that offers support to individuals struggling with mental disorders and provides assistance in the case of an emergency. In other words, a friend whenever you need them. We achieved this by implementing a cloud communications platform known as Twilio. Also, we are able to dynamically communicate with clients through sms or call. Creating our own chatbot, we identify whether or not individuals are in need of emergency services, otherwise the user is given the ability to vent and have an active listener as well as be directed to resources that are tailored to their situation.
How we built it
The application revolves around a Flask server that uses a SQL database to store user sessions. The Flask backend communicates with the Twilio API, which allows for automatic responses to calls and texts. The front end was written with a combination of Bootstrap and JQuery. The front end is similar to mobile in that the user can use a chat interface to talk to a mental health bot.
To determine how the chatbot works, we used Natural Language Processing Algorithms. We used Naive Bayes Classifiers to determine whether the user was in serious risk of a suicide, and if so, we redirect them to the Suicide Hotline. We used syntax trees to understand what the users were saying, and then created personalized responses using that information.
Challenges we Ran Into
Using NLP to extract information from the sentences is a very difficult task, as many of the algorithms for text extraction and summarization are hidden deep in scientific papers and hard to implement. The Twilio API was also fairly difficult to configure and we actually ran into negative Twilio Credits at a point.
Accomplishments We’re Proud Of
We implemented natural language processing algorithms to parse input and provide a personalized response. With no background information on NLP, we pushed ourselves outside of our comfort zone by implementing NLP