1. Công thức điểm
Mỗi kỹ năng quy về thang 0–10, làm tròn 0.5. Có thể đọc công thức theo cách đơn giản: điểm Listening/Reading dựa trên tỷ lệ câu đúng; Writing lấy Task 2 nặng gấp đôi Task 1; Speaking lấy trung bình 3 phần nói; điểm tổng là trung bình 4 kỹ năng.
Trong đó: phần trong ngoặc là điểm thô, × 10 dùng để đổi tỷ lệ đúng sang thang 10, dấu / là chia trung bình. round0.5 = làm tròn đến mốc 0.5 gần nhất, ví dụ 6.24 → 6.0, 6.25 → 6.5.
Task 1/2 là điểm từng bài Writing. Part 1/2/3 là điểm từng phần Speaking. Nếu chưa cần kiểm tra chi tiết, chỉ cần nhớ: Listening/Reading theo số câu đúng; Writing ưu tiên Task 2; Speaking lấy trung bình 3 phần.
Ví dụ: Listening đúng 28/35 câu → 28/35 × 10 = 8.0. Writing Task 1 = 6.0, Task 2 = 7.0 → (6.0 + 2 × 7.0) / 3 = 6.67 → 6.5.
B1: 4.0–5.5 · B2: 6.0–8.0 · C1: 8.5–10.0
2. Luồng chấm Writing/Speaking
3. Tiêu chí chấm
Writing — 4 tiêu chí
- Task Fulfillment: đáp ứng yêu cầu đề, phát triển ý, lạc đề
- Organization: bố cục đoạn, từ nối, đa dạng câu, định dạng
- Grammar: đa dạng cấu trúc, mật độ lỗi ngữ pháp
- Vocabulary: độ rộng từ vựng, mức nâng cao, chính tả
Speaking — 5 tiêu chí
- Grammar: đa dạng cấu trúc, độ chính xác
- Vocabulary: phù hợp chủ đề, đa dạng
- Fluency: tốc độ nói, mức ngập ngừng
- Discourse Management: phát triển ý, liên kết, bám đề
- Pronunciation: chính xác, trôi chảy, ngữ điệu, hoàn chỉnh
Trong đó: tín hiệu đo được là dữ liệu thô từ bài làm, ví dụ số lỗi, số từ, tốc độ nói, độ bám đề. Tham số cấu hình là trọng số, ngưỡng, giới hạn điểm và mức phạt. AI/ASR chỉ là một trong các nguồn tạo tín hiệu; điểm được kiểm soát bởi công thức và điều kiện giới hạn của hệ thống.
Luồng tính điểm: điểm tiêu chí → trung bình có trọng số để ra điểm task/part → trung bình các part → làm tròn 0.5 để ra điểm kỹ năng.
Nguồn tín hiệu: công cụ kiểm tra ngữ pháp — chính tả, dịch vụ nhận dạng giọng nói — đánh giá phát âm, phân tích văn bản (số từ, câu, đoạn, từ nối, CEFR), đánh giá mức độ bám đề và phát triển ý.
4. Giới hạn điểm
- Bài quá ngắn hoặc copy đề: giới hạn điểm
- Không đáp ứng yêu cầu: giảm Task Fulfillment
- Nói quá ít: không đủ mẫu ngôn ngữ
- Audio kém: tín hiệu âm thanh không đủ tin cậy
- Lạc đề: phát âm tốt không che lấp nội dung sai
5. Tool/API cho chấm điểm
Luồng chấm điểm kết hợp công thức nội bộ với các tool đo tín hiệu ngôn ngữ. AI hỗ trợ nhận xét và phân tích, nhưng điểm cuối vẫn đi qua rubric, trọng số và giới hạn điểm của hệ thống.
6. SRS từ vựng — FSRS v6
FSRS cá nhân hóa lịch ôn từ vựng qua 3 chỉ số: difficulty (độ khó), stability (độ bền trí nhớ), retrievability (xác suất nhớ lại). Người học đánh giá Again/Hard/Good/Easy sau mỗi lần ôn → hệ thống cập nhật chỉ số và tính ngày ôn tiếp.
Trong đó: I = interval, số ngày đến lần ôn tiếp theo; S = stability, độ bền trí nhớ hiện tại; w20 = tham số FSRS dùng để hiệu chỉnh đường quên. Người học không cần tự tính công thức này; hệ thống dùng nó để chọn ngày ôn.
Vòng đời thẻ
Dashboard: hiển thị xu hướng năng lực từng kỹ năng, một điểm thấp không kéo tụt ngay.
7. Luyện tập Listening
Listening dùng Text-to-Speech từ transcript/đề bài, không phụ thuộc file audio thu sẵn. Transcript đồng bộ theo từ đang đọc trong lúc phát.
- Chọn part (1–3), nhận danh sách bài luyện tập
- Nghe audio tạo bằng Web Speech TTS từ transcript, trả lời câu hỏi MCQ
- Transcript hiển thị đồng bộ theo tiến trình đọc TTS
- Nộp bài → xem đáp án, điểm và lịch sử
8. Luyện tập Reading
- Chọn part (1–4), nhận bài đọc và câu hỏi
- Đọc passage, chọn đáp án MCQ
- Tra từ nhanh bằng cách bôi đen văn bản
- Nộp bài → xem kết quả và điểm từng câu
9. Luyện tập Writing
- Nhận đề: Task 1 (thư/email) hoặc Task 2 (bài luận)
- Viết bài, nhận gợi ý trực tiếp (số từ, chính tả)
- Nộp bài → chấm tự động, trả điểm 4 tiêu chí và nhận xét
- Xem lịch sử bài viết và feedback từng tiêu chí
10. Luyện tập Speaking
Tận dụng API giọng nói có sẵn trong trình duyệt để tạo transcript và đọc câu mẫu. Đánh giá phát âm dùng dịch vụ chuyên biệt ở bước cần độ chính xác cao.
- Hội thoại: luyện nói theo kịch bản, hệ thống phản hồi từng lượt
- Shadowing: đọc theo câu mẫu, so sánh phát âm với bản gốc
- Ghi âm câu trả lời qua microphone, hiển thị trạng thái ghi âm/xử lý
- Nhận điểm 5 tiêu chí và phản hồi phát âm chi tiết
11. Thư viện/API cho luyện tập
Đã đối chiếu với frontend và backend: phần luyện tập có đủ các thư viện/API chính cho IPA, dịch, Web Speech, avatar hồ sơ, kiểm tra ngữ pháp và xử lý audio.
Ghi chú: các link trên là nguồn chính thức hoặc repository của package/API đang dùng.
12. AI Gateway
Tất cả lời gọi AI/LLM đi qua một gateway tập trung. Gateway đảm nhận retry khi lỗi thoáng qua, circuit breaker khi dịch vụ AI liên tục thất bại, và wire abstraction để dễ đổi provider.
13. Công nghệ sử dụng
React — giao diện
TanStack Query, Router, Form — dữ liệu, điều hướng
Tailwind CSS — thiết kế
Vite — build
Astro — tài liệu
Laravel — API backend
PHP 8.4 — xử lý nghiệp vụ
Biome — kiểm tra mã
- ky — gọi API
- Recharts — biểu đồ
- Zustand — trạng thái
14. Giới hạn
- Điểm tự động Writing/Speaking là tham khảo; kết quả xác nhận cần người chấm
- Cần thêm dữ liệu thực tế để hiệu chỉnh độ chính xác
- Speaking phụ thuộc chất lượng âm thanh đầu vào
Nguồn tham khảo: TanStack Query · ky · Recharts · TanStack Router · phonemize · Web Speech API · Translator API · DiceBear · LanguageTool