EdTech · Spaced repetition · Knowledge tracing · LLM

Khi go biến thành
goed: một thuật toán
thú vị.

một học sinh, 8 tuổi, hôm qua nộp bài tập với ba câu: “Yesterday I goed to school, eated lunch, and seed my friend.” Cô giáo khoanh đỏ cả ba, hệ thống flashcard ghi nhận sai go, sai eat, sai see rồi lên lịch ôn lại sớm hơn, trong khi thứ thật sự cần ghi nhận không phải là ba từ sai mà là một luật đang bị áp nhầm.

cuộn xuống
go → went · không phải go → goed
Phần I · Cái mà flashcard bỏ lỡ

Mỗi từ là một viên gạch riêng, và đó là vấn đề.

Anki là ứng dụng flashcard phổ biến nhất hiện nay, dùng thuật toán SM-2 để quyết định hôm nay ôn từ nào dựa trên đúng hai thứ: trả lời đúng hay sai và lần trước ôn cách đây bao lâu, nên khi nhìn vào bài của một học sinh, nó chỉ thấy ba viên gạch bị vỡ là go, eat, see rồi kéo lịch ôn của cả ba lên sớm hơn, độc lập với nhau, như thể ba cái sai không liên quan gì đến nhau.

Tuần sau một học sinh gặp từ run, chưa bao giờ sai run nên Anki không làm gì, dù một học sinh gần như chắc chắn sẽ viết runned.

Vấn đề không phải một học sinh quên từ went, sang hay ran, mà là một học sinh đang áp một luật sai lên cả một nhóm từ, và luật đó không nằm trong bất kỳ viên gạch đơn lẻ nào.
Phần II · Lỗi goed là gì

Overregularization: lỗi này có tên, và nó lan theo nhóm.

Overregularization là hiện tượng người học vừa nắm được một luật ngữ pháp rồi áp nó vào mọi thứ kể cả những trường hợp luật đó không áp được, nên khi một học sinh học được luật thêm -ed vào quá khứ, em bắt đầu dùng nó cho cả những động từ không theo luật đó, tạo ra goed, eated, seed.

Marcus et al., 1992 · nghiên cứu kinh điển về overregularization

Nghiên cứu ghi nhận trẻ thường nói đúng “went” lúc 2 tuổi rồi đến 3 tuổi bắt đầu nói “goed” sau khi học được luật -ed, tạo ra một đường phát triển hình chữ U là đúng rồi sai rồi đúng lại, khiến nhiều bố mẹ tưởng con đang thụt lùi trong khi thật ra con đang ở đáy chữ U, tức là đang tiến bộ.

5–10% sản phẩm chia quá khứ dạng phát triển: hình chữ U

một học sinh đang ở đáy chữ U đó, có nghĩa là nếu một học sinh viết goed thì khả năng cao cùng giai đoạn này một học sinh cũng sẽ viết seed thay vì saw hay runned thay vì ran, kể cả với những từ em chưa từng sai bao giờ, vì lỗi này có tính hệ thống chứ không phải ngẫu nhiên.

Marcus, G.F. et al. (1992) — Overregularization in Language Acquisition, Monographs of the Society for Research in Child Development · Academia.edu — Second Language Acquisition: Investigating Learners' Error in Mastering Regular and Irregular Verbs
Phần III · Chia động từ theo cách chúng sai

Không chia theo nghĩa, không chia theo âm mà chia theo kiểu luật bị áp nhầm.

Động từ bất quy tắc tiếng Anh trông như một mớ hỗn loạn nhưng thật ra đã được các nhà ngôn ngữ học phân loại theo kiểu biến đổi từ lâu, tạo ra bốn cụm (cluster) phổ biến nhất với học sinh tiểu học, trong đó mỗi cụm tương ứng với một kiểu lỗi overregularization khác nhau của một học sinh.

