Skip to content

Latest commit

History

History
128 lines (79 loc) 路 3.74 KB

dpr.md

File metadata and controls

128 lines (79 loc) 路 3.74 KB

DPR

Overview

Dense Passage Retrieval (DPR) is a set of tools and models for state-of-the-art open-domain Q&A research. It was introduced in Dense Passage Retrieval for Open-Domain Question Answering by Vladimir Karpukhin, Barlas O臒uz, Sewon Min, Patrick Lewis, Ledell Wu, Sergey Edunov, Danqi Chen, Wen-tau Yih.

The abstract from the paper is the following:

Open-domain question answering relies on efficient passage retrieval to select candidate contexts, where traditional sparse vector space models, such as TF-IDF or BM25, are the de facto method. In this work, we show that retrieval can be practically implemented using dense representations alone, where embeddings are learned from a small number of questions and passages by a simple dual-encoder framework. When evaluated on a wide range of open-domain QA datasets, our dense retriever outperforms a strong Lucene-BM25 system largely by 9%-19% absolute in terms of top-20 passage retrieval accuracy, and helps our end-to-end QA system establish new state-of-the-art on multiple open-domain QA benchmarks.

This model was contributed by lhoestq. The original code can be found here.

Usage tips

  • DPR consists in three models:

    • Question encoder: encode questions as vectors
    • Context encoder: encode contexts as vectors
    • Reader: extract the answer of the questions inside retrieved contexts, along with a relevance score (high if the inferred span actually answers the question).

DPRConfig

[[autodoc]] DPRConfig

DPRContextEncoderTokenizer

[[autodoc]] DPRContextEncoderTokenizer

DPRContextEncoderTokenizerFast

[[autodoc]] DPRContextEncoderTokenizerFast

DPRQuestionEncoderTokenizer

[[autodoc]] DPRQuestionEncoderTokenizer

DPRQuestionEncoderTokenizerFast

[[autodoc]] DPRQuestionEncoderTokenizerFast

DPRReaderTokenizer

[[autodoc]] DPRReaderTokenizer

DPRReaderTokenizerFast

[[autodoc]] DPRReaderTokenizerFast

DPR specific outputs

[[autodoc]] models.dpr.modeling_dpr.DPRContextEncoderOutput

[[autodoc]] models.dpr.modeling_dpr.DPRQuestionEncoderOutput

[[autodoc]] models.dpr.modeling_dpr.DPRReaderOutput

DPRContextEncoder

[[autodoc]] DPRContextEncoder - forward

DPRQuestionEncoder

[[autodoc]] DPRQuestionEncoder - forward

DPRReader

[[autodoc]] DPRReader - forward

TFDPRContextEncoder

[[autodoc]] TFDPRContextEncoder - call

TFDPRQuestionEncoder

[[autodoc]] TFDPRQuestionEncoder - call

TFDPRReader

[[autodoc]] TFDPRReader - call