Plongements lexicaux et réseaux de neurones
EARIA, Lyon, France

Benjamin Piwowarski benjamin@piwowarski.fr
CNRSLIP6UPMC
$\def \Exp{\mathbb{E}} \def \tr{\mathop{\mathrm{tr}}} \def \Var{V} \def \Obs{\mathcal{O}} \def \RR{\mathbb{R}} \def \Ind#1{\mathbf{1}[#1]} \def \veca{\mathbf{a}} \def \vecx{\mathbf{x}} \def \vecy{\mathbf{y}} \def \matA{\mathbf{A}} \def \matB{\mathbf{B}} \def \matX{\mathbf{X}} \def \matY{\mathbf{Y}} \def \mat{\mathbf{#1}} \def \RV#1{\mathbf{#1}} \def \RVX{\mathbf{X}} \def \RVY{\mathbf{X}} \def \v#1#2{\mathbf{#1}_{\mathrm{#2}}}$

Introduction

Accès à l'information et réseaux de neurones

  • Les modèles de RI classique
    • limités en expressivité
    • échouent sur des besoins d'information complexes
  • Modèles neuronaux - des succès:
    • reconnaissance de la parole
    • détection d'objets
  • Modèles neuronaux - des progrès en NLP:
    • segmentation de texte
    • question-réponse
    • traduction
  • Intérêt : plus de "souplesse" dans la modélisation

Plan du cours

  • Représentation continue des mots
  • Réseaux de neurones en RI
    • Modification de modèles existants
    • Modèles de représentation
    • Modèles d'interaction
  • Comment apprendre ?

Représentation

Données textuelles

Particularités

  • Structure
  • Pas de distance naturelle
  • De nombreuses variations (style, langue, ...) pour une même sémantique

Représentation

Logique
"One-hot", "sac de mots", etc.
  • Index facile
  • Pas de notion de proximité
  • précision 1, rappel 0
Distribuée ou continue
Chaque entité est plongée dans $\mathbb{R}^n$
  • Index : difficile
  • Notion de proximité
  • rappel 1, précision 0

Selon l'application, on peut utiliser l'un ou l'autre – ou les deux !

Limites des modèles basés sur le mot

Comment comparer chien et chat ?
  • Morphologie ? mais: félin
  • Son ? mais: Chas
# mots unique / taille du texte
Nombre d'occurrences

Solution : espaces sémantiques

Une solution
Exploiter les régularités
Représentation dans un espace vectoriel $\RR^n$
Suite de mots
Il est allé...
  • chez le dentiste
  • à l'école
  • sur la lune
  • ...
Dans la pratique, plus simple = co-occurrences de mots

Solution : Graphe des co-occurrences

Solution : Proximité dans l'espace = co-occurrence

Continuous Bag-of-Word (C-BOW)
$$ p(\mbox{word }w\mbox{ occurs in context } c | x_w, x_c) \propto \sigma ( x_w \cdot x_c ) $$
Mikolov, T. et al.
2013. Distributed Representations of Words and Phrases and Their Compositionality.

Apprendre en maximisant la vraissemblance sur des couples $(w,c)$ implique $$ x_w \cdot x_c = \frac{p(w, c)}{p(w)p(c)} - \log k$$

Levy, O. and Goldberg, Y.
2014. Neural Word Embedding as Implicit Matrix Factorization.
GLObal VEctors for word representation (Glove)
On estime le logarithme de la fréquence de co-occurrence $$ x_i \cdot x_j + b_i + b_j \approx \log X_{ij} $$
Pennington, J. et al.
2014. Glove: Global Vectors for Word Representation.

Solution : espaces vectoriels

Représentation
$$\mathrm{chat} = (\underbrace{-0.15, -0.02, -0.23, -0.23, -0.18, \ldots}_{n\ \mathrm{nombres}})$$
$$\mathrm{chien} = (\underbrace{-0.40, 0.37, 0.02, -0.34, 0.05, \ldots }_{n\ \mathrm{nombres}})$$
$$\mathrm{ordinateur} = (\underbrace{-0.27, -0.14, 0.23, -0.26, 0.09, \ldots}_{n\ \mathrm{nombres}})$$
Similarité
$$s(\mathrm{chat},\mathrm{chien}) = (-0.15\times -0.40) + (-0.02\times 0.37) + (-0.23\times -0.02) + \cdots = 0.8$$
$$s(\mathrm{chat},\mathrm{ordinateur}) = (-0.15*-0.27) + (-0.02\times -0.14) + (-0.23\times 0.23) + \cdots = 0.25$$

