dpr.rst 5.33 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

.. autoclass:: transformers.DPRConfig
    :members:


44
45
46
47
48
49
50
DPRPreTrainedModel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.DPRPreTrainedModel
    :members:


Quentin Lhoest's avatar
Quentin Lhoest committed
51
DPRContextEncoderTokenizer
Sylvain Gugger's avatar
Sylvain Gugger committed
52
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
53
54
55
56
57
58

.. autoclass:: transformers.DPRContextEncoderTokenizer
    :members:


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

.. autoclass:: transformers.DPRContextEncoderTokenizerFast
    :members:

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

.. autoclass:: transformers.DPRQuestionEncoderTokenizer
    :members:


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

.. autoclass:: transformers.DPRQuestionEncoderTokenizerFast
    :members:

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

.. autoclass:: transformers.DPRReaderTokenizer
    :members:


DPRReaderTokenizerFast
Sylvain Gugger's avatar
Sylvain Gugger committed
85
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
86
87
88
89
90

.. autoclass:: transformers.DPRReaderTokenizerFast
    :members:


91
DPR specific outputs
Sylvain Gugger's avatar
Sylvain Gugger committed
92
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93

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

Sylvain Gugger's avatar
Sylvain Gugger committed
97
.. autoclass:: transformers.models.dpr.modeling_dpr.DPRQuestionEncoderOutput
98
99
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
100
.. autoclass:: transformers.models.dpr.modeling_dpr.DPRReaderOutput
101
102
103
    :members:


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

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

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

.. autoclass:: transformers.DPRQuestionEncoder
Sylvain Gugger's avatar
Sylvain Gugger committed
114
    :members: forward
Quentin Lhoest's avatar
Quentin Lhoest committed
115
116
117


DPRReader
Sylvain Gugger's avatar
Sylvain Gugger committed
118
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quentin Lhoest's avatar
Quentin Lhoest committed
119
120

.. autoclass:: transformers.DPRReader
Sylvain Gugger's avatar
Sylvain Gugger committed
121
    :members: forward
Ratthachat (Jung)'s avatar
Ratthachat (Jung) committed
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140

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

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

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

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


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

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