{"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/neural-re-ranking-in-multi-stage-recommender","title":"Neural Re-ranking in Multi-stage Recommender Systems: A Review","arxiv_id":"2202.06602","date":"2022-02-14","proceeding":null,"authors":["Weiwen Liu","Yunjia Xi","Jiarui Qin","Fei Sun","Bo Chen","Weinan Zhang","Rui Zhang","Ruiming Tang"],"abstract":"As the final stage of the multi-stage recommender system (MRS), re-ranking directly affects user experience and satisfaction by rearranging the input ranking lists, and thereby plays a critical role in MRS. With the advances in deep learning, neural re-ranking has become a trending topic and been widely applied in industrial applications. This review aims at integrating re-ranking algorithms into a broader picture, and paving ways for more comprehensive solutions for future research. For this purpose, we first present a taxonomy of current methods on neural re-ranking. Then we give a description of these methods along with the historic development according to their objectives. The network structure, personalization, and complexity are also discussed and compared. Next, we provide benchmarks of the major neural re-ranking models and quantitatively analyze their re-ranking performance. Finally, the review concludes with a discussion on future prospects of this field. A list of papers discussed in this review, the benchmark datasets, our re-ranking library LibRerank, and detailed parameter settings are publicly available at https://github.com/LibRerank-Community/LibRerank.","url_abs":"https://arxiv.org/abs/2202.06602v2","url_pdf":"https://arxiv.org/pdf/2202.06602v2.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":"neural-re-ranking-in-multi-stage-recommender","repo_url":"https://github.com/librerank-community/librerank","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"re-ranking","task_name":"Re-Ranking"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2202.06602","atlas_url":"https://app.syntology.ai/?focus=2202.06602","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2202.06602"}},"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/librerank-community/librerank","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"unverified":3},"by_repo_kind":{"official":{"samples":11,"ran":8,"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":"54048768686697eb","entry":"attention_score","repo":"librerank-community/librerank","repo_kind":"official","path":"librerank/reranker.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/librerank/reranker.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"54048768686697eb"}},{"code_sha256_prefix":"004233e23c2f2f2c","entry":"dcg","repo":"librerank-community/librerank","repo_kind":"official","path":"librerank/ranker.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/librerank/ranker.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"004233e23c2f2f2c"}},{"code_sha256_prefix":"089f79f16aa06ac6","entry":"dcg_k","repo":"librerank-community/librerank","repo_kind":"official","path":"librerank/ranker.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/librerank/ranker.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"089f79f16aa06ac6"}},{"code_sha256_prefix":"63e6041e478da028","entry":"get_batch","repo":"librerank-community/librerank","repo_kind":"official","path":"librerank/utils.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/librerank/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"63e6041e478da028"}},{"code_sha256_prefix":"b6b3d40dcf81ad23","entry":"ideal_dcg","repo":"librerank-community/librerank","repo_kind":"official","path":"librerank/ranker.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/librerank/ranker.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b6b3d40dcf81ad23"}},{"code_sha256_prefix":"0c7edb5c1b126003","entry":"normalize","repo":"librerank-community/librerank","repo_kind":"official","path":"librerank/utils.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/librerank/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c7edb5c1b126003"}},{"code_sha256_prefix":"b6122f021db6d387","entry":"softmax","repo":"librerank-community/librerank","repo_kind":"official","path":"librerank/utils.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/librerank/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b6122f021db6d387"}},{"code_sha256_prefix":"b740afcce16e01a8","entry":"tau_function","repo":"librerank-community/librerank","repo_kind":"official","path":"librerank/reranker.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/librerank/reranker.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b740afcce16e01a8"}},{"code_sha256_prefix":"255560f376bfc7d2","entry":"eval","repo":"librerank-community/librerank","repo_kind":"official","path":"run_init_ranker.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/run_init_ranker.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":"255560f376bfc7d2"}},{"code_sha256_prefix":"c35a93aba4f12ded","entry":"eval","repo":"librerank-community/librerank","repo_kind":"official","path":"run_reranker.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/run_reranker.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":"c35a93aba4f12ded"}},{"code_sha256_prefix":"945eae94ea323225","entry":"get_data","repo":"librerank-community/librerank","repo_kind":"official","path":"run_init_ranker.py","file_url":"https://github.com/librerank-community/librerank/blob/HEAD/run_init_ranker.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":"945eae94ea323225"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}