dpr.rst 5.13 KB
Newer Older
Sylvain Gugger's avatar
Sylvain Gugger committed
1
2
3
4
5
6
7
8
9
10
11
12
.. 
    Copyright 2020 The HuggingFace Team. All rights reserved.

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
    the License. You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
    an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
    specific language governing permissions and limitations under the License.

Quentin Lhoest's avatar
Quentin Lhoest committed
13
DPR
Sylvain Gugger's avatar
Sylvain Gugger committed
14
-----------------------------------------------------------------------------------------------------------------------
Quentin Lhoest's avatar
Quentin Lhoest committed
15
16

Overview
Sylvain Gugger's avatar
Sylvain Gugger committed
17
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
18

Sylvain Gugger's avatar
Sylvain Gugger committed
19
Dense Passage Retrieval (DPR) is a set of tools and models for state-of-the-art open-domain Q&A research. It was
Santiago Castro's avatar
Santiago Castro committed
20
introduced in `Dense Passage Retrieval for Open-Domain Question Answering <https://arxiv.org/abs/2004.04906>`__ by
Sylvain Gugger's avatar
Sylvain Gugger committed
21
Vladimir Karpukhin, Barlas O臒uz, Sewon Min, Patrick Lewis, Ledell Wu, Sergey Edunov, Danqi Chen, Wen-tau Yih.
Quentin Lhoest's avatar
Quentin Lhoest committed
22
23
24
25
26
27
28
29
30
31
32

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.*

33
34
This model was contributed by `lhoestq <https://huggingface.co/lhoestq>`__. The original code can be found `here
<https://github.com/facebookresearch/DPR>`__.
Quentin Lhoest's avatar
Quentin Lhoest committed
35
36
37


DPRConfig
Sylvain Gugger's avatar
Sylvain Gugger committed
38
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
39
40
41
42
43
44

.. autoclass:: transformers.DPRConfig
    :members:


DPRContextEncoderTokenizer
Sylvain Gugger's avatar
Sylvain Gugger committed
45
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
46
47
48
49
50
51

.. autoclass:: transformers.DPRContextEncoderTokenizer
    :members:


DPRContextEncoderTokenizerFast
Sylvain Gugger's avatar
Sylvain Gugger committed
52
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
53
54
55
56
57

.. autoclass:: transformers.DPRContextEncoderTokenizerFast
    :members:

DPRQuestionEncoderTokenizer
Sylvain Gugger's avatar
Sylvain Gugger committed
58
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
59
60
61
62
63
64

.. autoclass:: transformers.DPRQuestionEncoderTokenizer
    :members:


DPRQuestionEncoderTokenizerFast
Sylvain Gugger's avatar
Sylvain Gugger committed
65
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
66
67
68
69
70

.. autoclass:: transformers.DPRQuestionEncoderTokenizerFast
    :members:

DPRReaderTokenizer
Sylvain Gugger's avatar
Sylvain Gugger committed
71
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
72
73
74
75
76
77

.. autoclass:: transformers.DPRReaderTokenizer
    :members:


DPRReaderTokenizerFast
Sylvain Gugger's avatar
Sylvain Gugger committed
78
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
79
80
81
82
83

.. autoclass:: transformers.DPRReaderTokenizerFast
    :members:


84
DPR specific outputs
Sylvain Gugger's avatar
Sylvain Gugger committed
85
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86

Sylvain Gugger's avatar
Sylvain Gugger committed
87
.. autoclass:: transformers.models.dpr.modeling_dpr.DPRContextEncoderOutput
88
89
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
90
.. autoclass:: transformers.models.dpr.modeling_dpr.DPRQuestionEncoderOutput
91
92
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
93
.. autoclass:: transformers.models.dpr.modeling_dpr.DPRReaderOutput
94
95
96
    :members:


Quentin Lhoest's avatar
Quentin Lhoest committed
97
DPRContextEncoder
Sylvain Gugger's avatar
Sylvain Gugger committed
98
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
99
100

.. autoclass:: transformers.DPRContextEncoder
Sylvain Gugger's avatar
Sylvain Gugger committed
101
    :members: forward
Quentin Lhoest's avatar
Quentin Lhoest committed
102
103

DPRQuestionEncoder
Sylvain Gugger's avatar
Sylvain Gugger committed
104
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
105
106

.. autoclass:: transformers.DPRQuestionEncoder
Sylvain Gugger's avatar
Sylvain Gugger committed
107
    :members: forward
Quentin Lhoest's avatar
Quentin Lhoest committed
108
109
110


DPRReader
Sylvain Gugger's avatar
Sylvain Gugger committed
111
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
112
113

.. autoclass:: transformers.DPRReader
Sylvain Gugger's avatar
Sylvain Gugger committed
114
    :members: forward
Ratthachat (Jung)'s avatar
Ratthachat (Jung) committed
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133

TFDPRContextEncoder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.TFDPRContextEncoder
    :members: call

TFDPRQuestionEncoder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.TFDPRQuestionEncoder
    :members: call


TFDPRReader
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.TFDPRReader
    :members: call