Inspiration
One of the major reasons for patient misdiagnosis is the lack of effective communication between patients and medical professionals. Miscommunication often leads to inaccurate diagnoses and improper treatment.
We wanted to contribute meaningfully while pushing ourselves to the limit. The workshop by Dr. Oh-Park became a primary source of inspiration, motivating us to create something impactful in the medical field.
What It Does
We built a chatbot that uses Reinforcement Learning (RL) and a Bayesian Diagnostic Assistant to conduct a differential diagnosis. The chatbot asks relevant questions to patients based on their symptoms, dynamically selecting the most informative next question using RL. After collecting sufficient information, the Bayesian Diagnostic Assistant predicts the most likely diagnosis, along with potential differential diagnoses.
How We Built It
- Dataset Sourcing: Finding a suitable dataset was one of the hardest parts. We wanted a dataset so that we could go beyond basic wrapper implementations and allowed us to create a more comprehensive diagnostic assistant.
- Models: We used two models:
- Reinforcement Learning Model: This model selected the next appropriate question to ask using an action-selection policy.
- Bayesian Diagnostic Assistant: After receiving responses from the patient, this model used Bayesian inference to predict the most likely diagnosis.
- Backend: We built the backend using Python and Flask to handle API requests and communicate between the chatbot interface and the models.
Challenges We Ran Into
- Model Complexity: Building the models within the time constraints was extremely challenging, especially working with sensitive medical data.
- Parameter Issues: Our RL model had around 922 parameters, while the dataset had around 240 questions. Resolving this inconsistency consumed a significant portion of our time.
- Deployment Issues: Deploying both models proved difficult. Errors during integration and server setup further delayed progress.
- Feature Sacrifice: Due to time constraints and model complexity, we had to drop a considerable number of originally planned features.
Accomplishments That We're Proud Of
- Successfully building and training both the Reinforcement Learning model and the Bayesian Diagnostic Assistant.
- Overcoming parameter mismatches and model issues to get functional predictions.
- Gaining hands-on experience with medical AI systems and diagnostic modeling.
What We Learned
- The importance of careful model design and ensuring data compatibility.
- Effective time management and decision-making under pressure.
- Troubleshooting complex model deployment issues.
- The potential and limitations of AI in medical applications.
What's Next for Medical Diagnosis Bot
With further refinement, we aim to:
- Complete the deployment of both models to ensure a seamless user experience.
- Implement additional features we initially planned.
- Perform further testing to improve diagnostic accuracy and reduce biases.
- Collaborate with healthcare professionals to validate the system and assess its real-world impact.
Medical Diagnosis Bot has the potential to become an impactful project, providing more accessible diagnostic assistance and reducing the risk of misdiagnosis.
Log in or sign up for Devpost to join the conversation.