{"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/vgraph-a-generative-model-for-joint-community","title":"vGraph: A Generative Model for Joint Community Detection and Node Representation Learning","arxiv_id":"1906.07159","date":"2019-06-18","proceeding":"NeurIPS 2019 12","authors":["Fan-Yun Sun","Meng Qu","Jordan Hoffmann","Chin-wei Huang","Jian Tang"],"abstract":"This paper focuses on two fundamental tasks of graph analysis: community detection and node representation learning, which capture the global and local structures of graphs, respectively. In the current literature, these two tasks are usually independently studied while they are actually highly correlated. We propose a probabilistic generative model called vGraph to learn community membership and node representation collaboratively. Specifically, we assume that each node can be represented as a mixture of communities, and each community is defined as a multinomial distribution over nodes. Both the mixing coefficients and the community distribution are parameterized by the low-dimensional representations of the nodes and communities. We designed an effective variational inference algorithm which regularizes the community membership of neighboring nodes to be similar in the latent space. Experimental results on multiple real-world graphs show that vGraph is very effective in both community detection and node representation learning, outperforming many competitive baselines in both tasks. We show that the framework of vGraph is quite flexible and can be easily extended to detect hierarchical communities.","url_abs":"https://arxiv.org/abs/1906.07159v2","url_pdf":"https://arxiv.org/pdf/1906.07159v2.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":"vgraph-a-generative-model-for-joint-community","repo_url":"https://github.com/fanyun-sun/vGraph","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"vgraph-a-generative-model-for-joint-community","repo_url":"https://github.com/sunfanyunn/vgraph","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"community-detection","task_name":"Community Detection"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1906.07159","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1906.07159"}},"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/sunfanyunn/vgraph","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/fanyun-sun/vGraph","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":2,"ran_honours":1},"by_repo_kind":{"listed":{"samples":3,"ran":3,"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":3,"samples":[{"code_sha256_prefix":"17cf0f7673e6cbfa","entry":"get_assignment","repo":"sunfanyunn/vgraph","repo_kind":"listed","path":"nonoverlapping-community-detection.py","file_url":"https://github.com/sunfanyunn/vgraph/blob/HEAD/nonoverlapping-community-detection.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"17cf0f7673e6cbfa"}},{"code_sha256_prefix":"c0020b8ca613a803","entry":"get_assignment","repo":"sunfanyunn/vgraph","repo_kind":"listed","path":"overlapping-community-detection.py","file_url":"https://github.com/sunfanyunn/vgraph/blob/HEAD/overlapping-community-detection.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c0020b8ca613a803"}},{"code_sha256_prefix":"354159202439c55a","entry":"loss_function","repo":"sunfanyunn/vgraph","repo_kind":"listed","path":"nonoverlapping-community-detection.py","file_url":"https://github.com/sunfanyunn/vgraph/blob/HEAD/nonoverlapping-community-detection.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"354159202439c55a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}