{"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/pagerank-bandits-for-link-prediction","title":"PageRank Bandits for Link Prediction","arxiv_id":"2411.01410","date":"2024-11-03","proceeding":null,"authors":["Yikun Ban","Jiaru Zou","Zihao Li","Yunzhe Qi","Dongqi Fu","Jian Kang","Hanghang Tong","Jingrui He"],"abstract":"Link prediction is a critical problem in graph learning with broad applications such as recommender systems and knowledge graph completion. Numerous research efforts have been directed at solving this problem, including approaches based on similarity metrics and Graph Neural Networks (GNN). However, most existing solutions are still rooted in conventional supervised learning, which makes it challenging to adapt over time to changing customer interests and to address the inherent dilemma of exploitation versus exploration in link prediction. To tackle these challenges, this paper reformulates link prediction as a sequential decision-making process, where each link prediction interaction occurs sequentially. We propose a novel fusion algorithm, PRB (PageRank Bandits), which is the first to combine contextual bandits with PageRank for collaborative exploitation and exploration. We also introduce a new reward formulation and provide a theoretical performance guarantee for PRB. Finally, we extensively evaluate PRB in both online and offline settings, comparing it with bandit-based and graph-based methods. The empirical success of PRB demonstrates the value of the proposed fusion approach. Our code is released at https://github.com/jiaruzouu/PRB.","url_abs":"https://arxiv.org/abs/2411.01410v1","url_pdf":"https://arxiv.org/pdf/2411.01410v1.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":"pagerank-bandits-for-link-prediction","repo_url":"https://github.com/jiaruzouu/prb","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"graph-learning","task_name":"Graph Learning"},{"task_slug":"knowledge-graph-completion","task_name":"Knowledge Graph Completion"},{"task_slug":"link-prediction","task_name":"Link Prediction"},{"task_slug":"multi-armed-bandits","task_name":"Multi-Armed Bandits"},{"task_slug":"prediction","task_name":"Prediction"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"},{"task_slug":"sequential-decision-making","task_name":"Sequential Decision Making"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2411.01410","atlas_url":"https://app.syntology.ai/?focus=2411.01410","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.01410"}},"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":"deterministic:regex_extraction","url":"https://github.com/jiaruzouu/PRB","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jiaruzouu/prb","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"ran":1,"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":"a279b06e66a0755b","entry":"construct_adjacency_matrix_from_G","repo":"jiaruzouu/prb","repo_kind":"official","path":"online_link_prediction/PRB_run_amazon_fashion.py","file_url":"https://github.com/jiaruzouu/prb/blob/HEAD/online_link_prediction/PRB_run_amazon_fashion.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a279b06e66a0755b"}},{"code_sha256_prefix":"af3f194eec2ee97b","entry":"connect_current_nodes_edges","repo":"jiaruzouu/PRB","repo_kind":"official","path":"offline_node_classification/PRB_run_citeseer.py","file_url":"https://github.com/jiaruzouu/PRB/blob/HEAD/offline_node_classification/PRB_run_citeseer.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":"af3f194eec2ee97b"}},{"code_sha256_prefix":"1ab7c72374ace5b3","entry":"construct_adjacency_matrix_from_G","repo":"jiaruzouu/PRB","repo_kind":"official","path":"offline_node_classification/PRB_run_citeseer.py","file_url":"https://github.com/jiaruzouu/PRB/blob/HEAD/offline_node_classification/PRB_run_citeseer.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":"1ab7c72374ace5b3"}},{"code_sha256_prefix":"1995c82661e2f042","entry":"construct_adjacency_matrix_from_G","repo":"jiaruzouu/PRB","repo_kind":"official","path":"online_link_prediction/PRB_run_facebook.py","file_url":"https://github.com/jiaruzouu/PRB/blob/HEAD/online_link_prediction/PRB_run_facebook.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":"1995c82661e2f042"}},{"code_sha256_prefix":"514b5498205cc81c","entry":"construct_no_edge_graph","repo":"jiaruzouu/PRB","repo_kind":"official","path":"offline_node_classification/PRB_run_citeseer.py","file_url":"https://github.com/jiaruzouu/PRB/blob/HEAD/offline_node_classification/PRB_run_citeseer.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":"514b5498205cc81c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}