This one took me longer to get into than I expected.
Start by framing the problem as a data quality improvement pipeline: estimate annotator reliability using agreement and model-based methods, filter labels with statistically justified thresholds, retrain the classifier, and rigorously validate the impact using a clean, held-out test set. Emphasize avoiding leakage by splitting data before any reliability estimation and handling sparse annotators with smoothing or hierarchical models.
Pro tip: Use a small, high-quality gold set to calibrate annotator reliability and validate filtering decisions, and always compare against a baseline trained on all labels to isolate the effect of filtering.
Compute per-annotator agreement with majority vote or a model (e.g., Dawid-Skene) to get reliability scores, using cross-validation to avoid overfitting. For annotators with few labels, apply Bayesian smoothing or hierarchical modeling to stabilize estimates.
Set a threshold on reliability scores (e.g., via precision-recall on a validation set or cost-benefit analysis) and remove labels from annotators below it. Consider soft filtering by weighting labels by reliability instead of hard removal.
Retrain the classifier on the filtered dataset and evaluate on a held-out test set that was never used for reliability estimation or filtering. Compare accuracy against a baseline trained on all labels to confirm improvement.
Split data into train/validation/test before any reliability estimation, and ensure annotator reliability is computed only on training data. For annotators with few labels, use partial pooling or exclude them from filtering decisions if estimates are unreliable.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.