{"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/ripplenet-propagating-user-preferences-on-the","title":"RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems","arxiv_id":"1803.03467","date":"2018-03-09","proceeding":null,"authors":["Hongwei Wang","Fuzheng Zhang","Jialin Wang","Miao Zhao","Wenjie Li","Xing Xie","Minyi Guo"],"abstract":"To address the sparsity and cold start problem of collaborative filtering,\nresearchers usually make use of side information, such as social networks or\nitem attributes, to improve recommendation performance. This paper considers\nthe knowledge graph as the source of side information. To address the\nlimitations of existing embedding-based and path-based methods for\nknowledge-graph-aware recommendation, we propose Ripple Network, an end-to-end\nframework that naturally incorporates the knowledge graph into recommender\nsystems. Similar to actual ripples propagating on the surface of water, Ripple\nNetwork stimulates the propagation of user preferences over the set of\nknowledge entities by automatically and iteratively extending a user's\npotential interests along links in the knowledge graph. The multiple \"ripples\"\nactivated by a user's historically clicked items are thus superposed to form\nthe preference distribution of the user with respect to a candidate item, which\ncould be used for predicting the final clicking probability. Through extensive\nexperiments on real-world datasets, we demonstrate that Ripple Network achieves\nsubstantial gains in a variety of scenarios, including movie, book and news\nrecommendation, over several state-of-the-art baselines.","url_abs":"http://arxiv.org/abs/1803.03467v4","url_pdf":"http://arxiv.org/pdf/1803.03467v4.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":"ripplenet-propagating-user-preferences-on-the","repo_url":"https://github.com/hwwang55/RippleNet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"ripplenet-propagating-user-preferences-on-the","repo_url":"https://github.com/Hank-Kuo/RippleNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"ripplenet-propagating-user-preferences-on-the","repo_url":"https://github.com/Jessinra/GDP-RippleNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"ripplenet-propagating-user-preferences-on-the","repo_url":"https://github.com/Jessinra/GDP-RippleNet-Ori","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"ripplenet-propagating-user-preferences-on-the","repo_url":"https://github.com/ZJJHYM/RippleNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"ripplenet-propagating-user-preferences-on-the","repo_url":"https://github.com/johnnyjana730/MVIN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"ripplenet-propagating-user-preferences-on-the","repo_url":"https://github.com/qibinc/RippleNet-PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"ripplenet-propagating-user-preferences-on-the","repo_url":"https://github.com/sdu-wjh/icws2020","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"ripplenet-propagating-user-preferences-on-the","repo_url":"https://github.com/tezignlab/RippleNet-TF2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"click-through-rate-prediction","task_name":"Click-Through Rate Prediction"},{"task_slug":"collaborative-filtering","task_name":"Collaborative Filtering"},{"task_slug":"news-recommendation","task_name":"News Recommendation"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/click-through-rate-prediction-on-bing-news","task":"Click-Through Rate Prediction","dataset":"Bing News","model":"RippleNet","rank_in_archive_order":5,"of":7,"metrics":{"AUC":"0.678","Accuracy":"63.2"},"uses_additional_data":false},{"leaderboard":"/sota/click-through-rate-prediction-on-book","task":"Click-Through Rate Prediction","dataset":"Book-Crossing","model":"RippleNet","rank_in_archive_order":2,"of":2,"metrics":{"AUC":"0.729","Accuracy":"0.662"},"uses_additional_data":false},{"leaderboard":"/sota/click-through-rate-prediction-on-movielens-1m","task":"Click-Through Rate Prediction","dataset":"MovieLens 1M","model":"RippleNet","rank_in_archive_order":3,"of":6,"metrics":{"AUC":"0.921","Accuracy":"84.4"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/1803.03467","atlas_url":"https://app.syntology.ai/?focus=1803.03467","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1803.03467"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/Jessinra/GDP-RippleNet","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/qibinc/RippleNet-PyTorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Jessinra/GDP-RippleNet-Ori","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/johnnyjana730/MVIN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Hank-Kuo/RippleNet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sdu-wjh/icws2020","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tezignlab/RippleNet-TF2","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hwwang55/RippleNet","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ZJJHYM/RippleNet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"unverified":6},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1},"listed":{"samples":4,"ran":1,"repositories":2}},"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":1,"samples":[{"code_sha256_prefix":"a863327019290a51","entry":"evaluation","repo":"Hank-Kuo/RippleNet","repo_kind":"listed","path":"evaluate.py","file_url":"https://github.com/Hank-Kuo/RippleNet/blob/HEAD/evaluate.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a863327019290a51"}},{"code_sha256_prefix":"3807a263b7505930","entry":"dataset_split","repo":"hwwang55/RippleNet","repo_kind":"official","path":"src/data_loader.py","file_url":"https://github.com/hwwang55/RippleNet/blob/HEAD/src/data_loader.py","link_basis":"first_harvest_node","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":"3807a263b7505930"}},{"code_sha256_prefix":"cfb25fac458f2b48","entry":"dataset_split","repo":"sdu-wjh/icws2020","repo_kind":"listed","path":"src/data_loader.py","file_url":"https://github.com/sdu-wjh/icws2020/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":"cfb25fac458f2b48"}},{"code_sha256_prefix":"27c466797c997173","entry":"load_data","repo":"hwwang55/RippleNet","repo_kind":"official","path":"src/data_loader.py","file_url":"https://github.com/hwwang55/RippleNet/blob/HEAD/src/data_loader.py","link_basis":"first_harvest_node","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":"27c466797c997173"}},{"code_sha256_prefix":"0cd23296b20e4497","entry":"load_data","repo":"sdu-wjh/icws2020","repo_kind":"listed","path":"src/data_loader.py","file_url":"https://github.com/sdu-wjh/icws2020/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":"0cd23296b20e4497"}},{"code_sha256_prefix":"c526b09d6c58d0dc","entry":"load_rating","repo":"hwwang55/RippleNet","repo_kind":"official","path":"src/data_loader.py","file_url":"https://github.com/hwwang55/RippleNet/blob/HEAD/src/data_loader.py","link_basis":"first_harvest_node","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":"c526b09d6c58d0dc"}},{"code_sha256_prefix":"bd6a37c39c9dc99d","entry":"load_rating","repo":"sdu-wjh/icws2020","repo_kind":"listed","path":"src/data_loader.py","file_url":"https://github.com/sdu-wjh/icws2020/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":"bd6a37c39c9dc99d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}