(Pronounced "Quest-Tea")
QuestEA is an exploratory research project investigating a novel approach to analyzing patient survey data by combining numerical responses with the semantic meaning of questions through embeddings.
In short: QuestEA turns one patient into one vector for analysis.
🔗 Interested in QuestEA? Take a look at Harmony too. Harmony uses NLP to harmonise and match questionnaire items across studies, languages, and instruments. The two projects are (in my view) complementary: QuestEA embeds patients (their questionnaire responses) into a single vector, whereas Harmony embeds the questions themselves. If you find this overlap interesting, come say hi on this issue I made to introduce QuestEA to the Harmony team: harmonydata/harmony#135.
QuestEA could allow comparing psychiatry studies that don't use the same rating scale (currently a big problem, see Heterogeneity of outcome measures in depression trials and the relevance of the content of outcome measures to patients by Veal et al.).
Furthermore, using ML latent spaces means we could compare heterogeneous datasets (surveys + natural language report + videos + biological + MRI reports + ...).
While still in early experimental stages, this academic work explores whether incorporating question semantics could potentially enhance our understanding of patient data and survey design. This is a proof-of-concept study and should not be used for clinical decisions.
FAQ
What is this?
- QuestEA (QuestionnaireEmbeddingsAnalysis) is a way to turn structured data into embeddings (think coordinates on a map), initially conceived for patient surveys but applicable to many other types of data.
- The fundamental principle is that the richest and truest representation of a patient comes from combining:
- Raw data of the patient on a metric (vectors)
- Raw data about the metric itself (here: the meaning of each question)
- This approach is fundamentally richer than traditional methods that simply abstract questions into a list of integers (checked or not checked).
How does it work?
The process of turning patients into embeddings involves several technical steps:
-
Data Loading and Preprocessing:
- Patient survey answers are loaded as numerical values
- Data is normalized using either L1 or L2 normalization (configurable)
- Survey questions are loaded as text
-
Embedding Generation:
- The basic idea is to take the answer to each Likert question and use it as a multiplying factor to the question's embedding. In practice lots of tweaks can be used. Data is needed ultimately to figure out what works best.
Note on Implementation: The mathematical formulas below represent the current implementation of QuestEA. However, it's important to understand that QuestEA is fundamentally about the concept of combining patient responses with question semantics through embeddings. The specific formulas may very well need refinement and tweaks as we gather more data and real-world validation. What remains constant is the general idea: creating richer patient representations by considering both what questions were asked and how they were answered. Ultimately, access to real clinical data will be necessary to determine which variations of this approach are most valuable.
LLM Embedding Mode:llm_*
Mathematical Details
This mode combines patient answers with question embeddings generated by language models.
Survey questions are embedded using one of:
- OpenAI's API
- SBERT models (e.g., CLIP-ViT-B-32)
- Custom embedding models
Given a survey with