#09 – Quy tắc chấm điểm, đề xuất củng cố & đo lường
Giai đoạn: Thiết kế nghiệp vụ · Phiên bản 0.1 – 29/10/2026
Chi tiết hoá BR-08…BR-17 và FR-11.01. Quy tắc chấm theo định dạng đề thi TNTHPT từ năm 2025 – BTV/HEID cần xác nhận lại trước khi triển khai.
#1. Lược đồ chấm điểm (scoring_scheme)
#1.1 MATH_2025 – Đề Toán
| Phần | Loại câu | Số câu | Quy tắc | Tối đa |
|---|---|---|---|---|
| I | Trắc nghiệm 4 lựa chọn | 12 | Đúng: 0,25 | 3,0 |
| II | Đúng/Sai, mỗi câu 4 ý | 4 | Số ý đúng 1 → 0,1 · 2 → 0,25 · 3 → 0,5 · 4 → 1,0 | 4,0 |
| III | Trả lời ngắn | 6 | Đúng: 0,5 | 3,0 |
| Tổng | 10 |
Ý bỏ trống trong câu đúng/sai được tính là sai. Câu trả lời ngắn so khớp sau chuẩn hoá (§1.5).
#1.2 ENGLISH_2025 – Đề Tiếng Anh
40 câu trắc nghiệm, mỗi câu đúng 0,25 điểm; tổng 10.
#1.3 RAW_COUNT – Bài tập thực hành, placement test
- Kết quả = số câu đúng / tổng số câu, kèm %.
- Câu đúng/sai nhiều ý tính theo tỷ lệ ý đúng (vd. đúng 3/4 ý = 0,75 câu) để phản ánh đúng mức độ hiểu.
- BTV có thể bật quy đổi thang 10 cho từng bài.
#1.4 SELF_RUBRIC – Ngữ văn
- Hệ thống không chấm. Sau khi nộp, học sinh xem hướng dẫn chấm và tự chọn mức cho từng tiêu chí.
- Ví dụ rubric câu viết bài văn nghị luận (BTV cung cấp bản chính thức):
| Mã | Tiêu chí | Tối đa | Các mức |
|---|---|---|---|
| C1 | Đảm bảo cấu trúc bài văn | 0,25 | 0 / 0,25 |
| C2 | Xác định đúng vấn đề nghị luận | 0,5 | 0 / 0,25 / 0,5 |
| C3 | Triển khai vấn đề thành luận điểm, lập luận, dẫn chứng | 2,5 | 0 / 0,5 / 1,0 / 1,5 / 2,0 / 2,5 |
| C4 | Chính tả, ngữ pháp | 0,25 | 0 / 0,25 |
| C5 | Sáng tạo | 0,5 | 0 / 0,25 / 0,5 |
- Điểm tự đánh giá = tổng các mức đã chọn; lưu
self_score; luôn hiển thị nhãn "Tự đánh giá".
#1.5 Chuẩn hoá câu trả lời ngắn
chuẩn_hoá(s):
bỏ khoảng trắng đầu/cuối và giữa các ký tự
thay "." bằng "," # dấu thập phân kiểu Việt Nam
thay "−" (U+2212) bằng "-"
bỏ số 0 thừa sau dấu phẩy: "1,50" → "1,5"; "2,0" → "2"
"-0" → "0"
đúng ⇔ chuẩn_hoá(trả_lời) ∈ { chuẩn_hoá(a) | a ∈ đáp_án_chấp_nhận }
Đề thi thật giới hạn 4 ký tự cho ô trả lời ngắn (gồm dấu - và ,); ô nhập trên phiếu trả lời áp dụng cùng giới hạn và chỉ nhận 0–9, -, ,.
#1.6 Bảng kiểm thử bắt buộc cho mô-đun chấm (trích)
| # | Tình huống | Đầu vào | Kỳ vọng |
|---|---|---|---|
| S1 | Đúng/sai 0 ý đúng | đáp án Đ,S,S,Đ – trả lời S,Đ,Đ,S | 0 |
| S2 | Đúng/sai 2 ý đúng | trả lời Đ,S,Đ,S | 0,25 |
| S3 | Đúng/sai bỏ trống 1 ý, 3 ý còn lại đúng | Đ,S,S,_ | 0,5 |
| S4 | Trả lời ngắn dấu chấm | đáp án -1,5 – trả lời -1.5 |
đúng |
| S5 | Trả lời ngắn số 0 thừa | đáp án 2 – trả lời 2,0 |
đúng |
| S6 | Nộp tự động khi hết giờ với 0 câu trả lời | – | 0 điểm, AUTO_TIMEOUT |
| S7 | Tổng điểm Toán tối đa | đúng tất cả | 10,00 |
| S8 | Làm tròn | tổng 7,349999 do số thực | hiển thị 7,35 – tính toán bằng số thập phân cố định, không dùng float |
#2. Thuật toán đề xuất củng cố
#2.1 Dữ liệu đầu vào
- Lượt đã nộp: danh sách câu, kết quả từng câu (điểm đạt / điểm tối đa), thời gian từng câu.
- Tag của câu theo chiều
TOPIC(chuyên đề) – bắt buộc;QUESTION_TYPE(dạng bài) – tuỳ chọn. - Ánh xạ tag → tài nguyên: lý thuyết, ví dụ, bài tập của chuyên đề (qua
CONTENT_NODE.taxonomy_tag_id). - Tham số cấu hình (FR-10.12):
minItems = 2,errorThreshold = 0.5,maxTopics = 5,slowFactor = 2.0,slowWeight = 0.5.
#2.2 Tính toán
với mỗi câu i trong lượt:
sai_i = 1 − (điểm_đạt_i / điểm_tối_đa_i) # câu đúng/sai nhiều ý → sai một phần
nếu là placement test và câu i đúng và thời_gian_i > slowFactor × trung_vị_thời_gian(câu i):
sai_i = slowWeight # "đúng nhưng chưa vững" (BR-17)
với mỗi chuyên đề t:
N_t = số câu gắn t
S_t = Σ sai_i của các câu gắn t
tỷ_lệ_t = S_t / N_t
ưu_tiên_t = S_t × trọng_số_điểm_trung_bình_câu_t # chuyên đề nhiều điểm được ưu tiên
đề_xuất = các t có N_t ≥ minItems và tỷ_lệ_t ≥ errorThreshold
sắp xếp theo ưu_tiên_t giảm dần, lấy tối đa maxTopics
- Câu gắn nhiều chuyên đề: tính cho tất cả chuyên đề được gắn.
- Placement test (20 câu / 12 chuyên đề, trung bình < 2 câu/chuyên đề): dùng
minItems = 1cho riêng loại bài này. trung_vị_thời_gianlấy từ dữ liệu toàn hệ thống khi câu có ≥ 30 lượt; trước đó dùng ngưỡng BTV đặt cho câu (mặc định 60 giây).- Bản MVP1 (US-050): chỉ dùng
sai_i ∈ {0,1},minItems = 1, sắp theo số câu sai.
#2.3 Ngữ văn (FR-06.04)
Mỗi tiêu chí rubric được gắn với một kỹ năng (SKILL). Kỹ năng có tỷ lệ điểm tự chấm / điểm tối đa < 50 % được đề xuất, kèm video lý thuyết và ví dụ của kỹ năng đó.
#2.4 Điểm yếu tổng hợp (FR-06.05 – P2)
Tổng hợp trên các lượt trong 30 ngày gần nhất, lượt mới có trọng số cao hơn (suy giảm theo hàm mũ, nửa chu kỳ 14 ngày).
#2.5 Hiển thị
- Mỗi chuyên đề: tên, tỷ lệ sai (vd. "sai 2/3 câu"), các nút Lý thuyết · Ví dụ · Bài tập, kèm ID trên sách (vd. "Xem trên sách: TL021, trang 54").
- Không có chuyên đề đạt ngưỡng → thông điệp tích cực và gợi ý đề tiếp theo.
#2.6 Ví dụ
Đề thi thử Toán, chuyên đề "Nguyên hàm – Tích phân" có 3 câu: 1 câu trắc nghiệm (sai), 1 câu đúng/sai (đúng 2/4 ý → được 0,25/1 → sai_i = 0,75), 1 câu trả lời ngắn (đúng).
N = 3, S = 1 + 0,75 + 0 = 1,75, tỷ lệ = 58 % ≥ 50 % → được đề xuất.
#3. Đề xuất với giáo viên (FR-09.06)
Với một bài giao: tỷ lệ sai từng câu = số học sinh sai / số học sinh đã nộp; tỷ lệ sai từng chuyên đề tính như §2.2 trên toàn bộ bài nộp của lớp. Hiển thị 10 câu và 5 chuyên đề sai nhiều nhất, nút "Giao bài tập củng cố" mở sẵn bài tập của chuyên đề đó.
#4. Danh mục sự kiện hành vi
Mỗi sự kiện có trường chung: eventId, name, occurredAt, userId (nếu đã đăng nhập), anonymousId, sessionId, device (loại, hệ điều hành, trình duyệt, có phải in-app browser), appVersion, referrer (qr, typed, link, recommendation, assignment).
| Nhóm | Sự kiện | Thuộc tính riêng | Phục vụ báo cáo |
|---|---|---|---|
| Tài khoản | signed_up, logged_in |
method (sso/phone/email) |
Tăng trưởng |
| Kích hoạt | activation_attempted, book_activated |
bookId, result, via (qr/typed) |
Tỷ lệ kích hoạt theo sách, tỉnh |
| Liên kết | code_resolved, code_not_found, code_not_entitled |
code, normalizedFrom, bookId, kind, via |
Mức sử dụng từng trang sách; ID hay gõ sai |
| Học liệu | resource_viewed |
resourceId, kind, durationSec |
Hiệu quả học liệu |
| Video | video_started, video_progress, video_completed |
videoId, percent (25/50/75/100), playbackRate |
Tỷ lệ xem hết |
| Làm bài | attempt_started, attempt_resumed, attempt_submitted, answer_key_viewed |
assessmentId, mode, timed, score, durationSec, submitType |
Tỷ lệ hoàn thành, giấy vs máy |
| Tự chấm | self_grade_completed |
attemptId, selfScore |
Mức dùng tự chấm Văn |
| Đề xuất | recommendation_shown, recommendation_clicked |
attemptId, tagId, rank, targetKind |
Hiệu quả đề xuất |
| Giáo viên | assignment_created, teacher_report_viewed |
classId, assessmentId |
Mức dùng của giáo viên |
| Mua | package_viewed, order_created, order_paid, order_failed |
packageId, amount, provider |
Phễu mua, doanh thu |
| Chất lượng | content_reported, client_error |
targetId, type |
Lỗi nội dung, lỗi kỹ thuật |
answer_key_viewed(tra đáp án không làm trên máy) so vớiattempt_submittedcho biết tỷ lệ học sinh làm đề trên giấy – thông tin quan trọng để HEID đánh giá mô hình hybrid.
#5. Chỉ số báo cáo cho Admin HEID (FR-11.02–04)
| Báo cáo | Chỉ số | Công thức |
|---|---|---|
| Tổng quan | Kích hoạt mới / luỹ kế theo sách, ngày, tỉnh | đếm book_activated |
| DAU / WAU / MAU, tỷ lệ quay lại sau 7 ngày | người dùng phân biệt có sự kiện bất kỳ | |
| Tần suất: số phiên / người dùng / tuần | ||
| Học liệu | Top ID được mở; ID không được mở lần nào | đếm code_resolved theo code |
| Tỷ lệ xem hết video | video_completed / video_started |
|
| Tỷ lệ hoàn thành bài | attempt_submitted / attempt_started |
|
| Điểm trung bình, phân phối điểm theo đề | từ ATTEMPT | |
| Câu hỏi có tỷ lệ sai bất thường (> 85 %) – nghi sai đáp án | từ ATTEMPT_ANSWER | |
| Tỷ lệ làm trên giấy | answer_key_viewed / (answer_key_viewed + attempt_submitted) |
|
| Học tập | Tỷ lệ bấm đề xuất | recommendation_clicked / recommendation_shown |
| Chênh lệch điểm giữa lượt đầu và lượt gần nhất của cùng loại đề | ||
| Kinh doanh (P3) | Phễu package_viewed → order_created → order_paid; doanh thu theo gói, ngày |
|
| Giáo viên | Số giáo viên, lớp, bài giao hoạt động / tuần |