Espaces de représentation: similarités

Projection en 2D des représentations apprises

Espaces de représentation: relations

Transformation = Relation
Une transformation géométrique correspond à une relation sémantique
Exemple
$$\v{x}{man} = \v{x}{woman} + \v{t}{womanhood}$$
$$\v{x}{uncle} = \v{x}{aunt} + \v{t}{womanhood}$$
$$\ldots$$

Unités de langue

Mot
Le plus naturel ?
Grand vocabulaire
Mot inconnus
Caractère
Pas de mots inconnus (OOV)
Petit vocabulaire
Moins sémantique / naturel
Sous-unités (algorithme non supervisé)
Intermédiaire entre mot et caractère / entraîné de manière non-supervisée
Les termites, architectes bioclimatiques.
[ ▁les] [▁ter] [m] [ites] [,] [▁archite] [ctes] [▁bi] [oc] [li] [matiques]

Connexion avec les réseaux de neurones

Géométrie
  • Les mots sont liés dans l'espace : produit scalaire fort = proximité sémantique
  • Les réseaux neurones permettent de détecter des motifs
Produit scalaire de phrases
Obtenu en concatenanant les vecteurs, e.g.
$$x_1 \propto x_\mathrm{the} \oplus x_\mathrm{big} \oplus x_\mathrm{cat}$$
Chaque vecteur peut-être vu comme le vecteur de paramètres d'un neurone

L'apprentissage de représentation

Ce n'est pas nouveau !
De nombreux modèles existent
Document (~1990)
Latent Semantic Indexing/Analysis (LSI ou LSA), Latent Dirichlet Allocation (LDA)
Prédiction du contexte (~2015)
Word2vec, Glove, ...
Incorporation du contexte (~2020)
ELMO, BERT

Utilisation en RI

  • Clustering & Classification
  • Recherche documentaire
  • Question-réponse

Problématiques

Problématiques: Annotation du texte

Le but est de classifier chaque mot du texte
mot 1mot 2mot 3mot 4...
cl. 1cl. 2cl. 3cl. 4...
Applications
  • Segmentation
  • Détection d'entités nomméees
  • Annotation sémantique

Problématiques: Annotation du texte

Extraction d'information

On classifie chaque mot dans la classe B (begin) | E (end) | I (intermediate) - Type

SophieestalléeboulevardJeanJaurès
EB-NomNANAB-LieuI-LieuE-Lieu

Résultat

  • Nom: Sophie
  • Lieu: boulevard Jean-Jaurès

Problématiques: Classification d'un texte

Le but est de classifier un texte
mot 1mot 2mot 3mot 4...
classe
Applications
  • Classification de textes
  • Extraction d'information
  • Détection de sentiments

Problématiques: Générer du texte

Le but est de "décoder un texte"
Principe
Un état $s_t$ définit une probabilité sur les mots $p(w|s_t)$
On sait passer d'un état à un autre, i.e. $s_{t+1}=f_\theta(s_t)$
Applications
  • Traduction automatique
  • Annotation d'images
  • Data-to-text

Problématiques: Similarité de textes

Le but est de classifier une paire de textes $$s(t_1, t_2)$$
Applications
Recherche d'information (question / document ou question / réponse), inférence textuelle (implication)
Problématiques associées
efficacité (index, pré-sélection)

On peut distinguer trois grandes classes d'approches

  1. Modification de modèles classiques
  2. Modèle neuronaux
    • représentation vs d'interaction
    • symétrique vs asymétrique

Utilisation des espaces continus

Learning to reweight query terms

Dans le BIM (Binary Independance Model), on a