cụm ví dụ lỗi của một học sinh
suppletivego-went, be-was, have-hadgoed, beed, haved
vowel-changesing-sang, give-gave, run-ransinged, gived, runned
-t / -d endingsleep-slept, feel-felt, sell-soldsleeped, feeled, selled
no-changeput-put, cut-cut, hit-hitputted, cutted, hitted

Cụm no-change là thứ một học sinh đặc biệt ghét vì nó trông như bẫy: một học sinh biết có luật -ed, một học sinh biết có nhóm bất quy tắc, nhưng nhóm này không bất quy tắc theo bất kỳ kiểu nào có thể nhận ra được vì nó chỉ giữ nguyên không đổi, không có lý do, học thuộc thôi.

Mỗi học sinh, ngoài điểm thành thạo cho từng từ, còn có một điểm thành thạo cho từng cụm, gọi là điểm hiểu-luật, không đo một học sinh có nhớ từ go hay không mà đo một học sinh có hiểu đúng rằng cụm suppletive không theo luật -ed hay không.

Phần IV · Công thức 1 · xác suất nhớ

Trí nhớ không biến mất theo đường thẳng, nó suy giảm theo đường cong.

Câu hỏi đầu tiên thuật toán cần trả lời là nếu một học sinh ôn từ go cách đây t ngày thì hôm nay khả năng một học sinh còn nhớ là bao nhiêu, câu hỏi này được trả lời bằng forgetting curve của Ebbinghaus viết lại dưới dạng half-life, cũng là công thức Duolingo dùng trong mô hình Half-Life Regression (Settles & Meeder, 2016).

p(v, t) = 2 −t / Sv
xác suất nhớ từ v sau t ngày · S_v là half-life tính theo ngày

S_v là half-life, tức số ngày để xác suất nhớ giảm còn 50 phần trăm, nên với một học sinh, S_go = 4 ngày có nghĩa là sau 4 ngày không ôn, một học sinh chỉ còn nhớ went với xác suất 50-50, ngang bằng tung đồng xu.

một học sinh ôn từ go · S_go = 4 ngày
1 ngày sau, một học sinh vẫn nhớ tốtp = 2⁻¹ᐟ⁴ ≈ 0.84
4 ngày sau, đúng half-life, tung đồng xup = 2⁻¹ = 0.50
8 ngày sau, một học sinh gần như chắc saip = 2⁻² = 0.25
Ebbinghaus, H. (1885) — Über das Gedächtnis · Settles, B. & Meeder, B. (2016) — A Trainable Spaced Repetition Model for Language Learning, ACL 2016 (Duolingo HLR)
Phần V · Công thức 2 · cập nhật half-life

Cùng một câu trả lời sai, half-life giảm khác nhau tùy cụm đang khỏe hay yếu.

Sau mỗi lần ôn, half-life S_v được cập nhật theo hai trường hợp: nếu đúng thì S_v tăng gấp đôi (hệ số α = 2, mặc định của Duolingo HLR, được giữ nguyên ở đây), nếu sai thì S_v giảm một nửa (α = 0.5, đối xứng), với một hệ số điều chỉnh phụ lấy từ điểm cụm.

Svnew = Svold · αr · β(Mc(v))
r = 1 nếu đúng (α = 2) · r = 0 nếu sai (α = 0.5) · β(M_c) = 0.7 + 0.3·M_c

β(M_c) là hệ số nằm trong khoảng 0.7 đến 1, trong đó sàn 0.7 có nghĩa là ngay cả khi cụm hoàn toàn không được hiểu (M_c = 0) thì half-life cũng chỉ bị giảm thêm tối đa 30 phần trăm so với mức phạt thông thường, tránh trường hợp một từ bị đẩy ôn quá dày chỉ vì cụm yếu trong khi bản thân từ đó một học sinh đang nhớ tốt.

