{"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/knowledge-graph-convolutional-networks-for","title":"Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Recommender Systems","arxiv_id":"1905.04413","date":"2019-05-11","proceeding":null,"authors":["Hongwei Wang","Fuzheng Zhang","Mengdi Zhang","Jure Leskovec","Miao Zhao","Wenjie Li","Zhongyuan Wang"],"abstract":"Knowledge graphs capture structured information and relations between a set of entities or items. As such knowledge graphs represent an attractive source of information that could help improve recommender systems. However, existing approaches in this domain rely on manual feature engineering and do not allow for an end-to-end training. Here we propose Knowledge-aware Graph Neural Networks with Label Smoothness regularization (KGNN-LS) to provide better recommendations. Conceptually, our approach computes user-specific item embeddings by first applying a trainable function that identifies important knowledge graph relationships for a given user. This way we transform the knowledge graph into a user-specific weighted graph and then apply a graph neural network to compute personalized item embeddings. To provide better inductive bias, we rely on label smoothness assumption, which posits that adjacent items in the knowledge graph are likely to have similar user relevance labels/scores. Label smoothness provides regularization over the edge weights and we prove that it is equivalent to a label propagation scheme on a graph. We also develop an efficient implementation that shows strong scalability with respect to the knowledge graph size. Experiments on four datasets show that our method outperforms state of the art baselines. KGNN-LS also achieves strong performance in cold-start scenarios where user-item interactions are sparse.","url_abs":"https://arxiv.org/abs/1905.04413v3","url_pdf":"https://arxiv.org/pdf/1905.04413v3.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":"knowledge-graph-convolutional-networks-for","repo_url":"https://github.com/YuTesla/KGNN-LS-learn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"knowledge-graph-convolutional-networks-for","repo_url":"https://github.com/hwwang55/KGNN-LS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"knowledge-graph-convolutional-networks-for","repo_url":"https://github.com/matlabmtl/Reco-KGNN-LS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"knowledge-graph-convolutional-networks-for","repo_url":"https://github.com/songzeceng/KGNNLS_DEMO","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"knowledge-graph-convolutional-networks-for","repo_url":"https://github.com/z-qiyu/KGNN-LS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"knowledge-graph-convolutional-networks-for","repo_url":"https://github.com/MindSpore-scientific-2/code-10/tree/main/RGNN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"feature-engineering","task_name":"Feature Engineering"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"},{"task_slug":"inductive-bias","task_name":"Inductive Bias"},{"task_slug":"knowledge-graphs","task_name":"Knowledge Graphs"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/recommendation-systems-on-book-crossing-1","task":"Recommendation Systems","dataset":"Book-Crossing","model":"KGNN-LS","rank_in_archive_order":2,"of":2,"metrics":{"Recall@10":"0.082","Recall@100":"0.149","Recall@2":"0.045","Recall@50":"0.117"},"uses_additional_data":false},{"leaderboard":"/sota/recommendation-systems-on-dianping-food","task":"Recommendation Systems","dataset":"Dianping-Food","model":"KGNN-LS","rank_in_archive_order":1,"of":1,"metrics":{"Recall@10":"0.17","Recall@100":"0.487","Recall@2":"0.047","Recall@50":"0.34"},"uses_additional_data":false},{"leaderboard":"/sota/recommendation-systems-on-lastfm","task":"Recommendation Systems","dataset":"Last.FM","model":"KGNN-LS","rank_in_archive_order":3,"of":3,"metrics":{"Recall@10":"0.122","Recall@100":"0.370","Recall@2":"0.044","Recall@50":"0.277"},"uses_additional_data":false},{"leaderboard":"/sota/collaborative-filtering-on-movielens-20m","task":"Recommendation Systems","dataset":"MovieLens 20M","model":"KGNN-LS","rank_in_archive_order":5,"of":18,"metrics":{"Recall@10":"0.155","Recall@100":"0.458","Recall@2":"0.043","Recall@50":"0.321"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1905.04413","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1905.04413"}},"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/songzeceng/KGNNLS_DEMO","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hwwang55/KGNN-LS","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/z-qiyu/KGNN-LS","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/matlabmtl/Reco-KGNN-LS","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/YuTesla/KGNN-LS-learn","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindSpore-scientific-2/code-10/tree/main/RGNN","reach":null}],"summary":{"unverified":4},"by_repo_kind":{"listed":{"samples":4,"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":"fc7c69d4b057c9e2","entry":"dataset_split","repo":"YuTesla/KGNN-LS-learn","repo_kind":"listed","path":"src/data_loader.py","file_url":"https://github.com/YuTesla/KGNN-LS-learn/blob/HEAD/src/data_loader.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fc7c69d4b057c9e2"}},{"code_sha256_prefix":"df1bf46ed02ef952","entry":"get_layer_id","repo":"YuTesla/KGNN-LS-learn","repo_kind":"listed","path":"src/aggregators.py","file_url":"https://github.com/YuTesla/KGNN-LS-learn/blob/HEAD/src/aggregators.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"df1bf46ed02ef952"}},{"code_sha256_prefix":"1822cb04d01c77cb","entry":"load_data","repo":"YuTesla/KGNN-LS-learn","repo_kind":"listed","path":"src/data_loader.py","file_url":"https://github.com/YuTesla/KGNN-LS-learn/blob/HEAD/src/data_loader.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1822cb04d01c77cb"}},{"code_sha256_prefix":"9cb7fa471c57c730","entry":"load_rating","repo":"YuTesla/KGNN-LS-learn","repo_kind":"listed","path":"src/data_loader.py","file_url":"https://github.com/YuTesla/KGNN-LS-learn/blob/HEAD/src/data_loader.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9cb7fa471c57c730"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}