File size: 3,592 Bytes
06fb46d
 
 
 
 
 
624b944
 
 
 
 
 
 
 
06fb46d
 
 
 
624b944
 
 
 
 
06fb46d
624b944
 
06fb46d
624b944
06fb46d
624b944
 
 
 
 
 
 
06fb46d
 
 
 
 
 
624b944
06fb46d
 
 
 
 
 
 
 
 
624b944
06fb46d
624b944
 
06fb46d
624b944
 
 
06fb46d
 
624b944
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
414fe60
 
624b944
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
06fb46d
 
 
624b944
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
---
library_name: transformers
license: apache-2.0
base_model:
- Qwen/Qwen3.5-4B-Base
pipeline_tag: text-generation
language:
- en
tags:
- education
- tutoring
- esl
- sft
- grpo
---

# TACTutor

TACTutor is a 4B-parameter conversational English tutor from **TACT**
(Taxonomy-Aligned Conversational Tutor). Starting from Qwen3.5-4B-Base, the
model was post-trained with supervised fine-tuning (SFT) followed by
taxonomy-aligned Group Relative Policy Optimization (GRPO). It is distributed
as a merged Hugging Face Transformers model rather than a LoRA adapter.

- TACT organization: https://huggingface.co/Taxonomy-Aligned-Conversational-Tutor
- Demonstration samples: https://huggingface.co/datasets/Taxonomy-Aligned-Conversational-Tutor/TACTBench-Samples

## Intended Use

TACTutor generates the next teacher response in an ongoing English-learning
conversation. It is intended for research on pedagogically adaptive dialogue,
including feedback, guided revision, clarification, and learner-supportive
conversation management.

The model is a research artifact, not a replacement for a qualified teacher.
Outputs should be reviewed before use in high-stakes educational settings.

## Loading

```python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "Taxonomy-Aligned-Conversational-Tutor/TACTutor"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype="auto",
    device_map="auto",
    trust_remote_code=True,
)
```

One prompt used in our evaluation is:

```text
You are an expert ESL tutoring teacher.

Your job is to write the next teacher response in an ongoing teacher-student chat.
Respond naturally and pedagogically. Do not explain your reasoning. Do not mention
taxonomy labels, rubrics, or evaluation criteria.
```

Pass this instruction as the system message, followed by the dialogue history,
and use the tokenizer's chat template to construct the model input.

## Evaluation

On the 78-item TACTBench diagnostic benchmark, the selected checkpoint achieved:

| Metric | Score |
| --- | ---: |
| TACT Overall | 0.832051 |
| Accept | 0.871795 |
| Leak | 0.025641 |
| Off-task | 0.025641 |

The scores above were measured before five representative benchmark examples
were released. Those public examples are demonstration data and should be
excluded from future hidden-set scoring.

## Training Data and Limitations

The post-training data are derived from authentic English tutoring dialogue and
taxonomy-guided augmentation. The complete training corpus and hidden benchmark
are not included in this repository. Five short full-context demonstration
examples are available in the companion dataset repository.

The source dialogue is derived from the Teacher-Student Chatroom Corpus version
2 (TSCC v2), which is governed by its own user agreement. This model may produce
incorrect, overly explicit, or contextually inappropriate tutoring responses,
and its behavior outside English-language tutoring has not been established.

## Citation

Please cite the following paper when using TACTutor:

```bibtex
@article{yang2026tact,
  title   = {TACT: Taxonomy-Aligned Post-Training for Pedagogically Adaptive English Tutoring},
  author  = {Yang, Dongjie and Lin, Siyan and Shen, Leixian and Sheng, Rui and Qu, Huamin and Chen, Zixin},
  year    = {2026}
}
```

## License

The model weights are released under the Apache License 2.0. The TSCC-derived
source data remain subject to the TSCC user agreement and are not redistributed
with the model weights.