{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/improving-interpretability-of-deep-sequential","title":"Improving Interpretability of Deep Sequential Knowledge Tracing Models with Question-centric Cognitive Representations","arxiv_id":"2302.06885","date":"2023-02-14","proceeding":null,"authors":["Jiahao Chen","Zitao Liu","Shuyan Huang","Qiongqiong Liu","Weiqi Luo"],"abstract":"Knowledge tracing (KT) is a crucial technique to predict students' future performance by observing their historical learning processes. Due to the powerful representation ability of deep neural networks, remarkable progress has been made by using deep learning techniques to solve the KT problem. The majority of existing approaches rely on the \\emph{homogeneous question} assumption that questions have equivalent contributions if they share the same set of knowledge components. Unfortunately, this assumption is inaccurate in real-world educational scenarios. Furthermore, it is very challenging to interpret the prediction results from the existing deep learning based KT models. Therefore, in this paper, we present QIKT, a question-centric interpretable KT model to address the above challenges. The proposed QIKT approach explicitly models students' knowledge state variations at a fine-grained level with question-sensitive cognitive representations that are jointly learned from a question-centric knowledge acquisition module and a question-centric problem solving module. Meanwhile, the QIKT utilizes an item response theory based prediction layer to generate interpretable prediction results. The proposed QIKT model is evaluated on three public real-world educational datasets. The results demonstrate that our approach is superior on the KT prediction task, and it outperforms a wide range of deep learning based KT models in terms of prediction accuracy with better model interpretability. To encourage reproducible results, we have provided all the datasets and code at \\url{https://pykt.org/}.","url_abs":"https://arxiv.org/abs/2302.06885v3","url_pdf":"https://arxiv.org/pdf/2302.06885v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"improving-interpretability-of-deep-sequential","repo_url":"https://github.com/ZhijieXiong/pyedmine","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"improving-interpretability-of-deep-sequential","repo_url":"https://github.com/pykt-team/pykt-toolkit","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":"knowledge-tracing","task_name":"Knowledge Tracing"},{"task_slug":"prediction","task_name":"Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2302.06885","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2302.06885"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pykt-team/pykt-toolkit","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ZhijieXiong/pyedmine","reach":null}],"summary":{"ran":6,"ran_fixture":1,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"listed":{"samples":11,"ran":8,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"391fc1018439e361","entry":"MLP","repo":"pykt-team/pykt-toolkit","repo_kind":"listed","path":"pykt/models/qikt.py","file_url":"https://github.com/pykt-team/pykt-toolkit/blob/HEAD/pykt/models/qikt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"391fc1018439e361"}},{"code_sha256_prefix":"7e570661ec2055e1","entry":"MLP","repo":"ZhijieXiong/pyedmine","repo_kind":"listed","path":"edmine/model/sequential_kt_model/QIKT.py","file_url":"https://github.com/ZhijieXiong/pyedmine/blob/HEAD/edmine/model/sequential_kt_model/QIKT.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7e570661ec2055e1"}},{"code_sha256_prefix":"30289d7d9c2392f4","entry":"QIKT","repo":"pykt-team/pykt-toolkit","repo_kind":"listed","path":"pykt/models/qikt.py","file_url":"https://github.com/pykt-team/pykt-toolkit/blob/HEAD/pykt/models/qikt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"30289d7d9c2392f4"}},{"code_sha256_prefix":"438cbf17f4ebb444","entry":"QueBaseModel","repo":"pykt-team/pykt-toolkit","repo_kind":"listed","path":"pykt/models/qikt.py","file_url":"https://github.com/pykt-team/pykt-toolkit/blob/HEAD/pykt/models/qikt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"438cbf17f4ebb444"}},{"code_sha256_prefix":"e0192bd887c533f8","entry":"QueEmb","repo":"pykt-team/pykt-toolkit","repo_kind":"listed","path":"pykt/models/qikt.py","file_url":"https://github.com/pykt-team/pykt-toolkit/blob/HEAD/pykt/models/qikt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e0192bd887c533f8"}},{"code_sha256_prefix":"84856773d55a9836","entry":"get_now_time","repo":"pykt-team/pykt-toolkit","repo_kind":"listed","path":"pykt/models/qikt.py","file_url":"https://github.com/pykt-team/pykt-toolkit/blob/HEAD/pykt/models/qikt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"84856773d55a9836"}},{"code_sha256_prefix":"d64e5058e11fc74e","entry":"get_outputs","repo":"pykt-team/pykt-toolkit","repo_kind":"listed","path":"pykt/models/qikt.py","file_url":"https://github.com/pykt-team/pykt-toolkit/blob/HEAD/pykt/models/qikt.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d64e5058e11fc74e"}},{"code_sha256_prefix":"6bfa1fe3138c452f","entry":"sigmoid_inverse","repo":"ZhijieXiong/pyedmine","repo_kind":"listed","path":"edmine/model/sequential_kt_model/QIKT.py","file_url":"https://github.com/ZhijieXiong/pyedmine/blob/HEAD/edmine/model/sequential_kt_model/QIKT.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6bfa1fe3138c452f"}},{"code_sha256_prefix":"9ad3588ca804907c","entry":"QIKT","repo":"ZhijieXiong/pyedmine","repo_kind":"listed","path":"edmine/model/sequential_kt_model/QIKT.py","file_url":"https://github.com/ZhijieXiong/pyedmine/blob/HEAD/edmine/model/sequential_kt_model/QIKT.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9ad3588ca804907c"}},{"code_sha256_prefix":"29283795644f73af","entry":"QIKTNet","repo":"pykt-team/pykt-toolkit","repo_kind":"listed","path":"pykt/models/qikt.py","file_url":"https://github.com/pykt-team/pykt-toolkit/blob/HEAD/pykt/models/qikt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"29283795644f73af"}},{"code_sha256_prefix":"d5437c252c405c85","entry":"debug_print","repo":"pykt-team/pykt-toolkit","repo_kind":"listed","path":"pykt/models/qikt.py","file_url":"https://github.com/pykt-team/pykt-toolkit/blob/HEAD/pykt/models/qikt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d5437c252c405c85"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}