{"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/precise-zero-shot-dense-retrieval-without","title":"Precise Zero-Shot Dense Retrieval without Relevance Labels","arxiv_id":"2212.10496","date":"2022-12-20","proceeding":null,"authors":["Luyu Gao","Xueguang Ma","Jimmy Lin","Jamie Callan"],"abstract":"While dense retrieval has been shown effective and efficient across tasks and languages, it remains difficult to create effective fully zero-shot dense retrieval systems when no relevance label is available. In this paper, we recognize the difficulty of zero-shot learning and encoding relevance. Instead, we propose to pivot through Hypothetical Document Embeddings~(HyDE). Given a query, HyDE first zero-shot instructs an instruction-following language model (e.g. InstructGPT) to generate a hypothetical document. The document captures relevance patterns but is unreal and may contain false details. Then, an unsupervised contrastively learned encoder~(e.g. Contriever) encodes the document into an embedding vector. This vector identifies a neighborhood in the corpus embedding space, where similar real documents are retrieved based on vector similarity. This second step ground the generated document to the actual corpus, with the encoder's dense bottleneck filtering out the incorrect details. Our experiments show that HyDE significantly outperforms the state-of-the-art unsupervised dense retriever Contriever and shows strong performance comparable to fine-tuned retrievers, across various tasks (e.g. web search, QA, fact verification) and languages~(e.g. sw, ko, ja).","url_abs":"https://arxiv.org/abs/2212.10496v1","url_pdf":"https://arxiv.org/pdf/2212.10496v1.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":"precise-zero-shot-dense-retrieval-without","repo_url":"https://github.com/texttron/hyde","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"precise-zero-shot-dense-retrieval-without","repo_url":"https://github.com/kylrth/procedure-generation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"precise-zero-shot-dense-retrieval-without","repo_url":"https://github.com/snexus/llm-search","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"fact-verification","task_name":"Fact Verification"},{"task_slug":"instruction-following","task_name":"Instruction Following"},{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"zero-shot-learning","task_name":"Zero-Shot Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2212.10496","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2212.10496"}},"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/texttron/hyde","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kylrth/procedure-generation","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/snexus/llm-search","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":5},"by_repo_kind":{"listed":{"samples":6,"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":"ec7977b6ec96dce1","entry":"chunker","repo":"snexus/llm-search","repo_kind":"listed","path":"src/llmsearch/chroma.py","file_url":"https://github.com/snexus/llm-search/blob/HEAD/src/llmsearch/chroma.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ec7977b6ec96dce1"}},{"code_sha256_prefix":"48e7ff42c7ce96b7","entry":"get_hyde_chain","repo":"snexus/llm-search","repo_kind":"listed","path":"src/llmsearch/utils.py","file_url":"https://github.com/snexus/llm-search/blob/HEAD/src/llmsearch/utils.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":"48e7ff42c7ce96b7"}},{"code_sha256_prefix":"b635b7084e0c8258","entry":"get_local_session","repo":"snexus/llm-search","repo_kind":"listed","path":"src/llmsearch/database/config.py","file_url":"https://github.com/snexus/llm-search/blob/HEAD/src/llmsearch/database/config.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":"b635b7084e0c8258"}},{"code_sha256_prefix":"cfd064d592f53275","entry":"get_multiquery_chain","repo":"snexus/llm-search","repo_kind":"listed","path":"src/llmsearch/utils.py","file_url":"https://github.com/snexus/llm-search/blob/HEAD/src/llmsearch/utils.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":"cfd064d592f53275"}},{"code_sha256_prefix":"f446ea3bd6d6135d","entry":"load_document_labels","repo":"snexus/llm-search","repo_kind":"listed","path":"src/llmsearch/embeddings.py","file_url":"https://github.com/snexus/llm-search/blob/HEAD/src/llmsearch/embeddings.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":"f446ea3bd6d6135d"}},{"code_sha256_prefix":"cb568e26896d5126","entry":"load_yaml_file","repo":"snexus/llm-search","repo_kind":"listed","path":"src/llmsearch/config.py","file_url":"https://github.com/snexus/llm-search/blob/HEAD/src/llmsearch/config.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":"cb568e26896d5126"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}