Blending Human and LLM Expertise to Detect Hallucinations and Omissions in Mental Health Chatbot Responses
Organizations: Virginia Tech, Blacksburg, VA, USA · Vanderbilt University Medical Center, Nashville, TN, USA
Abstract
As LLM-powered chatbots are increasingly deployed in mental health services, detecting hallucinations and omissions has become critical for user safety. However, state-of-the-art LLM-as-a-judge methods often fail in high-risk healthcare contexts, where subtle errors can have serious consequences. We show that leading LLM judges achieve only 52% accuracy on mental health counseling data, with some hallucination detection approaches exhibiting near-zero recall. We identify the root cause as LLMs' inability to capture nuanced linguistic and therapeutic patterns recognized by domain experts. To address this, we propose a framework that integrates human expertise with LLMs to extract interpretable, domain-informed features across five analytical dimensions: logical consistency, entity verification, factual accuracy, linguistic uncertainty, and professional appropriateness. Experiments on a public mental health dataset and a new human-annotated dataset show that traditional machine learning models trained on these features achieve 0.717 F1 on our custom dataset and 0.849 F1 on a public benchmark for hallucination detection, with 0.59-0.64 F1 for omission detection across both datasets. Our results demonstrate that combining domain expertise with automated methods yields more reliable and transparent evaluation than black-box LLM judging in high-stakes mental health applications.
Figures & tables
| Dataset | Samples | Hal. | Omis. |
|---|---|---|---|
| Custom (hal) | 4,418 | 87 | 0 |
| Cutom (omis) | 3,368 | 0 | 124 |
| Kaggle | 994 | 243 | 511 |
| Method | DS | Task | Acc | Prc | Rec | F1 |
|---|---|---|---|---|---|---|
| Traditional Methods | ||||||
| SelfCheckGPT | C | Hal | 0.523 | 0.576 | 0.172 | 0.265 |
| SelfCheckGPT | C | Omi | 0.496 | 0.484 | 0.129 | 0.203 |
| SelfCheckGPT | K | Hal | 0.524 | 0.573 | 0.193 | 0.289 |
| SelfCheckGPT | K | Omi | 0.501 | 0.503 | 0.159 | 0.242 |
| SAC3 (L3.3-70B) | C | Hal | 0.900 | 0.000 | 0.000 | 0.000 |
| LLM | Classifier | F1 | ROC-AUC |
|---|---|---|---|
| GPT-4o | MLP | 0.680 0.101 | 0.737 0.098 |
| Logistic Reg. | 0.641 0.063 | 0.737 0.096 | |
| SAINT | 0.609 0.027 | 0.713 0.101 | |
| GPT-5 | SVM | 0.601 0.095 | 0.594 0.117 |
| Random Forest | 0.587 0.058 | 0.615 0.064 | |
| Logistic Reg. | 0.505 0.086 | 0.633 0.145 |
| LLM | Classifier | F1 | ROC-AUC |
|---|---|---|---|
| GPT-4o | SAINT | 0.637 0.030 | 0.661 0.025 |
| Logistic Reg. | 0.621 0.071 | 0.683 0.054 | |
| SVM | 0.620 0.091 | 0.673 0.051 | |
| GPT-5 | Logistic Reg. | 0.614 0.033 | 0.644 0.063 |
| Random Forest | 0.606 0.077 | 0.653 0.083 | |
| SVM | 0.598 0.043 | 0.602 0.066 |
| Model | F1-Score | ROC-AUC |
|---|---|---|
| Hallucination Detection | ||
| LightGBM | 84.6 1.7% | 91.3 1.9% |
| XGBoost | 84.9 1.2% | 91.3 1.2% |
| MLP | 81.3 1.5% | 91.0 1.7% |
| CatBoost | 83.9 1.3% | 91.0 0.9% |
| Random Forest | 82.7 1.7% | 90.8 1.0% |
| Custom-Hal | Custom-Omis | ||
| # | Feature (AUC) | # | Feature (AUC) |
| 1 | omis (0.585) | 1 | omis (0.648) |
| 2 | hal (0.621) | 2 | hal (0.649) |
| 3 | emotion (0.632) | 3 | emotion (0.650) |
| 4 | professional (0.646) | 4 | vague (0.654) |
| 5 | relation_fab (0.647) | 5 | certainty (0.658) |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| LLM | Classifier | Acc | Prc | Rec | F1 | PR-AUC | ROC-AUC |
|---|---|---|---|---|---|---|---|
| GPT-4o | MLP | 0.683 0.099 | 0.695 0.116 | 0.677 0.119 | 0.680 0.101 | 0.753 0.107 | 0.737 0.098 |
| Logistic Reg. | 0.661 0.052 | 0.684 0.068 | 0.611 0.096 | 0.641 0.063 | 0.765 0.108 | 0.737 0.096 | |
| SAINT | 0.638 0.036 | 0.673 0.086 | 0.564 0.057 | 0.609 0.027 | 0.731 0.108 | 0.713 0.101 | |
| GPT-5 | SVM | 0.537 0.101 | 0.534 0.090 | 0.711 0.176 | 0.601 0.095 | — | 0.594 0.117 |
| Random Forest | 0.572 0.069 | 0.577 0.092 | 0.611 0.094 | 0.587 0.058 | 0.698 0.085 | 0.615 0.064 | |
| Logistic Reg. | 0.535 0.066 | 0.548 0.091 | 0.489 0.155 | 0.505 0.086 | 0.673 0.110 | 0.633 0.145 |
| LLM | Classifier | Acc | Prc | Rec | F1 | PR-AUC | ROC-AUC |
|---|---|---|---|---|---|---|---|
| GPT-4o | SAINT | 0.645 0.026 | 0.660 0.064 | 0.629 0.095 | 0.637 0.030 | 0.674 0.039 | 0.661 0.025 |
| Logistic Reg. | 0.637 0.066 | 0.662 0.104 | 0.604 0.127 | 0.621 0.071 | 0.713 0.046 | 0.683 0.054 | |
| SVM | 0.657 0.037 | 0.694 0.049 | 0.581 0.155 | 0.620 0.091 | 0.675 0.026 | 0.673 0.051 | |
| GPT-5 | Logistic Reg. | 0.635 0.023 | 0.653 0.027 | 0.584 0.062 | 0.614 0.033 | 0.696 0.057 | 0.644 0.063 |
| Random Forest | 0.633 0.067 | 0.656 0.077 | 0.568 0.090 | 0.606 0.077 | 0.674 0.072 | 0.653 0.083 | |
| SVM | 0.565 0.033 | 0.555 0.025 | 0.651 0.078 | 0.598 0.043 | — | 0.602 0.066 |
| Model | Acc | Prc | Rec | F1 | PR-AUC | ROC-AUC |
|---|---|---|---|---|---|---|
| Hallucination Detection | ||||||
| LightGBM | 85.4 1.9% | 89.2 1.7% | 80.7 1.9% | 84.6 1.7% | 93.3 1.7% | 91.3 1.9% |
| XGBoost | 85.4 1.2% | 87.7 1.2% | 82.3 1.2% | 84.9 1.2% | 93.6 1.5% | 91.3 1.2% |
| MLP | 81.9 1.7% | 84.3 1.5% | 78.6 1.7% | 81.3 1.5% | 93.1 1.5% | 91.0 1.7% |
| CatBoost | 84.6 0.9% | 87.3 1.3% | 81.1 0.9% | 83.9 1.3% | 93.1 1.3% | 91.0 0.9% |
| Random Forest | 83.8 1.0% | 88.5 1.7% | 77.8 1.0% | 82.7 1.7% | 92.7 1.7% | 90.8 1.0% |
| Feature | ROC-AUC | PR-AUC | Accuracy | F1 |
|---|---|---|---|---|
| Hallucination Detection | ||||
| hal_score | 0.644 | 0.647 | 0.633 | 0.484 |
| relevance_score | 0.616 | 0.605 | 0.536 | 0.453 |
| omis_score | 0.578 | 0.584 | 0.539 | 0.554 |
| entity_fab | 0.519 | 0.519 | 0.523 | 0.581 |
| professional_score | 0.565 | 0.627 | 0.551 | 0.474 |
| Task | GPT-4o | GPT-5 | O3 | L3.3-70B | OSS-20B | OSS-120B | Mean (CV) |
|---|---|---|---|---|---|---|---|
| Hal. | 0.680 | 0.601 | 0.678 | 0.695 | 0.656 | 0.707 | 0.670 (0.057) |
| Omis. | 0.637 | 0.614 | 0.614 | 0.591 | — | — | 0.614 (0.031) |
| Approach | Variant | F1 | ROC-AUC |
|---|---|---|---|
| Adversarial Advocate-Critic Pipeline | |||
| Adversarial | Baseline | 0.520 | — |
| Adversarial | +Features | 0.370 | — |
| Hybrid Rule-Based Detection | |||
| OR Rules | CatBoost | 0.717 | — |
| AND Rules | Random Forest | 0.689 | — |
| Method | Model | k=0 | k=2 | k=4 | k=6 | k=8 |
| Balanced Omission Dataset (n=248) | ||||||
| Judge | GPT-5 | 0.678 | 0.700 | 0.690 | 0.670 | 0.677 |
| Features+ML | GPT-5+RF | 0.663 | 0.609 | 0.627 | 0.600 | 0.647 |
| KMHC Omission Dataset (n=966) | ||||||
| Judge | GPT-4o | 0.606 | 0.647 | 0.649 | 0.664 | 0.652 |
| Judge | GPT-5 | 0.609 | 0.581 | 0.593 | 0.585 | 0.593 |
| Method | Model | k=0 | k=2 | k=4 | k=6 | k=8 |
|---|---|---|---|---|---|---|
| Balanced Hallucination Dataset (n=174) | ||||||
| Judge | GPT-4-Turbo | 0.204 | 0.204 | 0.198 | 0.179 | 0.194 |
| Judge | GPT-4o | 0.126 | 0.163 | 0.125 | 0.143 | 0.148 |
| Judge | GPT-4o-mini | 0.043 | 0.147 | 0.147 | 0.109 | 0.129 |
| KMHC Hallucination Dataset (n=486) | ||||||
| Judge | GPT-4o | 0.093 | 0.186 | 0.221 | 0.282 | 0.290 |
Language Model Error Detection
Language model error detection identifies unreliable answers, reasoning steps, and actions so systems can flag, verify, or repair them.
See all 90 papers