{"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/nprf-a-neural-pseudo-relevance-feedback","title":"NPRF: A Neural Pseudo Relevance Feedback Framework for Ad-hoc Information Retrieval","arxiv_id":"1810.12936","date":"2018-10-30","proceeding":"EMNLP 2018 10","authors":["Canjia Li","Yingfei Sun","Ben He","Le Wang","Kai Hui","Andrew Yates","Le Sun","Jungang Xu"],"abstract":"Pseudo-relevance feedback (PRF) is commonly used to boost the performance of\ntraditional information retrieval (IR) models by using top-ranked documents to\nidentify and weight new query terms, thereby reducing the effect of\nquery-document vocabulary mismatches. While neural retrieval models have\nrecently demonstrated strong results for ad-hoc retrieval, combining them with\nPRF is not straightforward due to incompatibilities between existing PRF\napproaches and neural architectures. To bridge this gap, we propose an\nend-to-end neural PRF framework that can be used with existing neural IR models\nby embedding different neural models as building blocks. Extensive experiments\non two standard test collections confirm the effectiveness of the proposed NPRF\nframework in improving the performance of two state-of-the-art neural IR\nmodels.","url_abs":"http://arxiv.org/abs/1810.12936v1","url_pdf":"http://arxiv.org/pdf/1810.12936v1.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":"nprf-a-neural-pseudo-relevance-feedback","repo_url":"https://github.com/ucasir/NPRF","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"ad-hoc-information-retrieval","task_name":"Ad-Hoc Information Retrieval"},{"task_slug":"information-retrieval","task_name":"Information Retrieval"},{"task_slug":"retrieval","task_name":"Retrieval"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/ad-hoc-information-retrieval-on-trec-robust04","task":"Ad-Hoc Information Retrieval","dataset":"TREC Robust04","model":"NPRF-DRMM","rank_in_archive_order":9,"of":21,"metrics":{"MAP":"0.2904","P@20":"0.4064","nDCG@20":"0.4502"},"uses_additional_data":false},{"leaderboard":"/sota/ad-hoc-information-retrieval-on-trec-robust04","task":"Ad-Hoc Information Retrieval","dataset":"TREC Robust04","model":"NPRF-KNRM","rank_in_archive_order":13,"of":21,"metrics":{"MAP":"0.2846","P@20":"0.3926","nDCG@20":"0.4327"},"uses_additional_data":false},{"leaderboard":"/sota/ad-hoc-information-retrieval-on-trec-robust04","task":"Ad-Hoc Information Retrieval","dataset":"TREC Robust04","model":"KNRM","rank_in_archive_order":16,"of":21,"metrics":{"MAP":"0.2464","P@20":"0.3510","nDCG@20":"0.3989"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/1810.12936","atlas_url":"https://app.syntology.ai/?focus=1810.12936","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1810.12936"}},"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/ucasir/NPRF","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"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":"e52e3b386be1d9cb","entry":"get_word_vec","repo":"ucasir/NPRF","repo_kind":"official","path":"preprocess/matrix.py","file_url":"https://github.com/ucasir/NPRF/blob/HEAD/preprocess/matrix.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":"e52e3b386be1d9cb"}},{"code_sha256_prefix":"8de864fea0ae24a8","entry":"hist_from_matrix","repo":"ucasir/NPRF","repo_kind":"official","path":"preprocess/matrix.py","file_url":"https://github.com/ucasir/NPRF/blob/HEAD/preprocess/matrix.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":"8de864fea0ae24a8"}},{"code_sha256_prefix":"f8a68c601c679661","entry":"rank_hinge_loss","repo":"ucasir/NPRF","repo_kind":"official","path":"metrics/rank_losses.py","file_url":"https://github.com/ucasir/NPRF/blob/HEAD/metrics/rank_losses.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":"f8a68c601c679661"}},{"code_sha256_prefix":"7986b7c47df8beb5","entry":"update_qrels_from_res_and_qrels","repo":"ucasir/NPRF","repo_kind":"official","path":"preprocess/prepare.py","file_url":"https://github.com/ucasir/NPRF/blob/HEAD/preprocess/prepare.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":"7986b7c47df8beb5"}},{"code_sha256_prefix":"54587c99f765d612","entry":"update_qrels_relevance","repo":"ucasir/NPRF","repo_kind":"official","path":"preprocess/prepare.py","file_url":"https://github.com/ucasir/NPRF/blob/HEAD/preprocess/prepare.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":"54587c99f765d612"}},{"code_sha256_prefix":"d4fdda7951e2c107","entry":"update_res_relevance","repo":"ucasir/NPRF","repo_kind":"official","path":"preprocess/prepare.py","file_url":"https://github.com/ucasir/NPRF/blob/HEAD/preprocess/prepare.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":"d4fdda7951e2c107"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}