--- language: en library_name: setfit pipeline_tag: text-classification base_model: sentence-transformers/paraphrase-mpnet-base-v2 datasets: - StanfordSCALE/assertions_llm_annotated_talkmoves metrics: - f1 - precision - recall - roc_auc tags: - setfit - text-classification - education - classroom-discourse - edubehaviors - assertion model-index: - name: assertion_repeats_a_problem results: - task: type: text-classification dataset: name: assertions_llm_annotated_talkmoves type: StanfordSCALE/assertions_llm_annotated_talkmoves split: test metrics: - type: f1 value: 0.3563 name: F1 (positive class, test) - type: precision value: 0.4125 name: Precision (positive class, test) - type: recall value: 0.3136 name: Recall (positive class, test) - type: roc_auc value: 0.7589 name: ROC-AUC (test) --- # Assertion: repeats a problem This classifier was trained for *EduBehaviors: Assertion-based schemas for auditable dialogue coding* and is usable through the Python package `EduBehaviors-kit`. This classifier was trained on an LLM-annotated subset of teacher utterances from the [TalkMoves Dataset](https://github.com/SumnerLab/TalkMoves). See the Datasets section below for more information. --- ## Training Details ### Datasets | Dataset | Split | Size | |---------|-------|------| | [StanfordSCALE/assertions_llm_annotated_talkmoves](https://huggingface.co/datasets/StanfordSCALE/assertions_llm_annotated_talkmoves) | train | 13,178 (53.3%) | | [StanfordSCALE/assertions_llm_annotated_talkmoves](https://huggingface.co/datasets/StanfordSCALE/assertions_llm_annotated_talkmoves) | dev | 3,297 (13.3%) | | [StanfordSCALE/assertions_llm_annotated_talkmoves](https://huggingface.co/datasets/StanfordSCALE/assertions_llm_annotated_talkmoves) | test | 8,240 (33.3%) | This model's columns are `assertion_repeats_a_problem` and `split_repeats_a_problem`. **Base rate** (share of rows labeled as True): 4.2% overall — 4.3% train, 4.0% dev, 4.1% test. ### Labels and annotation Labels were generated with LLM annotators. Krippendorff's alpha for this assertion is 0.442. ### Hyperparameters | Parameter | Value | |-----------|-------| | Base model (body) | [sentence-transformers/paraphrase-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-mpnet-base-v2) | | Head | `LogisticRegression` | | Body learning rate | 2e-05 | | Head learning rate | 0.01 | | Batch size | 16 (contrastive phase) / 32 (head) | | Epochs | 10 | | Max steps | 5000 (contrastive phase) | | Eval max steps | 100 | | Seed | 20260904 | | Mixed precision | enabled on GPU | --- ## Evaluation ### Results | Split | n | Base rate | Precision | Recall | F1 (positive class) | ROC-AUC | Average precision | |-------|---|-----------|-----------|--------|---------------------|---------|-------------------| | dev | 3,297 | 4.0% | 0.360 | 0.241 | 0.288 | 0.767 | 0.254 | | test | 8,240 | 4.1% | 0.412 | 0.314 | 0.356 | 0.759 | 0.255 | ### Limitations - **Labels come from LLM annotators, not human coders.** Agreement between annotators with Krippendorff's Alpha is 0.442. - Trained on teacher utterances only. Behaviour on student speech is untested. - Test F1 is 0.356. This model does not work well enough to be used on its own. --- ## How to Use ### Message Structure The model was trained on text built as: ``` {utterance} ``` The utterance is passed through as-is. ### Running instructions ```bash pip install setfit ``` ```python from setfit import SetFitModel model = SetFitModel.from_pretrained("StanfordSCALE/assertion_repeats_a_problem") text = 'if you use different models' model.predict([text]) # -> array([1]) when the assertion holds model.predict_proba([text]) # -> [[P(no), P(yes)]] ``` ## Citation ```bibtex @misc{assertion_repeats_a_problem, author = {Stanford SCALE Initiative}, title = {Assertion classifier: repeats a problem}, year = {2026}, url = {https://huggingface.co/StanfordSCALE/assertion_repeats_a_problem} } ```