$$ Score(q,d) = \sum_{t \in q\cap d} \log\left( {\color{red}{\frac{p(t|R, q)}{1-p(t|R,q)}}} \times \frac{p(t|\neg R, q)}{1-p(t|\neg R,q)} \right) \times w(t,d) $$

But: estimer $p(t|R, q)$

  • Utilise la représentation $x_t$ de chaque terme
  • Moyenne $\bar x = \frac{1}{|q|} \sum_{t\in q} x_t$
  • Entrée = déviation par rapport à la moyenne = $x_t - \bar x$
  • Sortie désirée : $p(t|R,q)$
  • Coût quadratique
Zheng, G. and Callan, J.
2015. Learning to Reweight Terms with Distributed Representations.

Modèle de traduction

Basé sur un modèle de langue $$ s(q,d) = \log p(q | L_d) \stackrel{u}{=} \sum_{q_i} \log p_u(q_i | d) $$ où $p_u(w|d)$ est un modèle unigramme
Modèle de traduction
Permet de régler le problème de mots sémantiquement proches
$$ p_t(w|d) = \sum_{v \in d} p_t(w|v) p_u(v|d) $$

Idée du papier = $$p_u(v|d) \propto \cos(v, w) $$

Zuccon, G. et al.
2015. Integrating and Evaluating Neural Word Embeddings in Information Retrieval.

PV-DBOW: Introduction

Le, Q. and Mikolov, T.
2014. Distributed Representations of Sentences and Documents.

PV-DBOW

Point de départ: modèle de langue

$$ p(w|d) = (1-\lambda) p_{QL}(w|d) + \color{red}{\lambda p_{PV}(w|d)} $$

Une adaptation du modèle C-BOW (Word2Vec)

  • Échantillonage spécifique
  • Prise en compte de la longueur
  • Prise en compte du document
Ai, Q. et al.
2016. Improving Language Estimation with the Paragraph Vector Model for Ad-Hoc Retrieval.

Plongements de documents

Plongements de textes

Espace sémantique
Tout texte $t$ est représenté par $f_\theta(t) \in \mathbb{R}^n$
  • Modèle symétrique $s(t_1, t_2) = g(f_\theta(t_1), f_\theta(t_2))$
  • Modèle asymétrique $s(t_1, t_2) = g(f^{(l)}_\theta(t_1), f^{(r)}_\theta(t_2))$
Problème
  • Le texte est une séquence (de mots, de caractères)
  • Les réseaux de neurones traitent des entrées de taille fixe
  • Comment faire ???
  • On exploite la séquentialité = récurrence
  • On exploite l'invariance temporelle = convolution

Réseaux récurrents

(Colah's blog)
  • À chaque pas de temps, on met à jour $s_t$
  • L'état final représente la séquence
Attention
  • Perte d'information sur des séquences longues (> phrase)
  • Problème d'apprentissage (vanishing/exploding gradient)

Réseaux récurrents: Gated Units

Utilisation d'unités avec des "portes"

Porte "probabiliste" $g(x) = \sigma (W x)$
Portes
  • Oubli (forget gate) $c^\prime_t = g_f(x_t, h_{t-1}) \otimes c_{t-1} $
  • Mise à jour (update gate) $c_t = c^\prime_t + g_u(x_t,h_{t-1}) \otimes f_u(x_t,h_{t-1})$
  • Sortie (output gate) $h_t = g_o(x_t, h_{t-1}) \otimes \tanh(c_t)$

LSTM-RNN

  • Entraînement : clics utilisateur
  • Mieux que BM25 (NDCG@10 de .30 à .34)
Palangi, H. et al.
Deep Sentence Embedding Using Long Short-Term Memory Networks: Analysis and Application to Information Retrieval.

Textes courts: Tweet2Vec

  • CNN (caractères) + LSTM
  • Entrainement: auto-encodage sur 3 million de tweets (SemEval 2015-Task 1)
  • Analyse de sentiments et similarité sémantique

Vosoughi, S., Vijayaraghavan, P., & Roy, D. Tweet2Vec: Learning Tweet Embeddings Using Character-level CNN-LSTM Encoder-Decoder. SIGIR 2016

Masques : Convolution et pooling

Idée : Composition de représentations de plus en plus abstraites
  • Texte : caractère → mot → clause → phrase → histoire
  • Image : pixel → bords → motif → partie → objet

À chaque fois : invariance (1D, 2D) :
Opération répétée sur une sous partie de l'entrée

Convolution: détecter 01 avec 1 couche

Convolution: détecter 0101 avec 2 couches

Textes courts : RI Adhoc

(suite)

  • Entrainé sur 12.071 questions (non public)
  • Document = titre
  • Visualisation :

Shen, Y., He, X., Gao, J., Deng, L., & Mesnil, G. A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval. CIKM 2014.

SNRM: Représentation parcimonieuse

Zamani, H. et al.
2018. From Neural Re-Ranking to Neural Ranking: Learning a Sparse Representation for Inverted Indexing.
Principales idées
  1. Grand espace de représentation (= index) ~ 5-20k
  2. Utilisation d'une régularisation parcimonieuse $$L = \Delta(q, d^+, {d^-}) + \color{red}{\| q \|_1 + \| {d^-} \|_1 + \| {d^+} \|_1}$$

Attention et interaction

Mécanisme d'attention et de mémoire

Représentation $\RR^n$
Perte d'information ("Mélenchon" similaire à "Macron" dans l'espace sémantique)
classification, sentiment recherche d'information
Inspiration : mécanisme d'attention

