Généralités sur la recherche d’information dans YouTaQA

Pour citer ce mémoire et accéder à toutes ses pages
🏫 University of Algiers 1 Benyoucef BENKHEDDA - Faculté des Sciences - Département de Mathématiques et Informatique
📅 Mémoire de fin de cycle en vue de l'obtention du diplôme de Master - 2020
🎓 Auteur·trice·s
M. AGABI Rayane Younes, Melle. TIDAFI Asma
M. AGABI Rayane Younes, Melle. TIDAFI Asma

La recherche d’information efficace est au cœur du système YouTaQA, qui utilise des techniques d’apprentissage profond pour extraire des réponses précises de la base de connaissances de Wikipédia. Ce mémoire détaille la conception et l’implémentation de ce système innovant de questions-réponses intelligent.


Chapitre 2 : Généralités

Recherche d’information

La recherche d’information est un processus qui consiste à récupérer des informations stockées dans de grands ensembles de données pour répondre aux besoins d’information des utilisateurs. Baeza et ses collègues [Baeza-Yates and Ribeiro-Neto, 2011] ont défini la recherche d’information comme suit :

Définition : La Recherche d’Information (RI) est la science qui traite la représentation, le stockage, l’organisation et de l’accès aux éléments d’information afin de satisfaire les besoins des utilisateurs concernant ces informations.

Bien que la caractérisation des besoins de l’utilisateur ne soit pas une tâche simple, les utilisateurs précisent généralement leurs exigences sous la forme de requêtes que le système de RI doit traiter pour déterminer et présenter les documents qui correspondent à leurs besoins. Google, Bing et Yahoo ! sont certainement les systèmes RI les plus connus.

Dans ces systèmes, les utilisateurs expriment leurs besoins sous forme de mots-clés, qui sont généralement considérés comme un résumé des besoins d’information de l’utilisateur. En réponse à une requête, le système de RI tente, en suivant un ensemble de processus, de récupérer des informations qui peuvent être pertinentes pour les utilisateurs.

Un système de RI est évalué en fonction de sa précision et de sa capacité à récupérer des informations et des documents de haute qualité, qui maximisent la satisfaction des utilisateurs, c’est-à-dire que plus les réponses correspondent aux attentes des utilisateurs, plus le système est performant.

D’un point de vue architectural, le processus de RI se compose principalement de deux sous-processus complémentaires suivants :

Un processus hors ligne illustré dans la partie droite de la Figure 2.1. La collection de documents est explorée et parcourue afin de retrouver tous les documents grâce aux liens potentiels qui relient ces documents entre eux. Pour chaque document récupéré, un traitement est appliqué consistant principalement à réduire son ensemble de mots à un ensemble de termes d’index.

Un processus en ligne illustré dans la partie gauche de la Figure 2.1 qui prend en charge la requête de l’utilisateur. La requête est envoyée généralement sous forme de mots clés et est réduite par le moteur de traitement des requêtes suivant la même stratégie que celle du traitement et l’indexation des documents.

L’ensemble des termes de la requête utilisateur qui en résulte est souvent affiné par la suppression de certains termes [Kumaran and Carvalho, 2009]. Ensuite, la requête est traitée pour obtenir un ensemble de documents en utilisant la structure d’index précédemment construite. Cette liste est composée de documents qui sont liés aux termes de la requête.

Après cela, les documents récupérés sont classés selon leur pertinence par rapport à la requête et par l’utilisateur, du plus pertinent au moins pertinent. Il s’agit de l’étape la plus critique car la qualité des résultats, telle que perçue par les utilisateurs, dépend fondamentalement du classement. Enfin, les documents les mieux classés sont ensuite formatés pour être présentés à l’utilisateur.

FIGURE 2.1: Processus de recherche d’information [Baeza-Yates and Ribeiro-Neto, 2011].

Les modèles RI

La modélisation en RI consiste à définir un modèle conceptuel pour la représentation des documents et des requêtes. De nombreux modèles de RI ont été proposés parmi lesquels : le modèle booléen, le modèle vectoriel spatial (VSM) et le modèle BM25. Ces modèles de RI sont bien décrits par la suite. Dans cette thèse, nous nous appuyons principalement sur le modèle BM25 pour son large usage et ses hautes performances [Baeza-Yates and Ribeiro-Neto, 2011].

