How antonious-emad/doctor_recommendation_system works
This repository is a notebook-based doctor recommendation system. Its main workflow turns patient symptom descriptions into specialty matches, then uses recommendation algorithms to rank doctors. Separate notebooks cover model fine-tuning, geocoding, contextual bandits, and evaluation. The README documents these capabilities, but most notebook source was not sampled, so the graph reflects documented relationships rather than inferred code-level calls.
Main entry points: Thompson_Sampling.ipynb Doctor bandits · Specialist_Recommender.ipynb Specialist recommender · FineTune_LLM.ipynb Fine-tuned LLM · spacy_keyword_extraction.py Keyword extraction
Components 15
Symptom understanding
- Fine-tuned LLM
Notebooks/FineTune_LLM.ipynb - Keyword extraction
Scrapping Codes/spacy_keyword_extraction.py
Specialty matching
- Specialist recommender
Notebooks/Specialist_Recommender.ipynb - Specialty descriptions
Datasets/specialist_description.csv
Doctor recommendation
- Doctor bandits
Notebooks/Thompson_Sampling.ipynb - Contextual bandits
Notebooks/Contextual_Bandits.ipynb - Doctor attributes
Datasets/doctors_data_multireward.csv - Geocoded doctors
Datasets/updated_multireward.csv - Bandit evaluation
Notebooks/Exp_and_Expl_Algo_Eval_Metrics.ipynb
Data preparation
- Patient representations
Datasets/patients_representation.csv - Disease descriptions
Datasets/disease_description.csv - Patient data generation
Scrapping Codes/patients_creation.ipynb - Coordinate extraction
Notebooks/Latitude_Longitude_Extractor.ipynb - Doctor data update
Notebooks/CSV_Updater_For_Latitude_Longitude.ipynb
Other components
- Patient
Connections 12
- Patient → Fine-tuned LLM: provides symptoms
README.md - Fine-tuned LLM → Keyword extraction: generates text for
README.md - Keyword extraction → Specialist recommender: extracts keywords for
README.md - Specialist recommender → Specialty descriptions: matches descriptions
README.md - Specialist recommender → Doctor bandits: recommends specialists
README.md - Doctor bandits → Doctor attributes: ranks doctors using
README.md - Doctor bandits → Geocoded doctors: uses distance data
README.md - Contextual bandits → Doctor attributes: uses doctor attributes
README.md - Bandit evaluation → Doctor bandits: evaluates algorithms
README.md - Patient data generation → Patient representations: generates representations
- Coordinate extraction → Doctor data update: provides coordinates
README.md - Doctor data update → Geocoded doctors: updates doctor data
README.md