xanderbeberman's picture
update model card
18105ac verified
|
Raw History Blame Contribute Delete
4.25 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_contains_the_final_answer_to_a_math_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.4552
            name: F1 (positive class, test)
          - type: precision
            value: 0.5263
            name: Precision (positive class, test)
          - type: recall
            value: 0.401
            name: Recall (positive class, test)
          - type: roc_auc
            value: 0.8917
            name: ROC-AUC (test)

Assertion: contains the final answer to a math 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. See the Datasets section below for more information.


Training Details

Datasets

This model's columns are assertion_contains_the_final_answer_to_a_math_problem and split_contains_the_final_answer_to_a_math_problem.

Base rate (share of rows labeled as True): 4.5% overall — 4.5% train, 4.1% dev, 4.8% test.

Labels and annotation

Labels were generated with LLM annotators. Krippendorff's alpha for this assertion is 0.644.

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,298 4.1% 0.448 0.385 0.414 0.864 0.363
test 8,235 4.8% 0.526 0.401 0.455 0.892 0.468

Limitations

  • Labels come from LLM annotators, not human coders. Agreement between annotators with Krippendorff's Alpha is 0.644.
  • 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_contains_the_final_answer_to_a_math_problem")

text = 'I would give it the number name one third'
model.predict([text])        # -> array([1]) when the assertion holds
model.predict_proba([text])  # -> [[P(no), P(yes)]]

Citation

@misc{assertion_contains_the_final_answer_to_a_math_problem,
  author = {Stanford SCALE Initiative},
  title  = {Assertion classifier: contains the final answer to a math problem},
  year   = {2026},
  url    = {https://huggingface.co/StanfordSCALE/assertion_contains_the_final_answer_to_a_math_problem}
}