Modèle vectoriel VSM (Pondération TF-IDF) : Nous avons choisi d’utiliser la mesure TF − IDF pour calculer ce poids et la similarité en cosinus pour calculer la similarité entre ces vecteurs. TF − IDF est égale à la multiplication des deux mesures T Ft,d.IDFt tel que T Ft,d ou la Fréquence du Terme représente le nombre d’occurrences d’un terme t dans le document d. Tandis que IDFt ou la Fréquence Inverse de Document mesure l’importance du terme t dans l’ensemble des documents D.

TF · IDF =>
T Ft,d = log(1 + ft,d)

Où :

  • t : Le terme t.
  • d : Le document d.
  • ft,d : Le nombre d’occurrences du terme t dans le document d.
  • ||D|| : Le nombre total de documents.
  • ||Dt|| : Le nombre de documents contenant le terme t.

sim(→q, d→ ) = →qd→j

Où :

  • q : La requête q.
  • d j : Le document j.

En notant que la similarité cosinus est particulièrement utilisée dans l’espace positif, où le résultat est clairement délimité dans [0, 1]. Ainsi, si deux vecteurs ont la même orientation et sont égaux, nous avons une similarité en cosinus de 1, mais si les deux vecteurs sont diamétralement opposés, nous avons une similarité de 0 [Baeza-Yates and Ribeiro-Neto, 2011].

BM-25 : BM25 est une fonction de recherche de mots qui peut classer un groupe de documents en fonction des termes de recherche qui apparaissent dans chaque document, quelle que soit leur proximité avec le document [Robertson and Zaragoza, 2009]. Le score BM-25 est calculé comme suit :

ScoreBM−25(d, Q) = IDFqi TFqi,d (k1 + 1)

Où :

  • Q : La requête Q.
  • ||Q|| : La taille de la requête Q.
  • qi : Le mot qi ∈ Q.
  • d : Le document d.
  • ||d|| : Le nombre total de mots du document d.
  • avgdl : La longueur moyenne des documents dans la collection considérée.
  • k1 et b : Des paramètres libres pouvant être optimisés selon les cas d’usage (ils sont généralement fixés à k1 ∈ [1.2, 2.0] et b = 0.75).

Les métriques d’évaluation

Cette section est en partie un résumé du chapitre 4 du livre Modern Information Retrieval [Baeza-Yates and Ribeiro-Neto, 2011]. Une définition correcte est donnée concernant l’évaluation des algorithmes et des systèmes de recherche d’information.

Définition : L’évaluation de la recherche est un processus qui consiste à associer systématiquement une mesure quantitative aux résultats produits par un système de IR en réponse à un ensemble de demandes de l’utilisateur. Cette mesure doit être directement associée à la pertinence des résultats pour l’utilisateur.

Une approche commune pour calculer une telle mesure consiste à comparer les résultats produits par le système avec les résultats suggérés par les humains pour ce même ensemble de requêtes. Notez que l’évaluation de l’extraction signifie ici l’évaluation de la qualité des résultats, et non des performances du système en termes de vitesse de traitement des requêtes.

De nombreuses mesures différentes ont été proposées pour évaluer la qualité de l’extraction des systèmes et des algorithmes de IR, c’est-à-dire la qualité des résultats. Ces mesures nécessitent un ensemble de documents et de requêtes. Toutes les mesures courantes décrites ici reposent sur une notion de pertinence : chaque document est connu pour être pertinent ou non pertinent par rapport à une requête particulière.

En pratique, les requêtes peuvent être mal posées et il peut y avoir différentes nuances de pertinence. Dans ce qui suit, nous définissons six métriques d’évaluation qui seront utilisées tout au long de cette thèse.

Matrice de confusion : Il s’agit d’une matrice décrivant les performances globales du modèle. Supposons que nous avons un problème de classification binaire. Nous avons quelques échantillons qui se répartissent en deux catégories : oui ou non.

Tableau 2.1: Matrice de confusion
Predicted NegativePredicted Positive
Actual NegativeTrue NegativeFalse Positive
Actual PositiveFalse NegativeTrue Positive

