What is BNT-SM?

Bayes Net Toolbox for Student Modeling (BNT-SM) is an effort to facilitate the use of dynamic Bayes nets in the student modeling community. Dynamic Bayes Nets (DBNs) provide a powerful way to represent and reason about uncertainty in time series data, and are therefore well-suited to model a student's changing knowledge state during skill acquisition. Many general-purpose Bayes net packages have been implemented and distributed; however, constructing DBNs often involves complicated coding effort. To address this issue, we extend the popular Bayes Net Toolbox (Murphy, 1998) and tailor BNT-SM for the student modeling community.

BNT-SM as a black box

BNT-SM inputs a data set and a compact XML specification of a Bayes net model hypothesized by a researcher to describe causal relationships among student knowledge and observed behavior. BNT-SM generates and executes the code to train and test the model using the Bayes Net Toolbox. BNT-SM allows researchers to easily explore different hypothesis with respect to the knowledge representation in a student model. For example, by varying the graphical structure of a Bayesian network, we examined how tutoring intervention can affect students' knowledge state - whether the intervention is likely to scaffold or to help students to learn.

How to download and use BNT-SM?

BNT-SM is implemented in Matlab, so you need to have Matlab installed and running. Commercial and student license of Matlab can be purchased from Mathworks. By the way, for those of you who are not familiar with Matlab, Mark S. Gockenbach has an excellent, introductory tutorial to Matlab.

Before we download BNT-SM, we like to thank Kevin Murphy for his kindness in distributing Bayes Net Toolkit (BNT), which BNT-SM based and heavily depended on. For those of you who are proficient in coding and would like to go to the low level BNT code, BNT can be downloaded from Source Forge. Kevin Murphy also has a nice tutorial to BNT and Bayes nets in general.

BNT-SM can be downloaded from here.

Now, with BNT-SM downloaded and extracted, launch Matlab and do

>> cd src
>> setup
>> cd ../model/kt
>> [property evidence hash_bnet] = RunBnet('property.xml');

The RunBnet function first constructs the Bayes net specified in the property_xml file and trains the Bays nets using the training data set specified in the property_xml file. Then, it will extract model parameters and output to the param_table specified in property_xml. Finally, the RunBnet function will perform inference on hidden nodes and output to the inference_result specified in property_xml.

Examples of using BNT-SM

A Walk-through Example of modeling Knowledge Tracing with BNT-SM.

An Example of tracing multiple subskills with BNT-SM.

Which to cite?

Chang, K., Beck, J., Mostow, J., & Corbett, A. (2006, June 26-30). A Bayes Net Toolkit for Student Modeling in Intelligent Tutoring Systems. Proceedings of the 8th International Conference on Intelligent Tutoring Systems, Jhongli, Taiwan, 104-113. Click here for .pdf file.

If you are running LR-DBN with BTN-SM, please cite:

Xu, Y., & Mostow, J. (2011, July 6-8). Using Logistic Regression to Trace Multiple Subskills in a Dynamic Bayes Net. In M. Pechenizkiy, T. Calders, C. Conati, S. Ventura, C. Romero, & J. Stamper (Eds.), Proceedings of the 4th International Conference on Educational Data Mining (pp. 241-245). Eindhoven, Netherlands. Click here for .pdf file.