một học sinh viết goed thay vì went · S_go cũ = 4
cụm suppletive đang khỏe, M_c = 0.9S_go = 4 · 0.5 · 0.97 ≈ 1.94
cụm suppletive đang yếu, M_c = 0.2S_go = 4 · 0.5 · 0.76 ≈ 1.52

Cùng là một học sinh viết goed, nếu đây là lần đầu cụm suppletive có vấn đề thì half-life chỉ giảm về 1.94 ngày, còn nếu hệ thống đã thấy nhiều dấu hiệu cụm này đang bị nhầm thì half-life giảm sâu hơn về 1.52 ngày, đẩy từ go lên ôn sớm hơn nữa.

Phần VI · Công thức 3 · cập nhật điểm cụm

Đây là phần lõi: hai loại sai, hai mức phạt rất khác nhau.

Mỗi câu trả lời của một học sinh được phân vào một trong ba loại: đúng hoàn toàn, sai do overregularization tức gắn -ed vào động từ bất quy tắc, hoặc sai do quên hẳn tức bỏ trống hoặc trả lời không liên quan, với mỗi loại tác động đến điểm cụm M_c theo mức độ rất khác nhau.

Mcnew = Mcold + η · δ(a, v)
η = 0.1 · δ = +1 nếu đúng · −2 nếu overregularization · −0.3 nếu quên hẳn

Overregularization bị phạt nặng hơn quên hẳn gần bảy lần vì khi một học sinh quên thì chỉ mất một từ, còn khi một học sinh đang áp luật -ed vào mọi thứ thì went, sang, slept, put đều có nguy cơ bị goed hóa kể cả những từ một học sinh chưa từng sai bao giờ, tức là quên thì thiệt hại cô lập còn nhầm luật thì thiệt hại có hệ thống.

M_suppletive cũ = 0.5 · một học sinh đang ôn từ go
một học sinh trả lời đúng: wentM = 0.5 + 0.1·(+1) = 0.60
một học sinh viết goed (overregularization)M = 0.5 + 0.1·(−2) = 0.30
một học sinh bỏ trống (quên hẳn)M = 0.5 + 0.1·(−0.3) = 0.47
Cùng là một câu trả lời sai, goed làm điểm cụm giảm 0.20 còn bỏ trống chỉ giảm 0.03, trong đó −2 và −0.3 là điểm khởi đầu hợp lý neo vào nguyên tắc “thiệt hại có hệ thống cần penalty có hệ thống” chứ không phải sự thật được đo đạc chính xác, cần dữ liệu thật từ học sinh để hiệu chỉnh.
Phần VII · Công thức 4 và 5 · lịch ôn và độ ưu tiên

Cụm chỉ là tín hiệu phụ, không lấn át tín hiệu sắp quên.

Từ half-life S_v, hệ thống tính ngày ôn tiếp theo t* sao cho đến lúc đó xác suất nhớ vừa chạm ngưỡng 0.8, đây là ngưỡng cả Duolingo lẫn Lingvist đều nhắm tới trong các paper của họ.

t* = −Sv · log₂(ptarget) ≈ 0.32 · Sv
với p_target = 0.8 · nguồn: Duolingo HLR, Lingvist 2016

Trong một buổi học một học sinh thường có nhiều từ cùng đến hạn nên cần xếp thứ tự, đây là chỗ cụm quay lại dưới dạng một số hạng cộng thêm chứ không phải nhân, để nó chỉ điều chỉnh nhẹ thứ tự thay vì đảo ngược hoàn toàn.

Priority(v) = (1 − p(v, tnow)) + λ · (1 − Mc(v))
λ = 0.4
Hai từ trong hàng đợi của một học sinh hôm nay
go: p = 0.6, cụm suppletive yếu M_c = 0.30.4 + 0.4·0.7 = 0.68
sing: p = 0.25, cụm vowel-change khỏe M_c = 0.850.75 + 0.4·0.15 = 0.81