La matrice de confusion permet d’extraire et de lire quatre informations importantes qui sont :

  • TP : Nombre d’échantillons correctement prédit appartenant à la catégorie « Positive ».
  • FP : Nombre d’échantillons dans la catégorie « Positive » qui n’ont pas été correctement prédits.
  • TN : Nombre d’échantillons de la catégorie « Négative » correctement prédits.
  • FN : Nombre d’échantillons de la catégorie « Négative » qui n’ont pas été correctement prédits.

Précision et Rappel : La précision est la proportion d’instances pertinentes dans les instances récupérées, le rappel est la proportion du nombre total d’instances pertinentes qui sont réellement récupérées. Par conséquent, la précision et le rappel reposent sur la compréhension et la mesure de la pertinence [Ting, 2010].

En d’autres termes, la précision représente le pourcentage de documents prédits correctement par rapport au nombre de documents erronés retournés, le rappel quant à lui, donne le pourcentage des documents corrects qui sont donnés sans se préoccuper du nombre de documents erronés retournés.

Précision = TP / (TP + FP)

Rappel = TP / (TP + FN)

R-précision : La R-précision représente le nombre de documents qui sont pertinents pour une requête qi donnée [Craswell, 2009b]. En d’autres termes, s’il y a R documents pertinents parmi les documents les plus recherchés, alors la R-précision pour qi examine les r premiers documents renvoyés, compte le nombre de documents pertinents et transforme ce nombre en fraction de pertinence :

R precision = r / R

Mean Average Precision : MAP (Mean Average Precision) est une mesure populaire utilisée pour calculer la performance des modèles de recherche d’information. L’idée principale de cette métrique est de générer un résumé du classement en une seule valeur en faisant la moyenne des valeurs de précisions obtenues après l’observation de chaque nouveau document pertinent [Beitzel et al., 2009].

La précision moyenne APi pour la requête qi est définie comme suit :

AP = (1/Ri) Σ (P(k) · rel(k))

Où :

  • Ri : Le nombre total de documents pertinents pour la requête qi.
  • n : Nombre de documents retrouvés.
  • P(k) : La précision du document k.
  • rel(k) : Fonction d’indication de pertinence du document k ; 1 si le document k est pertinent, 0 sinon.

la MAP sur un ensemble de requêtes est alors définie comme suit :

MAP = (1/||Q||) Σ APi(qi)

Où :

  • ||Q|| : Le nombre total de requêtes.
  • qi : La requête i de l’ensemble de requêtes Q.

Mean Reciprocal Rank : Le Rang moyen de réciprocité (MRR ou Mean Reciprocal Rank en anglais) est une mesure permettant d’évaluer les systèmes qui renvoient une liste classée de réponses aux requêtes [Craswell, 2009a]. Cette métrique est calculée sur la base de la formule suivante :

MRR = (1/||Q||) Σ (1/ranki)

Où :

  • ranki : La position du premier document pertinent pour la requête i.
  • ||Q|| : Le nombre total de requêtes.

Afin de calculer les métriques décrites précédemment, plusieurs outils sont disponibles. Parmi eux, nous citons TREC Eval et que nous avons utilisé tout au long de cette thèse.

TREC Eval est un programme conçu comme une série d’ateliers dans le domaine de la recherche d’information. Il a débuté en 1992 dans le cadre du projet TIPSTER. Son but est d’encourager les travaux dans le domaine de la recherche d’information en fournissant l’infrastructure nécessaire à une évaluation objective à grande échelle des méthodologies de recherche textuelle [Teufel, 2007].

TREC Eval fournit une évaluation complète et exhaustive d’un moteur de recherche en offrant des dizaines de métriques qui permettent de juger un système RI.

TREC Eval : https://github.com/usnistgov/trec_eval

Outil de développement

Pour élaborer un système de recherche d’information, plusieurs bibliothèques sont disponibles dans plusieurs langages de développement (Apache Solr, Apache Lucene, Sphinx, Xapian, Whoosh, etc). Dans ce qui suit, nous allons présenter l’un des outils de développement les plus utilisés dans le monde de la recherche d’information qui est Apache Lucene.

Apache Lucene est une bibliothèque qui sert à développer des moteurs de recherche textuelle très performants et complets, entièrement écrite en Java. Elle est capable d’effectuer des recherches plein texte dans des documents, c’est donc une technologie qui convient à toute application nécessitant cette fonctionnalité, surtout si elle est multi-plateforme.

