Text Classification
setfit
Safetensors
English
mpnet
education
classroom-discourse
edubehaviors
assertion
Eval Results (legacy)
Instructions to use StanfordSCALE/assertion_invites_student_thinking with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- setfit
How to use StanfordSCALE/assertion_invites_student_thinking with setfit:
from setfit import SetFitModel model = SetFitModel.from_pretrained("StanfordSCALE/assertion_invites_student_thinking") preds = model.predict(["i loved the spiderman movie!", "pineapple on pizza is the worst"]) print(preds) - Notebooks
- Google Colab
- Kaggle
|
Download README.md from StanfordSCALE/assertion_invites_student_thinking: direct link, hf CLI and curl.
- Browser
- Download file 4.09 kB
-
https://huggingface.co/StanfordSCALE/assertion_invites_student_thinking/resolve/main/README.md
- Command line
-
hf download hf://StanfordSCALE/assertion_invites_student_thinking/README.md
-
curl -L -o README.md https://huggingface.co/StanfordSCALE/assertion_invites_student_thinking/resolve/main/README.md
4.09 kB
metadata
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_invites_student_thinking
results:
- task:
type: text-classification
dataset:
name: assertions_llm_annotated_talkmoves
type: StanfordSCALE/assertions_llm_annotated_talkmoves
split: test
metrics:
- type: f1
value: 0.7908
name: F1 (positive class, test)
- type: precision
value: 0.7977
name: Precision (positive class, test)
- type: recall
value: 0.7841
name: Recall (positive class, test)
- type: roc_auc
value: 0.9549
name: ROC-AUC (test)
Assertion: invites student thinking
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. See the Datasets section below for more information.
Training Details
Datasets
| Dataset | Split | Size |
|---|---|---|
| StanfordSCALE/assertions_llm_annotated_talkmoves | train | 13,182 (53.3%) |
| StanfordSCALE/assertions_llm_annotated_talkmoves | dev | 3,293 (13.3%) |
| StanfordSCALE/assertions_llm_annotated_talkmoves | test | 8,240 (33.3%) |
This model's columns are assertion_invites_student_thinking and split_invites_student_thinking.
Base rate (share of rows labeled as True): 20.2% overall — 20.7% train, 20.6% dev, 19.2% test.
Labels and annotation
Labels were generated with LLM annotators. Krippendorff's alpha for this assertion is 0.774.
Hyperparameters
| Parameter | Value |
|---|---|
| Base model (body) | 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,293 | 20.6% | 0.789 | 0.792 | 0.791 | 0.952 | 0.860 |
| test | 8,240 | 19.2% | 0.798 | 0.784 | 0.791 | 0.955 | 0.867 |
Limitations
- Labels come from LLM annotators, not human coders. Agreement between annotators with Krippendorff's Alpha is 0.774.
- Trained on teacher utterances only. Behaviour on student speech is untested.
How to Use
Message Structure
The model was trained on text built as:
{utterance}
The utterance is passed through as-is.
Running instructions
pip install setfit
from setfit import SetFitModel
model = SetFitModel.from_pretrained("StanfordSCALE/assertion_invites_student_thinking")
text = 'Did you all build the same model'
model.predict([text]) # -> array([1]) when the assertion holds
model.predict_proba([text]) # -> [[P(no), P(yes)]]
Citation
@misc{assertion_invites_student_thinking,
author = {Stanford SCALE Initiative},
title = {Assertion classifier: invites student thinking},
year = {2026},
url = {https://huggingface.co/StanfordSCALE/assertion_invites_student_thinking}
}