En bref. L’article DPR entraîne des encodeurs distincts pour les questions et les passages et évalue la recherche de passages contenant une réponse ainsi que l’exactitude des réponses extraites.
Définition : Dense Passage Retrieval for Open-Domain Question Answering présente DPR, un module de recherche (retriever) qui encode séparément les questions et les passages de texte sous forme de vecteurs numériques. L’article évalue si les passages retrouvés contiennent des réponses et comment la recherche influe sur un module de lecture (reader) qui extrait une réponse de ces passages.
Points clés
- La notice de l’ACL Anthology donne Vladimir Karpukhin et ses collègues comme auteurs et date l’article EMNLP de novembre 2020.
- Le protocole expérimental de l’article utilise un instantané de Wikipédia en anglais du 20 décembre 2018, découpé en passages de 100 mots sans chevauchement.
- Au 17 octobre 2026, la documentation du dépôt DPR qui accompagne l’article fournit des procédures distinctes pour l’entraînement des encodeurs, la production des plongements (embeddings) des passages et la validation de la recherche.
Comment le double encodeur retrouve-t-il les passages ?
Un double encodeur (dual encoder) utilise des réseaux de neurones distincts pour transformer les questions et les passages en vecteurs, des listes ordonnées de valeurs numériques. Dans l’architecture de l’article, les deux réseaux reposent initialement sur BERT, un modèle de langue préentraîné. Chacun produit un vecteur à 768 dimensions à partir de la représentation du jeton spécial [CLS].
La règle de calcul du score ci-dessous exprime l’équation de l’article en texte brut. E_Q encode une question, E_P encode un passage, et le produit scalaire multiplie les composantes correspondantes des vecteurs puis additionne les produits.
sim(q, p) = dot(E_Q(q), E_P(p))
Les vecteurs des passages sont calculés avant qu’une question soit posée et indexés avec FAISS, une bibliothèque de recherche par similarité vectorielle. Au moment de la requête, DPR encode la question et retrouve les passages dont le score de produit scalaire est élevé. Un module de lecture distinct examine ensuite les passages candidats pour en extraire un segment de texte qui constitue la réponse.
Comment les encodeurs sont-ils entraînés ?
Un passage positif apporte des éléments pertinents pour une question d’entraînement. Les passages négatifs fournissent des exemples concurrents. La section sur l’entraînement optimise la probabilité du passage positif par rapport aux passages négatifs au moyen d’une fonction de perte de log-vraisemblance négative.
Les passages négatifs du même lot (in-batch negatives) réutilisent les passages associés à d’autres questions du même lot d’entraînement. La configuration retenue dans l’article les combine avec un passage négatif supplémentaire par question, retrouvé par BM25, une méthode de classement fondée sur les termes. Ce passage supplémentaire correspond aux termes de la question sans contenir la réponse.
Le format des données d’entraînement du dépôt concrétise cette distinction : positive_ctxs, negative_ctxs et hard_negative_ctxs contiennent des ensembles de passages, aux côtés de question et answers. Les passages positifs comprennent les champs title et text ; les ensembles de passages négatifs utilisent la même structure.
Que mesure l’évaluation ?
Le taux de réussite de la recherche parmi les k premiers résultats (top-k retrieval accuracy) est la proportion de questions pour lesquelles au moins un des k passages les mieux classés contient une réponse. Dans les résultats de test de l’article, le modèle entraîné séparément sur Natural Questions atteint un taux de réussite de 78,4 % parmi les 20 premiers résultats, contre 59,1 % pour BM25. Sur SQuAD, les scores correspondants sont de 63,2 % pour DPR et de 68,8 % pour BM25. La comparaison dépend donc du jeu de données.
Le code de validation qui accompagne l’article repère, pour chaque question, le premier passage contenant une réponse et comptabilise une réussite à ce rang ainsi qu’à tous les seuils de rang supérieurs. Son option de correspondance de chaînes compare des séquences de jetons sans tenir compte de la casse ; une autre option accepte les expressions régulières.
L’extraction des réponses fait l’objet d’une évaluation distincte. Le même code calcule la correspondance exacte (exact match) en normalisant les réponses prédites et les réponses de référence, notamment par le passage en minuscules et la suppression de la ponctuation et des articles anglais. Le taux de réussite de la recherche et la correspondance exacte des réponses décrivent des étapes différentes du système.
Termes associés
Questions fréquentes
Pouvez-vous reproduire les résultats de l’article avec n’importe quel point de contrôle DPR ?
Le README du dépôt distingue le modèle d’origine d’une version de mars 2021 entraînée avec des passages négatifs supplémentaires sélectionnés à l’aide de DPR lui-même. La comparaison des résultats exige d’identifier le point de contrôle (checkpoint), les données d’entraînement et la partition d’évaluation.
L’article mesure-t-il les citations de sites web d’entreprises ?
Les expériences de l’article évaluent la recherche de passages et la réponse aux questions par extraction à partir d’un corpus fixe de Wikipédia. La fréquence de citation des sites web d’entreprises se situe hors du périmètre de cette évaluation.
Sources
- ACL Anthology, « Dense Passage Retrieval for Open-Domain Question Answering », novembre 2020
- Association for Computational Linguistics, « Dense Passage Retrieval for Open-Domain Question Answering », novembre 2020
- Facebook Research, « Dense Passage Retrieval: README », sans date
- Facebook Research, « DPR answer validation utilities », sans date
Vérifiez comment une page se lit pour les moteurs de réponse. Ouvrir l’analyseur de score GEO