{"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/kcd-knowledge-walks-and-textual-cues-enhanced-1","title":"KCD: Knowledge Walks and Textual Cues Enhanced Political Perspective Detection in News Media","arxiv_id":"2204.04046","date":"2022-04-08","proceeding":"NAACL 2022 7","authors":["Wenqian Zhang","Shangbin Feng","Zilong Chen","Zhenyu Lei","Jundong Li","Minnan Luo"],"abstract":"Political perspective detection has become an increasingly important task that can help combat echo chambers and political polarization. Previous approaches generally focus on leveraging textual content to identify stances, while they fail to reason with background knowledge or leverage the rich semantic and syntactic textual labels in news articles. In light of these limitations, we propose KCD, a political perspective detection approach to enable multi-hop knowledge reasoning and incorporate textual cues as paragraph-level labels. Specifically, we firstly generate random walks on external knowledge graphs and infuse them with news text representations. We then construct a heterogeneous information network to jointly model news content as well as semantic, syntactic and entity cues in news articles. Finally, we adopt relational graph neural networks for graph-level representation learning and conduct political perspective detection. Extensive experiments demonstrate that our approach outperforms state-of-the-art methods on two benchmark datasets. We further examine the effect of knowledge walks and textual cues and how they contribute to our approach's data efficiency.","url_abs":"https://arxiv.org/abs/2204.04046v3","url_pdf":"https://arxiv.org/pdf/2204.04046v3.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":"kcd-knowledge-walks-and-textual-cues-enhanced-1","repo_url":"https://github.com/wenqian-zhang/kcd","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"articles","task_name":"Articles"},{"task_slug":"knowledge-graphs","task_name":"Knowledge Graphs"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2204.04046","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.04046"}},"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/wenqian-zhang/kcd","reach":{"status":"ok"}}],"summary":{"ran":3,"ran_fixture":2},"by_repo_kind":{"official":{"samples":4,"ran":4,"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":5,"samples":[{"code_sha256_prefix":"edc872cc9316c268","entry":"GatedRGCN","repo":"wenqian-zhang/kcd","repo_kind":"official","path":"main/allmain/KSD_GatedRGCN.py","file_url":"https://github.com/wenqian-zhang/kcd/blob/HEAD/main/allmain/KSD_GatedRGCN.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"edc872cc9316c268"}},{"code_sha256_prefix":"49cd7bc3a1128928","entry":"KSD","repo":"wenqian-zhang/kcd","repo_kind":"official","path":"main/allmain/KSD_GatedRGCN.py","file_url":"https://github.com/wenqian-zhang/kcd/blob/HEAD/main/allmain/KSD_GatedRGCN.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"49cd7bc3a1128928"}},{"code_sha256_prefix":"71873696ca5ed64c","entry":"attention","repo":"wenqian-zhang/kcd","repo_kind":"official","path":"main/allmain/KSD_GatedRGCN.py","file_url":"https://github.com/wenqian-zhang/kcd/blob/HEAD/main/allmain/KSD_GatedRGCN.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":"71873696ca5ed64c"}},{"code_sha256_prefix":"16cbde9056915afd","entry":"f1_score","repo":"wenqian-zhang/kcd","repo_kind":"official","path":"main/allmain/KSD_GatedRGCN.py","file_url":"https://github.com/wenqian-zhang/kcd/blob/HEAD/main/allmain/KSD_GatedRGCN.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"16cbde9056915afd"}},{"code_sha256_prefix":"2b09b7b0191e6f69","entry":"get_metrics","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"2b09b7b0191e6f69"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}