{"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/re3val-reinforced-and-reranked-generative","title":"Re3val: Reinforced and Reranked Generative Retrieval","arxiv_id":"2401.16979","date":"2024-01-30","proceeding":null,"authors":["EuiYul Song","Sangryul Kim","Haeju Lee","Joonkee Kim","James Thorne"],"abstract":"Generative retrieval models encode pointers to information in a corpus as an index within the model's parameters. These models serve as part of a larger pipeline, where retrieved information conditions generation for knowledge-intensive NLP tasks. However, we identify two limitations: the generative retrieval does not account for contextual information. Secondly, the retrieval can't be tuned for the downstream readers as decoding the page title is a non-differentiable operation. This paper introduces Re3val, trained with generative reranking and reinforcement learning using limited data. Re3val leverages context acquired via Dense Passage Retrieval to rerank the retrieved page titles and utilizes REINFORCE to maximize rewards generated by constrained decoding. Additionally, we generate questions from our pre-training dataset to mitigate epistemic uncertainty and bridge the domain gap between the pre-training and fine-tuning datasets. Subsequently, we extract and rerank contexts from the KILT database using the rerank page titles. Upon grounding the top five reranked contexts, Re3val demonstrates the Top 1 KILT scores compared to all other generative retrieval models across five KILT datasets.","url_abs":"https://arxiv.org/abs/2401.16979v3","url_pdf":"https://arxiv.org/pdf/2401.16979v3.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":[],"tasks":[{"task_slug":"passage-retrieval","task_name":"Passage Retrieval"},{"task_slug":"reranking","task_name":"Reranking"},{"task_slug":"retrieval","task_name":"Retrieval"}],"methods":[{"method_slug":"reinforce","method_name":"REINFORCE"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2401.16979","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2401.16979"}},"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":"deterministic:regex_extraction","url":"https://github.com/facebookresearch/DPR","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/facebookresearch/FiD","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_fixture":2,"ran":6,"unverified":5},"by_repo_kind":{"found_in_text":{"samples":13,"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":13,"samples":[{"code_sha256_prefix":"bc7a7a194c238080","entry":"add_embeddings","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"passage_retrieval.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/passage_retrieval.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bc7a7a194c238080"}},{"code_sha256_prefix":"6bef6bdd6eb44070","entry":"cross_attention_forward","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/model.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/model.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6bef6bdd6eb44070"}},{"code_sha256_prefix":"bc0dae797248182b","entry":"encode_passages","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/data.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/data.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bc0dae797248182b"}},{"code_sha256_prefix":"e3a0e6ac26d46ae2","entry":"get_checkpoint_path","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/util.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e3a0e6ac26d46ae2"}},{"code_sha256_prefix":"1700ba94a8342336","entry":"init_logger","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/util.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/util.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1700ba94a8342336"}},{"code_sha256_prefix":"148af9b729d03eba","entry":"load_data","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/data.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"148af9b729d03eba"}},{"code_sha256_prefix":"e2f8b9900fd662b1","entry":"select_examples_NQ","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/preprocess.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/preprocess.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e2f8b9900fd662b1"}},{"code_sha256_prefix":"e544cd4b39e5ec61","entry":"select_examples_TQA","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/preprocess.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/preprocess.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e544cd4b39e5ec61"}},{"code_sha256_prefix":"7a4988952dd3a127","entry":"calculate_matches","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/evaluation.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/evaluation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7a4988952dd3a127"}},{"code_sha256_prefix":"637b51b8df78832a","entry":"check_answer","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/evaluation.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/evaluation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"637b51b8df78832a"}},{"code_sha256_prefix":"c97f421638696408","entry":"get_options","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/options.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/options.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c97f421638696408"}},{"code_sha256_prefix":"fa4ecbff4b9a354b","entry":"has_answer","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/evaluation.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/evaluation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fa4ecbff4b9a354b"}},{"code_sha256_prefix":"a16b92bf7d32bad5","entry":"load","repo":"facebookresearch/FiD","repo_kind":"found_in_text","path":"src/util.py","file_url":"https://github.com/facebookresearch/FiD/blob/HEAD/src/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a16b92bf7d32bad5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}