Apache fournit aussi une interface python de Lucene nommée PyLucene que nous allons utiliser durant cet œuvre.

Apache Lucene : https://lucene.apache.org/

Deep Learning en Traitement du Langage Naturel

L’apprentissage profond (DL ou Deep Learning en Anglais) est un sous-domaine de l’apprentissage machine qui concerne les algorithmes inspirés par la structure et le fonctionnement du cerveau appelés réseaux neuronaux artificiels.

Le traitement du langage naturel (NLP ou Natural language processing en anglais) est le processus de compréhension automatique du langage humain. Dans l’intelligence artificielle, le NLP permet aux machines et aux applications de comprendre le sens du langage humain, puis de générer des réponses appropriées pour former un flux de conversation naturel [Jain et al., 2018].

Il existe plusieurs techniques de traitement de langage naturel telles que les réseaux de neurones récurrents (RNN). Un RNN est un modèle d’apprentissage approfondi très populaire qui est utilisé pour effectuer un certain nombre de tâches de DL comme le traitement de langage naturel, le traitement d’images, etc [Sak et al., 2014].

Les RNN traitent les entrées d’une expression en langage naturel de manière séquentielle, c-à-dire les informations des jetons passent par tout le chemin pour se retrouver en fin de séquence. Mais d’un point de vue pratique, ce mécanisme reste imparfait et inefficient, dû au risque de Gradient vanishing and exploding problems ou perte d’informations lors de la mise à jour des poids du réseau, ce qui empêchera le poids de modifier sa valeur voire empêcher le réseau de poursuivre son entrainement et de perdre l’information pertinente [Hochreiter, 1998].

À ce stade, le mécanisme d’attention est apparu pour permettre d’examiner la phrase en tenant compte de tous les états précédents. Ces derniers sont ensuite pondérés en fonction d’une mesure apprise de la pertinence du jeton actuel, fournissant ainsi des informations plus précises sur les jetons pertinents lointains.

Le mécanisme d’attention

Dans le domaine de traitement du langage naturel, les éléments qui composent le texte source se caractérisent par le fait qu’ils ont chacun une pertinence différente par rapport à la tâche à accomplir. Par exemple, dans l’analyse des sentiments basée sur les aspects, les mots clés tels que « bon » ou « mauvais » peuvent être pertinents pour certains aspects à l’étude, mais pas pour d’autres.

Dans la traduction automatique, certains mots du texte source pourraient ne pas être pertinents pour la traduction du mot suivant [Vaswani et al., 2017]. Par exemple, la traduction anglais-français, le premier mot de la sortie française dépend probablement beaucoup du début de l’entrée anglaise. Cependant, afin de produire le premier mot de la sortie française, le modèle ne reçoit que le vecteur d’état du dernier mot anglais.

Théoriquement, ce vecteur peut coder des informations sur l’ensemble de la phrase à traduire, mais en pratique ces informations ne sont souvent pas bien préservées. Pour cela, il est important de prendre en compte la notion de pertinence, de manière à concentrer les ressources de calcul sur un ensemble restreint d’éléments importants.

Le mécanisme d’attention est une approche de plus en plus populaire qui consiste à apprendre par machine la pertinence des éléments d’entrée. De cette façon, les architectures neurales pourraient automatiquement évaluer la pertinence de n’importe quelle région de l’entrée, et considérer ce poids lors de l’exécution de la tâche principale [Bahdanau et al., 2015].

Lorsque ce mécanisme est ajouté aux RNN, le modèle peut apprendre à tenir en compte l’état des premiers mots anglais lorsqu’il produit le début de la phrase française et donc des gains de performance importants [Vaswani et al., 2017].

L’introduction du transformateur a mis en lumière le fait que les mécanismes d’attention étaient puissants en eux-mêmes, et que le traitement séquentiel récurrent des données n’était pas nécessaire pour obtenir les gains de performance des RNN avec attention.

Rechercher
Télécharger ce mémoire en ligne PDF (gratuit)

Si le bouton de téléchargement ne répond pas, vous pouvez télécharger ce mémoire en PDF à partir cette formule ici.

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top