But : améliorer la capacité des réseaux de neurones à traiter des tâches complexes. Appliqué dans les tâches de question-réponse (entre autres)

Attention
Permet de se focaliser l'attention sur certaines parties des entrées
Mémoire
Permet de lire et d'écrire dans une mémoire
Graves, A. et al.
2014. Neural Turing Machines.
Bordes, A. et al.
2015. Large-Scale Simple Question Answering with Memory Networks.

Attention

$k$ = clef d'interrogation, $x_i$ une mémoire
$$ \hat x = \sum_{i=1}^n p(i | x_1, \ldots, x_n, k) $$

Interaction

Construction d'une carte d'attention à partir des deux textes
Intérêt = identification des termes communs

MatchPyramid

Utiliser les techniques de détection d'objets
  • Matrice d'interaction
  • Modèle de convolution 2D
Hu, B. et al.
2014. Convolutional Neural Network Architectures for Matching Natural Language Sentences.

ARC-II

Matrice d'interaction paramétrique
Hu, B. et al.
2014. Convolutional Neural Network Architectures for Matching Natural Language Sentences.

Modèle d'attention (aNMM)

Yang, L. et al.
2016. aNMM: Ranking Short Answer Texts with Attention-Based Neural Matching Model Ranking Short Answer Texts with Attention-Based Neural Matching Model.

A Deep Relevance Matching Model (DRMM)

Guo, J. et al.
2016. A Deep Relevance Matching Model for Ad-Hoc Retrieval.

Kernel Neural Relevance Model (KNRM)

Généralisation du DRMM
$$K_k(\underbrace{q_i \hat d}_{I_i}) = \exp\left( \frac{(I_{ij} - \mu_k)^2}{2\sigma_k^2} \right) $$ avec $\hat d \in \RR^{n\times \ell}$ et $q_i \in \RR^{n}$
Xiong, C. et al.
2017. End-to-End Neural Ad-Hoc Ranking with Kernel Pooling.

Textes courts: Re-ranking de réponses

Experiments: QA Trec Dataset

Severyn, A. and Moschitti, A.
2015. Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks.

Duet: Combiner local et global

Lissage thématique
Les modèles de langues $$p(q_i|d) = p_{ML}(q_i|d) + p_{\mathrm{topical}}(q_i | d)$$ où le second terme est plus "vague" (LDA, etc.)
Combinaison de deux modèles :
  1. (DSSM)
    Huang, P. et al.
    2013. Learning Deep Structured Semantic Models for Web Search Using Clickthrough Data.
  2. (MatchPyramid)
    Pang, L. et al.
    2016. Text Matching as Image Recognition.
Mitra, B. et al.
2017. Learning to Match Using Local and Distributed Representations of Text for Web Search.

Comment apprendre ?

Coûts

But: mesurer la différence entre l'objectif et le comportement

