-
Notifications
You must be signed in to change notification settings - Fork 79
Description
Problem: pyBKT is Batch-Oriented and Lacks Incremental Update Support
The current pyBKT architecture is fundamentally optimized for batch processing (Expectation-Maximization) using full, historical sequences of observation data. This design pattern severely limits the library's utility in real-time adaptive systems, live analytics, and any environment where model states must be updated sequentially based on streaming data.
Limitation: No Simple API for Updating State per Observation
The requirement to provide a full dataset for training and inference makes it inefficient or impractical for event-driven applications. Specifically, pyBKT does not offer a native mechanism to efficiently update an entity's latent state (e.g., knowledge, proficiency) after a single new observation. This forces developers to manually re-implement core BKT logic to handle incremental updates, reducing the core benefit of leveraging pyBKT's robust parameter fitting.
Why Incremental BKT Matters
The Bayesian Knowledge Tracing (BKT) algorithm is applicable across sequential tracking domains, including user modeling, performance tracking, and adaptive decision engines (beyond educational systems). Supporting an incremental or online BKT mode would transform pyBKT into a more general-purpose, scalable solution for any sequential Bayesian tracking task.
Proposed API Addition
I propose introducing a simple API method that updates an entity’s belief state using one new binary observation, effectively applying the BKT update equations using the pre-fitted model parameters (P(G), P(S), P(T)).
Example of Desired Functionality:
new_state = model.update_single_step(
skill="Process_A_Mastery",
prior_state_prob=0.65,
observation_success=True
)Expected Outcome: This feature would enable robust, real-time belief tracking and significantly enhance pyBKT's compatibility with modern data streams and adaptive production environments.
I would like to work on this feature under the tag of Hacktoberfest