class-grader / docs /about.md
CoolDip00's picture
Deploy from GitHub main
5334076 verified
|
Raw History Blame Contribute Delete
4.02 kB
## What it measures
The rubric comes from the academy's own reviewer feedback on the sample classes. Reviewers
repeatedly praise or ask for the same things, grouped here into four teaching pillars plus a
camera check:
| Pillar | What earns a high score | Weight |
|---|---|---|
| Structure & rapport | Warm greeting, session intro, new joiners introduced, recap and goodbye | 25% |
| Individual attention | Children asked by name, everyone participates, understanding checked | 30% |
| Homework & reinforcement | Specific homework or practice set, key ideas recapped | 10% |
| Tone & energy | Lively, encouraging, specific praise, patient | 20% |
| Camera compliance | Tutor's face visible and well lit, camera on | gate |
## How a recording is graded
1. **Transcript.** A Zoom `.vtt` is used if provided. Otherwise the audio is transcribed with
Whisper (Groq) and a small model labels each line as tutor or student.
2. **Pseudonymisation.** Speakers become *Tutor*, *S1*, *S2*…; children's names in the text
become tags such as `[C3]` before anything is sent to a language model.
3. **Measured metrics.** Talk share, student turns per 10 minutes, questions, praise, names
used, greeting / recap / homework detection, longest monologue. These are given to the
judge as hints and shown in the report.
4. **Camera check, done locally.** One frame every 10 s is matched to whoever was speaking at
that moment (Zoom records the active speaker). On the tutor's frames a local face detector
(OpenCV YuNet) measures face visibility, camera-off time and lighting.
5. **Judge.** Claude Sonnet 5.5 scores each teaching pillar from 1 to 5 against fixed
anchors and must cite `[mm:ss]` evidence for every score.
6. **Grade in code.** The weighted pillar score maps to a grade: ≥4.25 Excellent, ≥3.5 Good,
≥2.75 Average, below that Poor. The model's own overall impression is shown on the
benchmark tab for comparison but never decides the grade, so the same pillar scores always
give the same grade.
7. **Camera gate.** A serious camera failure (for example the tutor's face hidden for most of
the class) makes the class a *quality issue*, graded Poor whatever the teaching, as the
academy does. Smaller problems are reported but not graded: meeting the camera standard is
expected, not a sign of good teaching.
Confidence drops when the transcript is mostly non-English or garbled, when no Zoom transcript
was available, or when the score is close to a grade boundary. Within ±0.15 of a cut-off the
report says so and names the other grade the class could have received.
## Privacy
- **Video frames never leave the server.** Face and lighting checks run locally; no image is
sent to any API.
- **Text sent to Anthropic** is the pseudonymised transcript only. **Audio is sent to Groq**
only when no `.vtt` is provided, for speech-to-text.
- **Name removal is best-effort.** It catches Zoom display names, names after greetings and
in direct address, and rare capitalised words. A common name misheard by the speech
recogniser can slip through.
- **Uploads are deleted** after grading. The finished report (pseudonymised) is cached on the
server by file hash so the same recording is not processed and billed twice.
- The app is behind a login. The confidential sample recordings are not in the repository;
only batch IDs, labels and scores are published.
## Limitations
- Tuned and tested on 10 labelled recordings: a sanity check, not a validation.
- A missing branded background is not detected yet (one quality-issue class is missed for this reason).
- The judge varies by roughly ±0.15 points between runs on the same class, which can flip a
borderline grade. The same upload always returns the same (cached) report.
- Without a `.vtt`, all students are merged into one speaker and tutor/student labels are guessed,
which tends to over-score participation. Upload the `.vtt` when you have it.
- Non-English or mixed-language classes get low confidence.