On calcule sur l'ensemble de la base d'apprentissage $\mathcal D$

$$ \sum_{x \in\mathcal X} \Delta(x, f_\theta(x)) $$ où $\Delta$ mesure l'erreur par rapport à la sortie désirée en fonction de la tâche.
$\mathcal X$ = ensemble d'apprentissage

Coûts : régression

L'ensemble d'apprentissage = paires entrée/sortie désirée $$ \mathcal D = \left\{ (x_i, \hat y_i) \right\} $$

Coût quadratique $$\Delta(f_\theta(d), \hat y) = \| y - \hat y\|^2$$

Applications : échelles ordinales

  • Score d'un document
  • Sentiment
  • ...

Coûts : classification

L'ensemble d'apprentissage = paires entrée / classe $c\in\{1, \ldots, k\}$ $$ \mathcal D = \left\{ (x_i, \hat c_i) \right\}_i $$

La fonction $f_\theta$ renvoie un vecteur $\mathbb R^k$, $$ f_\theta(x) = \left( p(c=1|x; \theta), \ldots, p(c=k|x;\theta) \right) $$

Coût cross-entropique $$ \Delta(f_\theta(x), \hat c) = \log p(c=\hat c | x; \theta) = \sum_{c} \Ind{c = \hat c} \log \left(f_\theta(x)\right)_{\hat c} $$

Applications

  • Classification de documents
  • Classification de sentiment
  • Extraction d'information
  • Coûts : Ordonnancement

    L'ensemble d'apprentissage = paires d'objet (ex. document) avec $x_+ \succ x_-$ $$ \mathcal D = \left\{ (x_i^+, x_i^-) \right\}_i $$ La fonction $f$ donne le score d'un objet

    Max-Margin
    max-margin loss $$ \Delta(f_\theta(x_+), f_\theta(x_-)) = \max\left\{0, 1 - (f_\theta(x_+) - f_\theta(x_-))\right\} $$
    Le minimum (0) est atteint si $$f_\theta(x_+) > f_\theta(x_-) + 1$$
    Attention Rank
    Coût défini pour une liste de documents $\approx$ mesure de RI
    La plus utilisée actuellement en LETOR / RI
    $$ \Delta(f, q, d_1, \ldots, d_n) = \sum_j R(q, d_j) \log \frac{\exp( f(q, d_j) )}{\sum_{k} \exp( f(q, d_{k}) )} $$

    Application

    • Apprendre à ordonner des documents, des relations, etc.

    Supervision Faible

    Beaucoup de données mais plus bruitées
    Actions des utilisateurs
    • Reformulation
    • Clics
    • ...
    Peu de données supervisées mais des modèles
    On a des questions - logs ou générées (ex. ancres)
    ... mais pas d'indication de pertinence
    Utilisons les "vieux" modèles !

    Conclusion

    Résultats en RI

    S = symmétrique, R = représentation, I = interaction
    Principaux résultats
    • BM25 fonctionne bien !
    • Plus de données = c'est mieux
    • Interactif et asymétrique
    Guo, J. et al.
    2019. A Deep Look into Neural Ranking Models for Information Retrieval.

    Résumé

    Différents cas d'usage en fonction des données disponible et de la granularité du traitement

    Données

    • On a plein de données représentation directe
    • On a peu de données interaction / approche indirecte

    Granularité

    • Fine (phrase) interaction/représentation, symétrique
    • Moyenne (passage) interaction/représentation, symétrique
    • Grande (document) interaction, asymétrique

    Nouveaux modèles en NLP: Bert

    Représentation contextuelle
    Chaque mot/unité est représentée dans son contexte
    Modèle d'attention propre (self-attention)
    Pas mal de trucs pratiques (multi-têtes, plusieurs couches, etc.)
    Devlin, J. et al.
    2018. BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding.
    Radford, A. et al.
    2018. Language Models Are Unsupervised Multitask Learners.

    Défis actuels

    Ordonnancement total

    se passer des modèles de RI ?

    Connaissances externes

    base de connaissances
    images

    Contexte & conversation

    Dialogue avec l'utilisateur

    Explicabilité

    Comment expliquer la prédiction ?