GithubHelp home page GithubHelp logo

dcd's Introduction

[NeurIPS 2023] Disentangling Cognitive Diagnosis with Limited Exercise Labels

Official implementation of "Disentangling Cognitive Diagnosis with Limited Exercise Labels", NeurIPS 2023.

In this paper, we propose the Disentanglement based Cognitive Diagnosis (DCD) model to address the challenge of limited exercise labels in cognitive diagnosis. Specifically, we utilize students’ response records to model student proficiency, exercise difficulty and exercise label distribution. Then, we introduce two novel modules - group-based disentanglement and limited-labeled alignment modules - to disentangle the factors relevant to concepts and align them with real limited labels. Particularly, we introduce the tree-like structure of concepts with negligible cost for group-based disentangling, as concepts of different levels exhibit different independence relationships. Extensive experiments on widely used benchmarks demonstrate the superiority of our proposed model.

Install

The current implementation is based on EduStudio library that is a Unified and Templatized Framework for Student Assessment Models including Cognitive Diagnosis(CD) and Knowledge Tracing(KT).

  1. Install pytorch==1.12.1 according to pytorch official site

  2. Install EduStudio=1.0.0 according to edustudio github project

Run

  1. run DCD

    python src/run.py  --cfg_file_name 20%_wo_fill.yaml
    python src/run.py  --cfg_file_name 10%_wo_fill.yaml
    python src/run.py  --cfg_file_name 100%_wo_fill.yaml --modeltpl_cfg.lambda_q 15.0 --modeltpl_cfg.g_beta_user 0.5 --modeltpl_cfg.g_beta_item 0.5 
    
  2. run interpretable baselines, such as KaNCD

    python src/run_interpretable_baselines.py --modeltpl_cfg.cls KaNCD --cfg_file_name 10%_with_fill.yaml
    python src/run_interpretable_baselines.py --modeltpl_cfg.cls KaNCD --cfg_file_name 20%_with_fill.yaml
    python src/run_interpretable_baselines.py --modeltpl_cfg.cls KaNCD --cfg_file_name 100%_with_fill.yaml
    
  3. run non-interpretable baselines, such as IRT

    python src/run_non_interpretable_baselines.py --modeltpl_cfg.cls IRT --cfg_file_name 10%_wo_fill.yaml
    python src/run_non_interpretable_baselines.py --modeltpl_cfg.cls IRT --cfg_file_name 20%_wo_fill.yaml
    python src/run_non_interpretable_baselines.py --modeltpl_cfg.cls IRT --cfg_file_name 100%_wo_fill.yaml
    

Citation

If you find this work useful in your research, please kindly cite our paper:

@inproceedings{chen2023disentangling,
 author = {Chen, Xiangzhi and Wu, Le and Liu, Fei and Chen, Lei and Zhang, Kun and Hong, Richang and Wang, Meng},
 booktitle = {Advances in Neural Information Processing Systems},
 editor = {A. Oh and T. Neumann and A. Globerson and K. Saenko and M. Hardt and S. Levine},
 pages = {18028--18045},
 publisher = {Curran Associates, Inc.},
 title = {Disentangling Cognitive Diagnosis with Limited Exercise Labels},
 url = {https://proceedings.neurips.cc/paper_files/paper/2023/file/3a14ae9951e8153a8fc814b5f506b5b7-Paper-Conference.pdf},
 volume = {36},
 year = {2023}
}

dcd's People

Contributors

kervias avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.