What inspired us?

Self-Diagnosis is becoming more and more prevalent and research suggests medical websites only diagnose correctly 50% of the time. This is a major problem and our team is trying to improve this statistic by creating a chatbot which aims to determine the illness that the user is suffering from based on the symptoms that they describe in their conversation. Based on this the user is advised on whether to consult a doctor or to stay at home and is also provided with precautions to take.

This would help both patients and doctors by reducing the number of unnecessary checkups and hospital visits. Therefore, both patients and doctors would save money and time.

AI integration

Our chatbot is trained on a .json file which contains various symptoms, patterns that suggest these symptoms, responses, etc. We use the Python Natural Language Toolkit (NLTK) to process our data file and tokenise words so as to be presentable. We then use TensorFlow and the Keras API to train our chatbot as a neural network. We had to mine our own dataset based on Disease-Symptom.csv file which then we transformed it into our main training file. We had to tokenize the different sentences and words, and then use Keras Sequential model in order to pass in our training and validation dataset to a fully connected neural network. The outputs will then be a set of prediction on which tag does the sentence belong too.

The challenge we faced was to determine the possibilities of disease that the user have given their symptoms. We realised that we didn't need any AI or machine learning algorithm to deal with this. When used in conjunction with a question-asking tree algorithm, the chatbot is able to diagnose and give proper advice on whether or not to stay home or seek emergency care on more than 20 common diseases, from COVID-19 to Malaria.

How may this project move forward?

We believe our project is significant for our present healthcare system. More and more people are trying to self diagnose themselves on medical websites and it just causes unnecessary worry. Moreover, medical websites mis-diagnose 50% of the time according to a Harvard Medical School research. This project will allow healthcare to implement it, to make sure there's enough space within hospitals and clinic for emergency purposes. Those who are not sure about their health condition can use our chatbot in order to identify the possibilities of disease they might have. This can also be fully-scaled into a licensed Virtual Doctor in which it is also overseen by doctors when informations from user becomes too complex for the chatbot.