Bỏ qua để đến nội dung

Logic ưu tiên từ vựng (Vocab V2 - Item Prioritization Logic)

DomainsDOL EnglishUX1.979 words10 min read
active

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)

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.

Nếu chỉ cần hiểu logic ở mức nhanh, đọc 5 ý này:

  1. Mỗi item được xếp vào một tier theo độ khẩn cấp.
  2. Session không bốc item theo kiểu checklist, mà chạy theo micro-batch 5 cuốn chiếu.
  3. Mỗi micro-batch được trộn theo mức debt hiện tại: nợ nhiều thì ưu tiên review, nợ ít mới tăng từ mới.
  4. 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.
  5. 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 Review nếu pool chính tạm cạn.
  • 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.
  • 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)
  • scope: phạm vi item mà session được phép lấy ra. Thường là Home hoặc một Set/List cụ thể; có thể bị thu hẹp thêm bởi overlay user-curated như favorite_only trong scope hiện tại.
  • due: item đang đến hạn ôn, thường là item có F_now <= Threshold(skill) hoặc next_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óm Tier 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)

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)

TierTênĐiều kiệnÝ nghĩa vận hành
#1Critical UrgentfailCount >= 3.0 AND F_now <= Threshold(skill)Cần cứu ngay
#2Urgent1.0 <= failCount < 3.0 AND F_now <= Threshold(skill)Sai gần đây và đang dưới ngưỡng
#3Normal ReviewfailCount < 1.0 AND F_now <= Threshold(skill)Đến hạn ôn tự nhiên
#4New ItemsunseenTừ mới
#5Reinforce LowsuccessCount < 3.0 AND F_now >= Threshold(skill)Đã qua ngưỡng nhưng chưa chắc
#6Reinforce HighsuccessCount >= 3.0 AND F_now >= Threshold(skill)Khá vững
#7MasterysuccessCount >= 5.0 AND F_now >= Threshold(skill) + 10Rất vững, chỉ hiện nhỏ giọt
#8Just Seenitem vừa xuất hiện ở lượt trướcTránh lặp sát

Lưu ý:

  • failCount là số thực, nên tier dùng khoảng giá trị, không dùng so sánh =.
  • New luôn dựa vào unseen, không dựa vào F=0.

Đ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.

  1. Xác định scope của session (Home hoặc Set/List), và nếu có thì áp thêm overlay user-curated như favorite_only.
  2. Tính F_now hoặc dùng next_review_at để xác định item nào đang due.
  3. Đưa item vào 8 tier.
  4. Xác định trạng thái trộn bài hiện tại (Hard Debt, Soft Emergency, Stable).
  5. Sinh micro-batch đầu tiên gồm 5 item ưu tiên nhất.
  6. Preload:
    • Web: 10 item (2 micro-batch)
    • Mobile: 5 item (1 micro-batch)
  1. Lấy item tiếp theo từ RetryBuffer nếu có item đang nợ hỏi lại.
  2. Nếu không có RetryBuffer, lấy item từ queue theo tier.
  3. User trả lời xong thì cập nhật trạng thái item.
  4. Nếu sai:
    • item vào RetryBuffer,
    • sẽ quay lại sau 1-2 item khác,
    • khi quay lại, Tier 1/2 phải đi qua Learning Card -> Active Exercise.
  5. 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.

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)

  • debt_total = số item thuộc Tier 1/2/3
  • debt_critical = số item Tier 1
StateĐiều kiệnCách trộn
Hard Debtdebt_total >= 20100% review, không cấp từ mới
Soft EmergencyKhông ở Hard Debt, nhưng Tier 1 dự kiến chiếm >50% batch4 review + 1 new
StableKhông thuộc 2 state trênTarget 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

Khi cần lấp review slot, fill theo thứ tự: Tier 1 -> Tier 2 -> Tier 3 -> Tier 5

Trong cùng tier:

  1. F_now thấp hơn đi trước.
  2. Có thể áp dụng skill rotation hoặc mental-model coherence nếu không làm tăng rủi ro urgent.

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)

  • 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 1 cần cứu gấp.

Nếu cùng một item tiếp tục fail quá nhiều trong session:

  • sau 3 lầ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)

  • 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 đó.
  • 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”.

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:

  1. Reinforce High trước
  2. Early Review tiếp theo
  3. Mastery maintenance sau 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.

Nếu cần kiểm tra một câu mô tả có đúng hay không, dùng 4 câu sau:

  1. Hệ thống chọn item theo priority queue 8 tiers.
  2. Hệ thống vận hành theo micro-batch 5 cuốn chiếu.
  3. Micro-batch 5planning window, không phải checklist cố định.
  4. 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)