Logic ưu tiên từ vựng (Vocab V2 - Item Prioritization Logic)
Hardening Note (SoT precedence): Tài liệu này tuân theo VOCV2_Product_Spec_Hardening_v1.md (./VOCV2_Product_Spec_Hardening_v1.md). Nếu có mâu thuẫn, ưu tiên SoT hardening.
Cơ chế vận hành (../Assets/Images/co%20che%20van%20hanh.png)
1. Mục tiêu
Phần tiêu đề “1. Mục tiêu”Tài liệu này trả lời một câu hỏi duy nhất: Trong session hiện tại, item nào nên lên tiếp theo?
Tài liệu này chỉ quyết định:
- Thứ tự ưu tiên item trong queue.
- Cách vận hành micro-batch 5 item theo kiểu cuốn chiếu.
- Cách session tiếp tục khi user học nhanh, học lâu, hoặc pool chính tạm cạn.
Tài liệu này không quyết định:
- Chọn dạng bài tập nào cho item đã được bốc.
- Công thức cộng/trừ điểm chi tiết của SRS.
- UI recap hoặc analytics chi tiết.
1.1 Tóm tắt nhanh trong 30 giây
Phần tiêu đề “1.1 Tóm tắt nhanh trong 30 giây”Nếu chỉ cần hiểu logic ở mức nhanh, đọc 5 ý này:
- Mỗi item được xếp vào một
tiertheo độ khẩn cấp. - Session không bốc item theo kiểu checklist, mà chạy theo
micro-batch 5cuốn chiếu. - Mỗi micro-batch được trộn theo mức
debthiện tại: nợ nhiều thì ưu tiên review, nợ ít mới tăng từ mới. - Nếu nhiều item cùng mức ưu tiên, hệ thống dùng
tie-breakđể quyết định item nào lên trước. - Timed mode dừng khi hết giờ; untimed mode chạy tới khi user dừng, và có thể đi tiếp sang
Deep Reviewnếu pool chính tạm cạn.
1.2 Cách đọc các heading chính
Phần tiêu đề “1.2 Cách đọc các heading chính”Priority Queue: phần này giải thích item được chia nhóm ưu tiên như thế nào.Batch 5 cuốn chiếu: phần này giải thích vì sao session không chạy theo kiểu đi hết một set cố định.Cách hệ thống bốc item tiếp theo: phần này là mini algorithm của queue lúc bắt đầu và trong lúc session đang chạy.Mixing rules: phần này giải thích 5 slot trong micro-batch được chia cho review/new ra sao.Tie-break và guardrails: phần này giải thích khi nhiều item ngang nhau thì chọn item nào trước, đồng thời nêu các rule chống lặp quá sát hoặc ép quá gắt.Timed, Untimed và Deep Review: phần này giải thích session dừng khi nào, kéo dài khi nào, và đi tiếp bằng cách nào.
2. Thuật ngữ nhanh
Phần tiêu đề “2. Thuật ngữ nhanh”F_now: độ nhớ hiện tại của item ở thời điểm hệ thống bốc bài.Threshold(skill): ngưỡng an toàn theo skill.- Speaking
80 - Writing
75 - Reading
70 - Listening
70(nếu áp dụng)
- Speaking
scope: phạm vi item mà session được phép lấy ra. Thường làHomehoặc mộtSet/Listcụ thể; có thể bị thu hẹp thêm bởi overlay user-curated nhưfavorite_onlytrong scope hiện tại.due: item đang đến hạn ôn, thường là item cóF_now <= Threshold(skill)hoặcnext_review_at <= now.unseen: item chưa cóItemLearner record, tức là chưa từng học.RetryBuffer: nơi giữ item vừa sai để hỏi lại sau 1-2 item khác.Just Seen: item vừa xuất hiện ở lượt trước, cần tránh lặp quá sát.Micro-batch 5: cửa sổ kế hoạch ngắn hạn gồm 5 item. Đây là planning window, không phải checklist 5 item cố định.debt: phần item đang “nợ xử lý” trong session, chủ yếu là nhómTier 1/2/3.review slot: slot trong micro-batch được dùng cho item ôn lại, không phải item mới.tie-break: rule phụ dùng để phân thắng thua khi có nhiều item đang ngang nhau về tier.skill rotation: cố ý đổi skill giữa các lượt gần nhau để session đỡ đơn điệu.mental-model coherence: ưu tiên giữ item cùng cụm ngữ nghĩa/ngữ cảnh nếu không làm tăng rủi ro urgent.Deep Review: chế độ hệ thống dùng item củng cố hoặc ôn sớm khi user vẫn muốn học tiếp nhưng pool chính đã tạm cạn.Early Review: item chưa đến hạn hẳn nhưng đã đủ gần hạn để có thể kéo lên ôn sớm trong Deep Review.
Triggers & Thresholds (../Assets/Images/triggers%20thresholds.png)
3. Priority Queue (8 tiers)
Phần tiêu đề “3. Priority Queue (8 tiers)”Hệ thống luôn sắp item theo 8 tầng ưu tiên sau:
8 bậc ưu tiên (../Assets/Images/8%20bac%20uu%20tien.png)
| Tier | Tên | Điều kiện | Ý nghĩa vận hành |
|---|---|---|---|
#1 | Critical Urgent | failCount >= 3.0 AND F_now <= Threshold(skill) | Cần cứu ngay |
#2 | Urgent | 1.0 <= failCount < 3.0 AND F_now <= Threshold(skill) | Sai gần đây và đang dưới ngưỡng |
#3 | Normal Review | failCount < 1.0 AND F_now <= Threshold(skill) | Đến hạn ôn tự nhiên |
#4 | New Items | unseen | Từ mới |
#5 | Reinforce Low | successCount < 3.0 AND F_now >= Threshold(skill) | Đã qua ngưỡng nhưng chưa chắc |
#6 | Reinforce High | successCount >= 3.0 AND F_now >= Threshold(skill) | Khá vững |
#7 | Mastery | successCount >= 5.0 AND F_now >= Threshold(skill) + 10 | Rất vững, chỉ hiện nhỏ giọt |
#8 | Just Seen | item vừa xuất hiện ở lượt trước | Tránh lặp sát |
Lưu ý:
failCountlà số thực, nên tier dùng khoảng giá trị, không dùng so sánh=.Newluôn dựa vàounseen, không dựa vàoF=0.
4. Batch 5 cuốn chiếu thực sự là gì
Phần tiêu đề “4. Batch 5 cuốn chiếu thực sự là gì”Điểm dễ bị hiểu sai nhất là chỗ này.
Micro batching (../Assets/Images/micro%20batch.png)
Hệ thống không vận hành theo kiểu:
- chọn một set 30 từ,
- đi tuần tự 1 -> 30,
- học hết mỗi từ một lượt rồi dừng.
Hệ thống vận hành theo kiểu:
- lấy 5 item ưu tiên nhất ở thời điểm hiện tại để tạo micro-batch,
- khi user làm tới item
3/5, hệ thống âm thầm tính micro-batch kế tiếp từ trạng thái mới nhất, - nếu user sai, item có thể quay lại sớm qua
RetryBuffer, - nếu user học nhanh hoặc học lâu, queue tiếp tục cuốn chiếu chứ không khóa cứng theo batch đầu.
Hiểu ngắn gọn: Micro-batch 5 là cửa sổ nhìn trước để điều phối mượt, không phải danh sách cố định phải đi hết rồi mới tính tiếp.
5. Cách hệ thống bốc item tiếp theo
Phần tiêu đề “5. Cách hệ thống bốc item tiếp theo”5.1 Tại thời điểm bắt đầu session
Phần tiêu đề “5.1 Tại thời điểm bắt đầu session”- Xác định
scopecủa session (Home hoặc Set/List), và nếu có thì áp thêm overlay user-curated nhưfavorite_only. - Tính
F_nowhoặc dùngnext_review_atđể xác định item nào đangdue. - Đưa item vào 8
tier. - Xác định trạng thái trộn bài hiện tại (
Hard Debt,Soft Emergency,Stable). - Sinh micro-batch đầu tiên gồm 5 item ưu tiên nhất.
- Preload:
- Web: 10 item (2 micro-batch)
- Mobile: 5 item (1 micro-batch)
5.2 Trong lúc session đang chạy
Phần tiêu đề “5.2 Trong lúc session đang chạy”- Lấy item tiếp theo từ
RetryBuffernếu có item đang nợ hỏi lại. - Nếu không có
RetryBuffer, lấy item từ queue theo tier. - User trả lời xong thì cập nhật trạng thái item.
- Nếu sai:
- item vào
RetryBuffer, - sẽ quay lại sau 1-2 item khác,
- khi quay lại,
Tier 1/2phải đi quaLearning Card -> Active Exercise.
- item vào
- Khi user làm tới item
3/5, hệ thống tính micro-batch kế tiếp từ trạng thái mới nhất, không dùng lại batch cũ nguyên xi.
6. Mixing rules (single truth)
Phần tiêu đề “6. Mixing rules (single truth)”Mỗi micro-batch 5 item dùng đúng 1 rule trộn bài, dựa trên debt hiện tại.
Batch composition (../Assets/Images/batch%20composition.png)
6.1 Debt definitions
Phần tiêu đề “6.1 Debt definitions”debt_total = số item thuộc Tier 1/2/3debt_critical = số item Tier 1
6.2 Ba trạng thái trộn bài
Phần tiêu đề “6.2 Ba trạng thái trộn bài”| State | Điều kiện | Cách trộn |
|---|---|---|
| Hard Debt | debt_total >= 20 | 100% review, không cấp từ mới |
| Soft Emergency | Không ở Hard Debt, nhưng Tier 1 dự kiến chiếm >50% batch | 4 review + 1 new |
| Stable | Không thuộc 2 state trên | Target 30% new / 70% review |
Vì micro-batch cố định 5 nên 30/70 được biểu diễn bằng mix cycle 10 item:
- Batch lẻ:
3 review + 2 new - Batch chẵn:
4 review + 1 new
6.3 Cách lấp review slots
Phần tiêu đề “6.3 Cách lấp review slots”Khi cần lấp review slot, fill theo thứ tự:
Tier 1 -> Tier 2 -> Tier 3 -> Tier 5
Trong cùng tier:
F_nowthấp hơn đi trước.- Có thể áp dụng
skill rotationhoặcmental-model coherencenếu không làm tăng rủi ro urgent.
7. Tie-break và guardrails
Phần tiêu đề “7. Tie-break và guardrails”Phần này chỉ dùng sau khi hệ thống đã xác định được nhóm item ưu tiên. Nó trả lời câu hỏi: Nếu nhiều item đều “đủ điều kiện” để lên tiếp theo, thì item nào nên được chọn trước, và cần chặn kiểu lặp nào để trải nghiệm không bị khó chịu?
Flow transition (../Assets/Images/flow%20transition.png)
7.1 Just Seen
Phần tiêu đề “7.1 Just Seen”- Item vừa xuất hiện không nên lên lại ngay.
- Ngoại lệ:
- item nằm trong
RetryBuffer, - hoặc item đang ở
Tier 1cần cứu gấp.
- item nằm trong
7.2 Mercy Rule
Phần tiêu đề “7.2 Mercy Rule”Nếu cùng một item tiếp tục fail quá nhiều trong session:
- sau
3lần fail liên tiếp trong trạng thái urgent/critical, - hệ thống không ép ngay nữa,
- item được đẩy xuống cuối queue ngắn hạn,
- nếu đang nối sang batch mới thì ưu tiên chèn vào vị trí thứ 2 của batch kế tiếp để tránh gặp lại ngay ở đầu batch.
Mục tiêu: tránh vòng lặp sai -> gặp lại ngay -> sai tiếp.
Kiểm soát rủi ro (../Assets/Images/kiem%20soat%20rui%20ro.png)
8. Timed, Untimed và Deep Review
Phần tiêu đề “8. Timed, Untimed và Deep Review”8.1 Timed mode
Phần tiêu đề “8.1 Timed mode”- Khi timer về
0, hệ thống cho user làm nốt item đang mở. - Không nạp micro-batch mới sau thời điểm đó.
8.2 Untimed mode
Phần tiêu đề “8.2 Untimed mode”- Session tiếp tục chạy theo queue cuốn chiếu cho đến khi user chủ động dừng.
- Untimed không có nghĩa là “đi hết set 30 từ một lượt rồi xong”.
8.3 Khi pool chính tạm cạn
Phần tiêu đề “8.3 Khi pool chính tạm cạn”Nếu user vẫn muốn học tiếp nhưng pool review/new chính đã tạm cạn, hệ thống chuyển sang Deep Review:
Reinforce HightrướcEarly Reviewtiếp theoMastery maintenancesau cùng, với tần suất thấp
Điểm cần hiểu đúng:
- Đây vẫn là phần tiếp theo của cùng queue cuốn chiếu.
- Không phải user vừa “hoàn thành hết set” theo kiểu checklist.
9. Ranh giới với các tài liệu khác
Phần tiêu đề “9. Ranh giới với các tài liệu khác”- Chọn item nào lên tiếp theo: file này.
- Chọn dạng câu hỏi nào cho item đã bốc:
VOCV2_LEARN_Question_Rules.md. - Catalog bài tập nào tồn tại:
VOCV2_Exercise_Types.md. - Công thức cập nhật
F/D/successCount/failCount:VOCV2_Data_Model.md. - Session lifecycle tổng thể:
../UX Flows/VOCV2_Session_Flow.md.
10. Checklist đọc nhanh
Phần tiêu đề “10. Checklist đọc nhanh”Nếu cần kiểm tra một câu mô tả có đúng hay không, dùng 4 câu sau:
- Hệ thống chọn item theo priority queue 8 tiers.
- Hệ thống vận hành theo micro-batch 5 cuốn chiếu.
Micro-batch 5là planning window, không phải checklist cố định.- Untimed mode chạy cho tới khi user dừng; nếu pool chính cạn thì có thể vào Deep Review.
Priority summary checklist (../Assets/Images/priority%20summary%20checklist.png)