dpr.rst 5.06 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.*

Sylvain Gugger's avatar
Sylvain Gugger committed
33
The original code can be found `here <https://github.com/facebookresearch/DPR>`__.
Quentin Lhoest's avatar
Quentin Lhoest committed
34
35
36


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

.. autoclass:: transformers.DPRConfig
    :members:


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

.. autoclass:: transformers.DPRContextEncoderTokenizer
    :members:


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

.. autoclass:: transformers.DPRContextEncoderTokenizerFast
    :members:

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

.. autoclass:: transformers.DPRQuestionEncoderTokenizer
    :members:


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

.. autoclass:: transformers.DPRQuestionEncoderTokenizerFast
    :members:

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

.. autoclass:: transformers.DPRReaderTokenizer
    :members:


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

.. autoclass:: transformers.DPRReaderTokenizerFast
    :members:


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

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

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

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


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

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

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

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


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

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

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

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

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

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


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

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