{"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/an-attention-based-graph-neural-network-for","title":"An Attention-based Graph Neural Network for Heterogeneous Structural Learning","arxiv_id":"1912.10832","date":"2019-12-19","proceeding":null,"authors":["Huiting Hong","Hantao Guo","Yu-Cheng Lin","Xiaoqing Yang","Zang Li","Jieping Ye"],"abstract":"In this paper, we focus on graph representation learning of heterogeneous information network (HIN), in which various types of vertices are connected by various types of relations. Most of the existing methods conducted on HIN revise homogeneous graph embedding models via meta-paths to learn low-dimensional vector space of HIN. In this paper, we propose a novel Heterogeneous Graph Structural Attention Neural Network (HetSANN) to directly encode structural information of HIN without meta-path and achieve more informative representations. With this method, domain experts will not be needed to design meta-path schemes and the heterogeneous information can be processed automatically by our proposed model. Specifically, we implicitly represent heterogeneous information using the following two methods: 1) we model the transformation between heterogeneous vertices through a projection in low-dimensional entity spaces; 2) afterwards, we apply the graph neural network to aggregate multi-relational information of projected neighborhood by means of attention mechanism. We also present three extensions of HetSANN, i.e., voices-sharing product attention for the pairwise relationships in HIN, cycle-consistency loss to retain the transformation between heterogeneous entity spaces, and multi-task learning with full use of information. The experiments conducted on three public datasets demonstrate that our proposed models achieve significant and consistent improvements compared to state-of-the-art solutions.","url_abs":"https://arxiv.org/abs/1912.10832v1","url_pdf":"https://arxiv.org/pdf/1912.10832v1.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":"an-attention-based-graph-neural-network-for","repo_url":"https://github.com/didi/hetsann","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"graph-embedding","task_name":"Graph Embedding"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"},{"task_slug":"graph-representation-learning","task_name":"Graph Representation Learning"},{"task_slug":"heterogeneous-node-classification","task_name":"Heterogeneous Node Classification"},{"task_slug":"multi-task-learning","task_name":"Multi-Task Learning"},{"task_slug":"node-classification","task_name":"Node Classification"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/heterogeneous-node-classification-on-acm","task":"Heterogeneous Node Classification","dataset":"ACM (Heterogeneous Node Classification)","model":"HetSANN","rank_in_archive_order":9,"of":11,"metrics":{" Macro-F1":"90.02","Micro-F1":"89.91"},"uses_additional_data":false},{"leaderboard":"/sota/heterogeneous-node-classification-on-dblp-2","task":"Heterogeneous Node Classification","dataset":"DBLP (Heterogeneous Node Classification)","model":"HetSANN","rank_in_archive_order":9,"of":11,"metrics":{" Macro-F1":"78.55","Micro-F1":"80.56"},"uses_additional_data":false},{"leaderboard":"/sota/heterogeneous-node-classification-on-imdb","task":"Heterogeneous Node Classification","dataset":"IMDB (Heterogeneous Node Classification)","model":"HetSANN","rank_in_archive_order":9,"of":11,"metrics":{" Macro-F1":"49.47","Micro-F1":"57.68"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1912.10832","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1912.10832"}},"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/didi/hetsann","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"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":0,"samples":[{"code_sha256_prefix":"c20935289509583b","entry":"sp_hete_attn_head","repo":"didi/hetsann","repo_kind":"official","path":"HetSANN_M/utils/layers.py","file_url":"https://github.com/didi/hetsann/blob/HEAD/HetSANN_M/utils/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c20935289509583b"}},{"code_sha256_prefix":"5fa215cc17c9497f","entry":"sp_hete_attn_head","repo":"didi/hetsann","repo_kind":"official","path":"HetSANN_MR/utils/layers.py","file_url":"https://github.com/didi/hetsann/blob/HEAD/HetSANN_MR/utils/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5fa215cc17c9497f"}},{"code_sha256_prefix":"cf6953e62cbebdeb","entry":"sp_hete_attn_head","repo":"didi/hetsann","repo_kind":"official","path":"HetSANN_MRV/utils/layers.py","file_url":"https://github.com/didi/hetsann/blob/HEAD/HetSANN_MRV/utils/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cf6953e62cbebdeb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}