{"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/learning-to-retrieve-reasoning-paths-over-1","title":"Learning to Retrieve Reasoning Paths over Wikipedia Graph for Question Answering","arxiv_id":"1911.10470","date":"2019-11-24","proceeding":"ICLR 2020 1","authors":["Akari Asai","Kazuma Hashimoto","Hannaneh Hajishirzi","Richard Socher","Caiming Xiong"],"abstract":"Answering questions that require multi-hop reasoning at web-scale necessitates retrieving multiple evidence documents, one of which often has little lexical or semantic relationship to the question. This paper introduces a new graph-based recurrent retrieval approach that learns to retrieve reasoning paths over the Wikipedia graph to answer multi-hop open-domain questions. Our retriever model trains a recurrent neural network that learns to sequentially retrieve evidence paragraphs in the reasoning path by conditioning on the previously retrieved documents. Our reader model ranks the reasoning paths and extracts the answer span included in the best reasoning path. Experimental results show state-of-the-art results in three open-domain QA datasets, showcasing the effectiveness and robustness of our method. Notably, our method achieves significant improvement in HotpotQA, outperforming the previous best model by more than 14 points.","url_abs":"https://arxiv.org/abs/1911.10470v2","url_pdf":"https://arxiv.org/pdf/1911.10470v2.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":"learning-to-retrieve-reasoning-paths-over-1","repo_url":"https://github.com/AkariAsai/learning_to_retrieve_reasoning_paths","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"learning-to-retrieve-reasoning-paths-over-1","repo_url":"https://github.com/AkariAsai/XORQA","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"retrieval","task_name":"Retrieval"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/question-answering-on-hotpotqa","task":"Question Answering","dataset":"HotpotQA","model":"Robustly Fine-tuned Graph-based Recurrent Retriever","rank_in_archive_order":26,"of":72,"metrics":{"ANS-EM":"0.600","ANS-F1":"0.730","JOINT-EM":"0.354","JOINT-F1":"0.612","SUP-EM":"0.491","SUP-F1":"0.764"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1911.10470","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.10470"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AkariAsai/XORQA","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AkariAsai/learning_to_retrieve_reasoning_paths","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":1,"ran_honours":1,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"official":{"samples":6,"ran":3,"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":"f6c275d6a18330a9","entry":"exact_match_score","repo":"AkariAsai/learning_to_retrieve_reasoning_paths","repo_kind":"official","path":"eval_utils.py","file_url":"https://github.com/AkariAsai/learning_to_retrieve_reasoning_paths/blob/HEAD/eval_utils.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f6c275d6a18330a9"}},{"code_sha256_prefix":"2112c433b9c6d343","entry":"f1_score","repo":"AkariAsai/learning_to_retrieve_reasoning_paths","repo_kind":"official","path":"eval_utils.py","file_url":"https://github.com/AkariAsai/learning_to_retrieve_reasoning_paths/blob/HEAD/eval_utils.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2112c433b9c6d343"}},{"code_sha256_prefix":"c6a80c065d2e4851","entry":"normalize_answer","repo":"AkariAsai/learning_to_retrieve_reasoning_paths","repo_kind":"official","path":"eval_utils.py","file_url":"https://github.com/AkariAsai/learning_to_retrieve_reasoning_paths/blob/HEAD/eval_utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c6a80c065d2e4851"}},{"code_sha256_prefix":"f453c4aa1b64e2a3","entry":"convert_examples_to_features","repo":"AkariAsai/learning_to_retrieve_reasoning_paths","repo_kind":"official","path":"graph_retriever/utils.py","file_url":"https://github.com/AkariAsai/learning_to_retrieve_reasoning_paths/blob/HEAD/graph_retriever/utils.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":"f453c4aa1b64e2a3"}},{"code_sha256_prefix":"f87be0a04283d6ef","entry":"tokenize_paragraph","repo":"AkariAsai/learning_to_retrieve_reasoning_paths","repo_kind":"official","path":"graph_retriever/utils.py","file_url":"https://github.com/AkariAsai/learning_to_retrieve_reasoning_paths/blob/HEAD/graph_retriever/utils.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":"f87be0a04283d6ef"}},{"code_sha256_prefix":"2a05ff89a4f3f439","entry":"tokenize_question","repo":"AkariAsai/learning_to_retrieve_reasoning_paths","repo_kind":"official","path":"graph_retriever/utils.py","file_url":"https://github.com/AkariAsai/learning_to_retrieve_reasoning_paths/blob/HEAD/graph_retriever/utils.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":"2a05ff89a4f3f439"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}