{"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/rkt-relation-aware-self-attention-for","title":"RKT : Relation-Aware Self-Attention for Knowledge Tracing","arxiv_id":"2008.12736","date":"2020-08-28","proceeding":null,"authors":["Shalini Pandey","Jaideep Srivastava"],"abstract":"The world has transitioned into a new phase of online learning in response to the recent Covid19 pandemic. Now more than ever, it has become paramount to push the limits of online learning in every manner to keep flourishing the education system. One crucial component of online learning is Knowledge Tracing (KT). The aim of KT is to model student's knowledge level based on their answers to a sequence of exercises referred as interactions. Students acquire their skills while solving exercises and each such interaction has a distinct impact on student ability to solve a future exercise. This \\textit{impact} is characterized by 1) the relation between exercises involved in the interactions and 2) student forget behavior. Traditional studies on knowledge tracing do not explicitly model both the components jointly to estimate the impact of these interactions. In this paper, we propose a novel Relation-aware self-attention model for Knowledge Tracing (RKT). We introduce a relation-aware self-attention layer that incorporates the contextual information. This contextual information integrates both the exercise relation information through their textual content as well as student performance data and the forget behavior information through modeling an exponentially decaying kernel function. Extensive experiments on three real-world datasets, among which two new collections are released to the public, show that our model outperforms state-of-the-art knowledge tracing methods. Furthermore, the interpretable attention weights help visualize the relation between interactions and temporal patterns in the human learning process.","url_abs":"https://arxiv.org/abs/2008.12736v1","url_pdf":"https://arxiv.org/pdf/2008.12736v1.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":"rkt-relation-aware-self-attention-for","repo_url":"https://github.com/shalini1194/RKT","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"knowledge-tracing","task_name":"Knowledge Tracing"},{"task_slug":null,"task_name":"Relation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2008.12736","atlas_url":"https://app.syntology.ai/?focus=2008.12736","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2008.12736"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/shalini1194/RKT","reach":null}],"summary":{"ran_fixture":1,"ran_draft_wrong":1,"ran_violates":1,"unverified":3},"by_repo_kind":{"official":{"samples":4,"ran":1,"repositories":1}},"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":6,"samples":[{"code_sha256_prefix":"f866d7aba76b8872","entry":"attention","repo":"shalini1194/RKT","repo_kind":"official","path":"RKT/model_rkt.py","file_url":"https://github.com/shalini1194/RKT/blob/HEAD/RKT/model_rkt.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f866d7aba76b8872"}},{"code_sha256_prefix":"1b483db3c68fe2df","entry":"clone","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"1b483db3c68fe2df"}},{"code_sha256_prefix":"77174654ec32c686","entry":"future_mask","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"77174654ec32c686"}},{"code_sha256_prefix":"806700c6a7bf0cad","entry":"compute_corr","repo":"shalini1194/RKT","repo_kind":"official","path":"RKT/train_rkt.py","file_url":"https://github.com/shalini1194/RKT/blob/HEAD/RKT/train_rkt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"806700c6a7bf0cad"}},{"code_sha256_prefix":"73768612e5ff1b07","entry":"get_data","repo":"shalini1194/RKT","repo_kind":"official","path":"RKT/train_rkt.py","file_url":"https://github.com/shalini1194/RKT/blob/HEAD/RKT/train_rkt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"73768612e5ff1b07"}},{"code_sha256_prefix":"0c3b82cdda17144d","entry":"prepare_batches","repo":"shalini1194/RKT","repo_kind":"official","path":"RKT/train_rkt.py","file_url":"https://github.com/shalini1194/RKT/blob/HEAD/RKT/train_rkt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0c3b82cdda17144d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}