{"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/arxiv-2512-07100","title":"Dual Refinement Cycle Learning: Unsupervised Text Classification of Mamba and Community Detection on Text Attributed Graph","arxiv_id":"2512.07100","date":"2025-12-08","proceeding":null,"authors":["Hong Wang","Yinglong Zhang","Hanhan Guo","Xuewen Xia","Xing Xu"],"abstract":"Pretrained language models offer strong text understanding capabilities but remain difficult to deploy in real-world text-attributed networks due to their heavy dependence on labeled data. Meanwhile, community detection methods typically ignore textual semantics, limiting their usefulness in downstream applications such as content organization, recommendation, and risk monitoring. To overcome these limitations, we present Dual Refinement Cycle Learning (DRCL), a fully unsupervised framework designed for practical scenarios where no labels or category definitions are available. DRCL integrates structural and semantic information through a warm-start initialization and a bidirectional refinement cycle between a GCN-based Community Detection Module (GCN-CDM) and a Text Semantic Modeling Module (TSMM). The two modules iteratively exchange pseudo-labels, allowing semantic cues to enhance structural clustering and structural patterns to guide text representation learning without manual supervision. Across several text-attributed graph datasets, DRCL consistently improves the structural and semantic quality of discovered communities. Moreover, a Mamba-based classifier trained solely from DRCL's community signals achieves accuracy comparable to supervised models, demonstrating its potential for deployment in large-scale systems where labeled data are scarce or costly. The code is available at https://github.com/wuanghoong/DRCL.git.","url_abs":"https://arxiv.org/abs/2512.07100","url_pdf":"https://arxiv.org/pdf/2512.07100","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2512.07100","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2512.07100"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/wuanghoong/DRCL","reach":{"status":"ok"}}],"summary":{"unverified":12},"by_repo_kind":{"found_in_text":{"samples":12,"ran":0,"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":12,"samples":[{"code_sha256_prefix":"e92cd3798d9a4be7","entry":"F_score_helper","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"evaluation.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/evaluation.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":"e92cd3798d9a4be7"}},{"code_sha256_prefix":"1bb91f897a1a6eb8","entry":"GELU","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"model.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/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":"1bb91f897a1a6eb8"}},{"code_sha256_prefix":"674eb7e239a56b26","entry":"NMI_helper","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"evaluation.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/evaluation.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":"674eb7e239a56b26"}},{"code_sha256_prefix":"e751fc757b652853","entry":"cluster_net","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"model.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/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":"e751fc757b652853"}},{"code_sha256_prefix":"02f0e9a4f3529b87","entry":"compute_modularity","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"Q.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/Q.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":"02f0e9a4f3529b87"}},{"code_sha256_prefix":"1fb99505f08c61ce","entry":"corruption","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"model.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/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":"1fb99505f08c61ce"}},{"code_sha256_prefix":"d606fef33d646563","entry":"count","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"GCNtrain.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/GCNtrain.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":"d606fef33d646563"}},{"code_sha256_prefix":"bb6ad90814b984f0","entry":"get_cora_casestudy","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"dataset_process.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/dataset_process.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":"bb6ad90814b984f0"}},{"code_sha256_prefix":"f2dffa36fd3eb074","entry":"make_modularity_matrix","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"GCNtrain.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/GCNtrain.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":"f2dffa36fd3eb074"}},{"code_sha256_prefix":"3782c2bf2e21cc01","entry":"make_modularity_sp_matrix","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"GCNtrain.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/GCNtrain.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":"3782c2bf2e21cc01"}},{"code_sha256_prefix":"fec614434ed0137d","entry":"preprocess_function","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"util.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/util.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":"fec614434ed0137d"}},{"code_sha256_prefix":"60c1841421aa47ee","entry":"process_set","repo":"wuanghoong/DRCL","repo_kind":"found_in_text","path":"evaluation.py","file_url":"https://github.com/wuanghoong/DRCL/blob/HEAD/evaluation.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":"60c1841421aa47ee"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_api"},"syntology_extracted_results":null}