Select Page

An Online System for Answering Medical Questions

Summer of Research

Project by Qiming Bao, University of Auckland, supervised by Dr Jiamou Liu (University of Auckland)

As demand for doctors increases, patients may be able to decrease pressure on the health system and save themselves money by getting a preliminary diagnosis from an automatic question-and-answer system.

Existing online chatbots such as Buoy Health and GYANT are good for telling people if they are likely dealing with a common cold, or if they have some serious symptoms that should be seen by a doctor.

But these systems have some flaws. They involve irrelevant questions, prompting the user to give answers that mislead the chatbot. And they take multiple “turns” of question-and answer to come to a solution.

Qiming Bao has created a chatbot named XiaoMar that answers complex medical questions in one turn and outperforms the previously mentioned chatbots for diagnosing based on common symptoms.

By directly answering questions instead of engaging in extended dialogue, XiaoMar uses fewer system resources and saves the user time.

It is trained using an open-source Quora dataset, using deep learning techniques for natural language processing, which are better for understanding text than traditional machine learning.

One of the problems with providing a professional medical service as a chatbot is storing the huge amount of data needed.

Qiming built a storage system that works like a human brain and is more efficient than a traditional database. This is called a knowledge graph, a network of information that describes its data using natural language.

XiaoMar analyses the text from left-to-right and right-to-left for context information and finds keywords. The chatbot checks the text for symptoms, their associated diseases and medical department. It then decides which of 10 question types is being asked – for example, is the person asking what symptoms are associated with a disease, or asking what disease they might have based on their symptoms?

When tested, XiaoMar was 90% accurate at identifying colds, obesity, lung cancer and child sleep disorter from user questions, performing better than Buoy Health and GYANT.

Qiming hopes the chatbot can be adapted and used in the home, and to sort and prioritise patients in health settings such as community hospitals and school clinics.

XiaoMar can currently identify 600 diseases, and it can be expanded with more datasets to recognise more symptoms and health issues.

Future work could create personal profiles so the chatbot can provide information specific to each user. It could also recognise that certain diseases that are more likely to happen in at different times of the year and affect people differently based on their subpopulation, job, education, location and socioeconomic background.

Qiming Bao is one of 10 students who took part in the Summer of Research programme funded by Precision Driven Health. The research is at an early “proof of concept” stage. The projects offer fresh insights into what healthcare will look like when precision medicine is widely used.