Sing được ôn trước dù cụm của go đang yếu hơn nhiều, vì một học sinh vẫn nhớ go khá tốt ngay lúc này (p = 0.6) trong khi sing thì xác suất quên đã rất cao (p = 0.25), tức là cụm yếu của go chỉ đẩy độ ưu tiên lên thêm 0.28, không đủ để vượt qua cái 0.50 chênh lệch từ xác suất nhớ, tín hiệu sắp quên vẫn là tín hiệu chính.

Phần VIII · Những nghiên cứu trước

Có nhiều nghiên theo hướng gần, nhánh này tác giả trực tiếp đứng lớp nên nhận ra một vài hành vi của khối tiểu học khi học động từ bất quy tắc..

LECTOR, 2025 · LLM-enhanced concept-based repetition

LECTOR đạt tỷ lệ thành công 90.2 phần trăm, vượt baseline SSP-MMC ở mức 88.4 phần trăm, bằng cách lên lịch dựa trên nhận thức ngữ nghĩa thay vì từng từ độc lập, trong khi một nghiên cứu khác năm 2025 cho thấy thêm đặc điểm hình thái học vào mô hình dự đoán cũng cải thiện hiệu năng so với mô hình chỉ dùng đặc điểm thời gian.

LECTOR 90.2% SSP-MMC 88.4%

Tất cả các hướng trên đều dùng deep learning hoặc reinforcement learning, cần lượng dữ liệu lớn để huấn luyện, chưa có hướng nào tập trung riêng vào pattern lỗi hình thái của động từ bất quy tắc theo cách rule-based và diễn giải được.

Chỗ đứng còn trống là một biến thể nhẹ, diễn giải được, chạy ngay với vài chục học sinh như một học sinh, không cần huấn luyện mô hình, dựa trên phân loại ngôn ngữ học có sẵn.
Settles & Meeder (2016) - A Trainable Spaced Repetition Model for Language Learning, ACL · LECTOR: LLM-Enhanced Concept-based Test-Oriented Repetition for Adaptive Spaced Repetition, arXiv 2025 · Personalized Language Learning Using Spaced Repetition Scheduling, Springer 2025
Phần IX · LLM và phần demo

Khi cụm yếu, LLM không lặp lại flashcard, nó tạo bài tập theo nhóm.

Khi M_suppletive của một học sinh rơi xuống dưới 0.4, hệ thống không chỉ đẩy từng từ lên ôn sớm hơn mà còn gọi LLM tạo một đoạn văn ngắn dùng nhiều từ trong cụm đó cùng một lúc, với prompt trông như thế này: “Tạo một đoạn văn 2 đến 3 câu dành cho học sinh lớp 3, dùng quá khứ đơn của go, see, have trong ngữ cảnh tự nhiên, không dùng động từ quy tắc trong cùng đoạn.”

Output được kiểm tra tự động để đảm bảo đủ ba từ xuất hiện đúng dạng trước khi gửi cho một học sinh, lúc đó một học sinh không lật ba flashcard riêng lẻ lúc 10 giờ đêm mà đọc một đoạn văn ngắn và điền vào chỗ trống, ba động từ suppletive trong cùng một ngữ cảnh, đúng cái luật đang bị nhầm, đúng cái cụm đang có vấn đề.

Mở demo: bộ ôn tập động từ bất quy tắc theo cụm Xem demo →
Kết · Tellstory

Các hằng số ở đây là điểm khởi đầu, không phải sự thật cuối cùng.

Alpha, eta, lambda, cặp số 0.7/0.3 trong beta đều là giá trị hợp lý dựa trên literature nhưng cần được hiệu chỉnh bằng dữ liệu thật. Câu hỏi mở là liệu phân cụm theo lỗi hình thái có phản ánh đúng cách học sinh Việt Nam nhầm lẫn tiếng Anh hay các em có pattern khác với trẻ nói tiếng Anh như tiếng mẹ đẻ, vì một học sinh chỉ là một trường hợp và cần thêm vài chục trường hợp khác để biết.