{"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/sailor-structural-augmentation-based-tail","title":"SAILOR: Structural Augmentation Based Tail Node Representation Learning","arxiv_id":"2308.06801","date":"2023-08-13","proceeding":null,"authors":["Jie Liao","Jintang Li","Liang Chen","Bingzhe Wu","Yatao Bian","Zibin Zheng"],"abstract":"Graph Neural Networks (GNNs) have achieved state-of-the-art performance in representation learning for graphs recently. However, the effectiveness of GNNs, which capitalize on the key operation of message propagation, highly depends on the quality of the topology structure. Most of the graphs in real-world scenarios follow a long-tailed distribution on their node degrees, that is, a vast majority of the nodes in the graph are tail nodes with only a few connected edges. GNNs produce inferior node representations for tail nodes since they lack structural information. In the pursuit of promoting the expressiveness of GNNs for tail nodes, we explore how the deficiency of structural information deteriorates the performance of tail nodes and propose a general Structural Augmentation based taIL nOde Representation learning framework, dubbed as SAILOR, which can jointly learn to augment the graph structure and extract more informative representations for tail nodes. Extensive experiments on public benchmark datasets demonstrate that SAILOR can significantly improve the tail node representations and outperform the state-of-the-art baselines.","url_abs":"https://arxiv.org/abs/2308.06801v2","url_pdf":"https://arxiv.org/pdf/2308.06801v2.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":"sailor-structural-augmentation-based-tail","repo_url":"https://github.com/jie-re/sailor","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.06801","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.06801"}},"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/jie-re/sailor","reach":{"status":"ok"}}],"summary":{"ran":8,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":9,"ran":9,"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":9,"samples":[{"code_sha256_prefix":"19511295442b8b8a","entry":"AcontainsB","repo":"jie-re/sailor","repo_kind":"official","path":"model/norm_tricks.py","file_url":"https://github.com/jie-re/sailor/blob/HEAD/model/norm_tricks.py","link_basis":"harvester_set","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":"19511295442b8b8a"}},{"code_sha256_prefix":"c0bbfcaf97ff8aee","entry":"accuracy","repo":"jie-re/sailor","repo_kind":"official","path":"utils.py","file_url":"https://github.com/jie-re/sailor/blob/HEAD/utils.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c0bbfcaf97ff8aee"}},{"code_sha256_prefix":"8a18fe7fbd49484d","entry":"bestGPU","repo":"jie-re/sailor","repo_kind":"official","path":"utils.py","file_url":"https://github.com/jie-re/sailor/blob/HEAD/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":"8a18fe7fbd49484d"}},{"code_sha256_prefix":"46b30d1685f7959d","entry":"eliminate_self_loops","repo":"jie-re/sailor","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/jie-re/sailor/blob/HEAD/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":"46b30d1685f7959d"}},{"code_sha256_prefix":"d2e791500b02819f","entry":"get_config","repo":"jie-re/sailor","repo_kind":"official","path":"utils.py","file_url":"https://github.com/jie-re/sailor/blob/HEAD/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":"d2e791500b02819f"}},{"code_sha256_prefix":"c086ef000a314a07","entry":"get_drop_graph","repo":"jie-re/sailor","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/jie-re/sailor/blob/HEAD/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":"c086ef000a314a07"}},{"code_sha256_prefix":"fa55782ae86522c2","entry":"largest_connected_components","repo":"jie-re/sailor","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/jie-re/sailor/blob/HEAD/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":"fa55782ae86522c2"}},{"code_sha256_prefix":"a5483c4f44a5f81a","entry":"reset_weight_GroupNorm","repo":"jie-re/sailor","repo_kind":"official","path":"model/norm_tricks.py","file_url":"https://github.com/jie-re/sailor/blob/HEAD/model/norm_tricks.py","link_basis":"harvester_set","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":"a5483c4f44a5f81a"}},{"code_sha256_prefix":"429df79768882322","entry":"run_norm_if_any","repo":"jie-re/sailor","repo_kind":"official","path":"model/norm_tricks.py","file_url":"https://github.com/jie-re/sailor/blob/HEAD/model/norm_tricks.py","link_basis":"harvester_set","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":"429df79768882322"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}