{"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/disco-a-hierarchical-disentangled-cognitive","title":"DISCO: A Hierarchical Disentangled Cognitive Diagnosis Framework for Interpretable Job Recommendation","arxiv_id":"2410.07671","date":"2024-10-10","proceeding":null,"authors":["Xiaoshan Yu","Chuan Qin","Qi Zhang","Chen Zhu","Haiping Ma","Xingyi Zhang","HengShu Zhu"],"abstract":"The rapid development of online recruitment platforms has created unprecedented opportunities for job seekers while concurrently posing the significant challenge of quickly and accurately pinpointing positions that align with their skills and preferences. Job recommendation systems have significantly alleviated the extensive search burden for job seekers by optimizing user engagement metrics, such as clicks and applications, thus achieving notable success. In recent years, a substantial amount of research has been devoted to developing effective job recommendation models, primarily focusing on text-matching based and behavior modeling based methods. While these approaches have realized impressive outcomes, it is imperative to note that research on the explainability of recruitment recommendations remains profoundly unexplored. To this end, in this paper, we propose DISCO, a hierarchical Disentanglement based Cognitive diagnosis framework, aimed at flexibly accommodating the underlying representation learning model for effective and interpretable job recommendations. Specifically, we first design a hierarchical representation disentangling module to explicitly mine the hierarchical skill-related factors implied in hidden representations of job seekers and jobs. Subsequently, we propose level-aware association modeling to enhance information communication and robust representation learning both inter- and intra-level, which consists of the interlevel knowledge influence module and the level-wise contrastive learning. Finally, we devise an interaction diagnosis module incorporating a neural diagnosis function for effectively modeling the multi-level recruitment interaction process between job seekers and jobs, which introduces the cognitive measurement theory.","url_abs":"https://arxiv.org/abs/2410.07671v2","url_pdf":"https://arxiv.org/pdf/2410.07671v2.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":"disco-a-hierarchical-disentangled-cognitive","repo_url":"https://github.com/LabyrinthineLeo/DISCO","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"disentanglement","task_name":"Disentanglement"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"text-matching","task_name":"Text Matching"},{"task_slug":"cognitive-diagnosis","task_name":"cognitive diagnosis"}],"methods":[{"method_slug":"align","method_name":"ALIGN"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2410.07671","atlas_url":"https://app.syntology.ai/?focus=2410.07671","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.07671"}},"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/LabyrinthineLeo/DISCO","reach":{"status":"ok"}}],"summary":{"ran":5,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"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":7,"samples":[{"code_sha256_prefix":"9c25ba6a9a0e14ea","entry":"bpr_loss","repo":"LabyrinthineLeo/DISCO","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/LabyrinthineLeo/DISCO/blob/HEAD/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9c25ba6a9a0e14ea"}},{"code_sha256_prefix":"1f9cf68e3bb5c2d8","entry":"dict2matrix","repo":"LabyrinthineLeo/DISCO","repo_kind":"official","path":"utils/dataset.py","file_url":"https://github.com/LabyrinthineLeo/DISCO/blob/HEAD/utils/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1f9cf68e3bb5c2d8"}},{"code_sha256_prefix":"75663d0a4a979ce6","entry":"getHR","repo":"LabyrinthineLeo/DISCO","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/LabyrinthineLeo/DISCO/blob/HEAD/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"75663d0a4a979ce6"}},{"code_sha256_prefix":"c60ef0ec8766ed6c","entry":"getNDCG","repo":"LabyrinthineLeo/DISCO","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/LabyrinthineLeo/DISCO/blob/HEAD/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c60ef0ec8766ed6c"}},{"code_sha256_prefix":"9346385946c7a5ed","entry":"model_forward","repo":"LabyrinthineLeo/DISCO","repo_kind":"official","path":"utils/train_model.py","file_url":"https://github.com/LabyrinthineLeo/DISCO/blob/HEAD/utils/train_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9346385946c7a5ed"}},{"code_sha256_prefix":"51c736265fabc6ce","entry":"evaluate","repo":"LabyrinthineLeo/DISCO","repo_kind":"official","path":"utils/train_model.py","file_url":"https://github.com/LabyrinthineLeo/DISCO/blob/HEAD/utils/train_model.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":"51c736265fabc6ce"}},{"code_sha256_prefix":"70bc227f3d163cba","entry":"train_model","repo":"LabyrinthineLeo/DISCO","repo_kind":"official","path":"utils/train_model.py","file_url":"https://github.com/LabyrinthineLeo/DISCO/blob/HEAD/utils/train_model.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":"70bc227f3d163cba"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}